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

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

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
查看: 4359|回复: 15

[原创] 请教两组代码的区别,哪组的风格好?

[复制链接]
发表于 2012-8-1 20:25:26 | 显示全部楼层 |阅读模式

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

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

x
请教阻塞赋值和非阻塞赋值的硬件实现,哪组代码的风格好?


代码1
always @ (posedge i_clk or negedge i_rst_n)
if (~i_rst_n)
        o_drr_wr                <=  #1   1'b1             ;
else
case (i_im)
    3'b000:   
        o_drr_wr                <=  #1   i_drr_wr_spi     ;
    3'b001:
        o_drr_wr                <=  #1   i_drr_wr_pi      ;
    default:
        o_drr_wr                <=  #1   1'b1             ;
endcase

代码2
always @ (*)
case (i_im)
    3'b000: //spi output  
        o_drr_wr                =   i_drr_wr_spi     ;
    3'b001: //pi output
        o_drr_wr                =   i_drr_wr_pi      ;
    default:
        o_drr_wr                =   1'b1             ;
endcase
发表于 2012-8-1 20:42:48 | 显示全部楼层
Thanks very much
发表于 2012-8-1 20:49:01 | 显示全部楼层
一个是时序逻辑,一个是组合逻辑,有什么比较性啊
 楼主| 发表于 2012-8-1 23:03:30 | 显示全部楼层
回复 3# fuyaolong


   可以考虑电气特性啦,硬件实现啦
发表于 2012-8-2 11:19:03 | 显示全部楼层
看你具体的电路实现了,一个时序逻辑,一个组合逻辑
发表于 2012-8-2 14:07:32 | 显示全部楼层
没法比较,根据具体应用场合来定。
 楼主| 发表于 2012-8-2 17:59:54 | 显示全部楼层
回复 5# lantern5566

这两种代码设计的变量   o_drr_wr  都设定为reg类型

时序逻辑, 我可以理解o_drr_wr
为一个寄存器,在时钟的上升沿取值
但是组合逻辑,怎么理解,o_drr_wr还是一个寄存器么?
 楼主| 发表于 2012-8-2 18:00:40 | 显示全部楼层
回复 6# falloutmx


   
上面这两种代码涉及的变量

o_drr_wr  都设定为reg类型

时序逻辑, 我可以理解o_drr_wr
为一个寄存器,在时钟的上升沿取值
但是组合逻辑,怎么理解,o_drr_wr还是一个寄存器么?
 楼主| 发表于 2012-8-2 18:01:57 | 显示全部楼层
回复 3# fuyaolong


   
这两种代码涉及的变量

o_drr_wr  都设定为reg类型

时序逻辑, 我可以理解o_drr_wr
为一个寄存器,在时钟的上升沿取值
但是组合逻辑,怎么理解,o_drr_wr在电路中还是一个寄存器么?
发表于 2012-8-2 22:21:19 | 显示全部楼层
你不是上面有always @*吗?
任何输入一变,输出立刻就会作出反应,这不就是组合逻辑吗?
和你verilog语言用的reg还是wire没有关系。
reg和wire都可以描述组合电路,只是方法不同。
case语句的default放x比较好,有利于x的传播,有利于bug发现,有利于前后仿一致。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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

×

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

GMT+8, 2024-5-19 06:12 , Processed in 0.031917 second(s), 9 queries , Gzip On, Redis On.

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