微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 嵌入式设计讨论 > FPGA,CPLD和ASIC > 这样的代码风格好吗?

这样的代码风格好吗?

时间: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;
这样做是不是会有锁存器被综合产生呢?
这样的代码风格好吗?
如果这样写不好,要实现我的用途,应该怎么写呢?
谢谢!大虾!

肯定没有锁存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!

谢谢分享

上一篇:debussy在哪
下一篇:高手解惑

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top