关于assign
用assign如何实现,或者说用assign能实现吗?
assign a=(b==1)? c :a;
这样综合出来的是一个反馈电路,会有风险吧,,有神马好的方法不
一根电线不会有保存值的能力。
如果要保存值的话,必须要时序逻辑
加一个寄存器吧
如果你真的不想综合出来一个寄存器的话,可以用一个latch,但是也必须设reg a。
reg a;
always @ ( *)
begin
if(b)
a= c ;
end
那综合出来的那个反馈电路是传说中的异步反馈吗?
兄弟,你这写出来是latch啊,这可不是小编想要的。
1. Make sure what function do you want.
2. Draw a waveform for you idea
3. Use simple gate logic to build the gate.
4. Then you know what it is.
RTL design is different between software programming. It is not like you read some book about the HDL language than you can use it to build circuit. You have to understand the circuit before you start coding.
典型的锁存器。
1楼的和6楼的写法不同,但综合出来是一样的,都是一个锁存器,而这也正是小编所要的。
1楼综合出来的不是锁存器,是一个带反馈的组合电路。
我用quartus ii试过了,综合出来就是一个锁存器。
你描述的功能要求也是要一个锁存器。
这个只用一根线不行…没有寄存器没办法保存啊
wire a;
wire b;
wire c;
assign a=(b==1)?c:a;
的综合结果。

