- 博客(3)
- 收藏
- 关注
原创 HDLBits学习记录(circuits)
要实现边沿检测,最直接的想法是用两级寄存器,第二级寄存器锁存住某个时钟上升沿到来时的输入电平,第一级寄存器锁存住下一个时钟沿到来时的输入电平,如果这两个寄存器锁存住的电平信号不同,就说明检测到了边沿,具体是上升沿还是下降沿可以通过组合逻辑来实现。对于数字 [3:1],还输出一个使能信号,指示个位,十位,百位何时应加1。出现这个错误的原因是:代码中的组合逻辑存在回环,也就是说对敏感列表中的变量进行赋值,造成回环,在仿真的时候modelsim对电路中的回环不断迭代,直到超出了迭代界限。时,会发生有符号溢出。
2023-09-21 21:06:53
50
1
原创 HDLBits学习记录(verilog language)
verilog规定,always@(*)中的*是指该always块内的所有输入信号的变化为敏感列表,也就是仿真时只有当always@(*)块内的输入信号产生变化,该块内描述的信号才会产生变化,而像always@(*) b = 1'b0 这种写法由于1'b0一直没有变化,所以b的信号状态一直没有改变,由于b是组合逻辑输出,所以。assign out = ~{5{a}}^{a,b,c,d,e}} 来表示五个a和abcde分别同或。case(1)//对比各位是否为1 所以1是case里的值。integer i;
2023-09-04 11:17:43
44
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人