这样的代码风格好吗?
时间:10-02
整理:3721RD
点击:
大虾好:
我这样写代码好吗?
我经常需要保持某个寄存器的状态,所以这样写程序
always@(posedge[/email] xclk or negedge xreset_b)
if(!xreset_b)
write_working_fifo <= FIFO1;
else if(write_trans_finish)
write_working_fifo <= read_working_fifo;
else
write_working_fifo <= write_working_fifo;
这样做是不是会有锁存器被综合产生呢?
这样的代码风格好吗?
如果这样写不好,要实现我的用途,应该怎么写呢?
谢谢!大虾!
我这样写代码好吗?
我经常需要保持某个寄存器的状态,所以这样写程序
always@(posedge[/email] xclk or negedge xreset_b)
if(!xreset_b)
write_working_fifo <= FIFO1;
else if(write_trans_finish)
write_working_fifo <= read_working_fifo;
else
write_working_fifo <= write_working_fifo;
这样做是不是会有锁存器被综合产生呢?
这样的代码风格好吗?
如果这样写不好,要实现我的用途,应该怎么写呢?
谢谢!大虾!
肯定没有锁存qi
为什么不自己综合一把呢
DDDDDDD
OK 吧....
学习中 !
這樣的寫法沒有問題
个人觉的那样写没有错,其实跟下面的代码是等价的.
always @(posedege xclk or negedge xreset_b)
if(!xreset_b)
write_working_fifo <= FIFO1;
else if(write_trans_finish)
write_working_fifo <= read_working_fifo;
你的本意是不是:除了复位和trans_finish条件外的其他情况下,寄存器保持原值?如果是那样,最后一个else的条件分支写不写无所谓!
同意LS的,如果敏感列表里都写清楚了的话,后面不写else也能生成,因为else后面的动作是默认的。
感觉LZ问的很不清楚说...
多谢大家回答,
我主要是担心如果不写else,判断条件不写全,可能会生成锁存器。
我自己综合一下看看,谢谢大家。
大家好,我综合了一下,无论有无最后的else语句都不会产生锁存器
对于时序电路,即使最后不加else语句,一般也不会产生锁存器。
但是对于组合逻辑电路,则必须保证else的完整,否则会生成锁存器。
bucuo!
谢谢分享
