在线咨询
eetop公众号 创芯大讲堂 创芯人才网
切换到宽版

EETOP 创芯网论坛 (原名:电子顶级开发网)

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
查看: 4404|回复: 12

这样的代码风格好吗?

[复制链接]
发表于 2008-9-28 14:18:10 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?注册

x
大虾好:

我这样写代码好吗?

我经常需要保持某个寄存器的状态,所以这样写程序

[email=always@(posedge]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;

这样做是不是会有锁存器被综合产生呢?
这样的代码风格好吗?
如果这样写不好,要实现我的用途,应该怎么写呢?

谢谢!大虾!!!
发表于 2008-9-28 16:14:55 | 显示全部楼层
肯定没有锁存qi
发表于 2008-9-28 16:35:31 | 显示全部楼层
为什么不自己综合一把呢
发表于 2008-9-28 18:40:20 | 显示全部楼层
DDDDDDD
发表于 2008-9-29 00:55:22 | 显示全部楼层
OK 吧....
发表于 2008-9-29 09:43:28 | 显示全部楼层
学习中 !!!!!!!!!!
发表于 2008-10-1 08:12:17 | 显示全部楼层
這樣的寫法沒有問題
发表于 2008-10-1 22:49:48 | 显示全部楼层
个人觉的那样写没有错,其实跟下面的代码是等价的.

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的条件分支写不写无所谓!
发表于 2008-10-2 06:44:44 | 显示全部楼层
同意LS的,如果敏感列表里都写清楚了的话,后面不写else也能生成,因为else后面的动作是默认的。

感觉LZ问的很不清楚说...
 楼主| 发表于 2008-10-6 09:42:06 | 显示全部楼层
多谢大家回答,

我主要是担心如果不写else,判断条件不写全,可能会生成锁存器。

我自己综合一下看看,谢谢大家。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

站长推荐 上一条 /1 下一条

小黑屋| 手机版| 关于我们| 联系我们| 在线咨询| 隐私声明| EETOP 创芯网
( 京ICP备:10050787号 京公网安备:11010502037710 )

GMT+8, 2024-11-16 16:35 , Processed in 0.036948 second(s), 8 queries , Gzip On, Redis On.

eetop公众号 创芯大讲堂 创芯人才网
快速回复 返回顶部 返回列表