2013年10月8日

异步FIFO及verilog原码

摘要: 这几天看了Clifford E. Cummings的两篇大作《Simulation and Synthesis Techniques for Asynchronous FIFO Design》and 《Simulation and Synthesis Techniques for Asynchronous FIFO Design with Asynchronous Pointer Comparisons》颇有感想,真可谓经典之作,不可错过。1.什么是FIFO?FIFO是英文First In First Out 的缩写,是一种先进先出的数据缓存器,他与普通存储器的区别是没有外部读写地址线,这样. 阅读全文

posted @ 2013-10-08 17:29 略过天涯 阅读(610) 评论(0) 推荐(1) 编辑

FIFO的设计与仿真

摘要: 本设计参照齐威王大哥的设计,采用模块化的设计方法,每个模块简单易懂,并进行了每个模块的仿真。最后进行顶层设计,编写了测试激励在modisim上仿真正确,下面给出代码和测试激励,附上一篇比较好的英文文献。 1 module yibu_fifo(wclk,wreset,wdata,wena,rclk,rena,rdata,rreset,full,empty); 2 parameter DSIZE = 8, 3 ASIZE = 4; 4 input wclk,wreset,rclk,rreset; 5 input wena,rena; //写控制信号 读控制信号 6 i... 阅读全文

posted @ 2013-10-08 17:26 略过天涯 阅读(780) 评论(0) 推荐(1) 编辑

自然二进制与格雷码的转换

摘要: 自然二进制:Bn-1Bn-2….B2B1B0格雷码:Gn-1Gn-2…G2G1G0自然二进制转格雷码公式: Gi= Bi,i = n-1 Gi= Bixor Bi+1,i = 0:n-2格雷码转自然二进制:Bi= Gi,i = n-1 Bi-1= Gi-1xor Bi,i = 1:n-1 一般的,普通二进制码与格雷码可以按以下方法互相转换: 二进制码->格雷码(编码):从最右边一位起,依次将每一位与左边一位异或(XOR)(http://bk.7tmusic.com/lemma-php/dispose/view.php/379209.htm),作为对应格雷码该位的值,最左边一位不变(相当于 阅读全文

posted @ 2013-10-08 14:26 略过天涯 阅读(892) 评论(0) 推荐(1) 编辑

状态机小结

摘要: 需从功能,性能,稳定,资源等方面权衡状态机。1代码结构 三段式将组合逻辑和时序逻辑分开,利于综合器分析优化和程序维护,但需注意三段式思维陷阱;2状态编码one-hot编码始终只有一位变化,组合反馈资源少,具有最高的速度和较强的抗干扰性能,可以提高设计的工作速度,且索引式one-hot比非索引式one-hot节省资源。3安全one-hot状态机异步复位时,由于有些状态位跳出复位状态,而其它状态位没有,那么就会有多于一个状态位被置高(即有效),这样这个状态机就会进入非法状态。如果使用二进制编码状态机,它可以创建未使用的状态来过渡到复位状态,这使得其成为一个确定性的状态机。这样就允许一个非法的或者闲 阅读全文

posted @ 2013-10-08 09:52 略过天涯 阅读(297) 评论(0) 推荐(1) 编辑

导航