赞
踩
Veriog中二选一MUX推荐写法:
- always @(a, b, sel)
- if (sel == 1'b1)
- z = a;
- else z = b;
MUX为组合逻辑,用always来描述的时候,敏感变量列表中要包含在块中出现的所有变量,如上面代码中的 “ a,b,sel ”,如果不包含 sel ,则代表了一个抽象意义上的锁存器,它锁存的是选择信号,而不是输入值。
本文引用自:https://blog.csdn.net/llxxyy507/article/details/82811992
Verilog中D锁存器的推荐写法:
- always @ (D, sel)
- if (sel == 1'b1)
- Q = D;
上面的代码中,if 和 else 没有配对,系统综合的时候会默认在 sel == 1'b0 的情况下,输出是不变的 ,即 Q = Qn ,故上面的代码会被综合成D锁存器,sel 作为 D 锁存器的使能端。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。