原创 SDHC控制器代码移植日记一(SD_CRC_7)

2010-7-5 22:05 3162 9 9 分类: FPGA/CPLD

SDHC控制器代码移植日记一(SD_CRC_7


         题记:opencores是个不可多得的开源好网站,虽然很多时候并不是download下来的代码就直接能用,但是能够多参考前人的努力成果,并且消化后转化为自己的东西能很大程度上加速工程项目的开发。从他人的代码里也能够学到很多设计的精髓,也很有助于自身水平的提高,并且这个提高是立竿见影的。特权同学最近在移植一个SDHC卡控制器,解读他人代码的过程是很痛苦的,但是从这几天解读的过程中感觉收获颇丰,能够在这个过程中提升自己,就凭这一点就足以让我鼓起勇气坚持下去。


         未来一段时间的博文里会慢慢的来分析这些代码,可能不会上传整理过的源码(大家可以到opencores下载源码),但是会从整体功能、接口时序等方面入手来分析这份代码。感兴趣的朋友可以从今天这篇最简单的SD_CRC_7模块解读开始,和特权同学一起进入SDHC控制器的代码移植之旅。


<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />

 


2 SD_CRC_7模块


2.1 功能原理图


<?xml:namespace prefix = v ns = "urn:schemas-microsoft-com:vml" />


点击看大图


图1


2.2 接口定义与说明:


     //系统信号,时钟和复位


input CLK;    //输入时钟信号


input RST;     //CRC7模块复位信号,高有效                      


     //功能实现信号              


input BITVAL;       //CRC7下一个输入bit


input Enable;        //CRC7校验功能使能信号


output reg [6:0] CRC;  //输出的校验结果


2.3 接口功能描述


         BITVAL为图2data_in信号,CRC为图2data_out信号。当Enable信号有效(高电平)后,每个时钟的上升沿锁存一次BITVAL数据,40个时钟周期后,Enable信号撤销(低电平),此时的CRC[6:0]值即40bit数据对应的CRC7校验值。


 


 

文章评论0条评论)

登录后参与讨论
我要评论
0
9
关闭 站长推荐上一条 /2 下一条