
HDLbits笔记
文章平均质量分 81
青春不常在,
思路决定出路
展开
-
HDLbits笔记-Finite State Machines
这一模块中前面的相对简单,所以没有进行记录。主要注意同步复位还是异步复位即可,具体关于同步复位和异步复位的比较请见之前的博客链接: 同步复位异步复位的比较.Fsm3题目:实现以下状态的转换。注意异步复位。。。module top_module( input clk, input in, input areset, output out); // reg [1:0] state,next_state; parameter A = 2'b00;原创 2021-04-20 22:22:54 · 407 阅读 · 0 评论 -
HDLbits笔记-More Circuits
Rule90题目:Rule 90是一个一维的有趣的元胞自动机。规则很简单,在每一个时间步长,每一个元胞的下一个状态为与这个元胞相邻两个元胞的异或。规则如下表:module top_module( input clk, input load, input [511:0] data, output [511:0] q ); integer i; always@(posedge clk)begin if(load)原创 2021-04-18 23:07:13 · 456 阅读 · 2 评论 -
HDLbits笔记-Shift Registers
4-bit shift register题目:设计一个4-bit移位寄存器(右移),采用异步复位,同步load,enable模式。(1)复位后,移位寄存器输出0;(2)load为高电平,将data[3:0]数据load进移位寄存器;(3)ena为高电平,移位寄存器右移一位;(4)q作为移位寄存器的输出;如果load和ena信号同时有效,load信号优先级较高。module top_module( input clk, input areset, // async active原创 2021-04-13 19:45:02 · 626 阅读 · 0 评论 -
HDLbits笔记-Counters
Counter 1-12题目:使用下面的输出设计一个1-12的计数器。1、Reset 同步高电平复位,复位之后计数器为1;2、Enable为高电平计数器开始运行;3、Clk 上升沿有效;4、Q[3:0]作为计数器的输出;5、c_enable,c_load,c_d[3:0] 由4-bit计数器提供的控制信号,这样可以验证操作的正确性;你可以使用下面的组件:4-bit计数器,带有Enable使能和同步parallel-load输入的信号。(load的优先级要高于enable)。这个count4模原创 2021-04-10 19:55:13 · 596 阅读 · 0 评论 -
HDLbits笔记-Lathes and Flip-flops
Lathes and Flip-flops题目:生成一个8-bit的具有同步复位功能的D触发器。要求所有的DFFs应该在时钟的上升沿触发。module top_module ( input clk, input reset, // Synchronous reset input [7:0] d, output [7:0] q); always@(posedge clk )begin if(reset)原创 2021-04-05 09:45:40 · 483 阅读 · 0 评论 -
HDLbits做题笔记-Arithmetic Circuits
Arithmetic Circuits3-bit binary add使用3个全加器的实例来创建一个3位二进制加法器。这个加法器添加了3bits的数和一个进位来产生3bits的求和结果和进位。分析,由全加器真值表可以得到逻辑表达式。module top_module( input [2:0] a, b, input cin, output [2:0] cout, output [2:0] sum ); integer i; always@(*)be原创 2021-04-02 22:09:39 · 335 阅读 · 0 评论