随笔分类 - verilog实例
摘要:常用计数器的verilog实现(binary、gray、one-hot、LFSR、环形、扭环形)
阅读全文
摘要:2013-06-14 21:39:56简单ALU(算术逻辑单元)的verilog实现,可实现两数相加、相减,或一个数的加1、减1操作。小结:要学会看RTL图,能够根据RTL图大致判断功能的正确性代码: 1 module alu_add_sub( 2 rst_n, 3 clk, 4 oper_cmd, 5 oper_data, 6 dout 7 ...
阅读全文
摘要:2013-06-14 16:49:12简单时序逻辑电路的verilog实现,包括D触发器、JK触发器、锁存器、寄存器、简单时序逻辑电路的实现D触发器(带有同步复位、置位或者异步复位、置位)RTL描述: 1 module dff( 2 clk, 3 rst_n, 4 set_n, 5 din, 6 q, 7 q_n 8 ); 9 input clk;10 input...
阅读全文
摘要:2013-06-14 15:20:28简单组合逻辑电路的verilog实现,包括三态门、3-8译码器、8-3优先编码器、8bit奇偶校验器,测试功能正确、可综合。小结:assign与always都可实现组合逻辑,有什么区别?组合逻辑用数据流描述(一般将用assign描述的称为数据流描述)或者RTL描述(一般将用always描述的称为数据流描述)都可以实现;当组合逻辑较为简单时(如用一句话就可以实现的求反、求和assign sum = a + b; assign dout = ~din;等),用assign比较方便;若组合逻辑比较复杂,则用always比较合适。组合逻辑用always实现时,敏感
阅读全文
摘要:并行乘法器,也就是用乘法运算符实现,下面的代码实现8bit无符号数的乘法。代码: 1 module mult_parrell(rst_n, 2 clk, 3 a, 4 b, 5 p 6 ); 7 parameter DATA_SIZE = 8; 8 ...
阅读全文
摘要:总结:从下面的Timing summary来看,流水线的频率最高、并行加法器次之,串行进位加法器再次,超前进位加法器最慢。按理论,超前进位加法器应该比串行进位加法器快,此处为何出现这种情况,原因未知。并行加法器因为使用加法符号实现的,从RTL图上也可以看到,具体是用加法器实现的,这个加法器是经过优化的,因此速度比较快。流水线因为减小了组合逻辑的延时,因此可以达到较高的运行频率(注意运行速度与响应速度是不同的概念)。具体是通过缓存中间结果,从而分割组合逻辑实现流水线的。相应地,串行进位加法器组合逻辑时延较大,因此速度较慢。资源占用因为涉及到不同类型资源的比较,不较复杂,此处不再分析。注意几点:有
阅读全文
摘要:自动售饮料机的verilog实现
阅读全文
摘要:用状态机实现交通灯控制器,仿真通过,有代码以及testbench。
阅读全文
摘要:数字频率计的verilog实现,输入时钟为1Hz的标准时钟。 1 module frequency_meter(rst_n, 2 clk, 3 //count_en, 4 test_clk, 5 count_clr, 6 freq_load, 7 ...
阅读全文
摘要:数字跑表的verilog实现,用rst_n复位后开始计时,用pause暂停,输出为分、秒、百分秒的BCD码。
阅读全文