always和assign语法区别

打印 上一主题 下一主题

主题 1060|帖子 1060|积分 3180

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

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

x
always语句可以带时钟, 也可以不带时钟。
一,assign和always区别
assign 语句使用时不能带时钟。
assign  a=1;
assign b=2;
在always不带时钟时,逻辑功能和assign完全一致,都是只产生组合逻辑。比较简朴的组合逻辑推荐使用assign语句,比较复杂的组合逻辑推荐使用 always语句。
always @(*)
begin
      a=1;
      b=2;
end
二,带时钟的always和不带时钟的always  区别
在always不带时钟时,逻辑功能和assign完全一致,虽然产生的信号界说还是reg类型,但是该语句产生的还是组合逻辑。
  1. reg [3:0] led;
  2. always @(*)
  3. begin
  4.    case (led_ctrl_cnt)
  5.         2'd0 : led = 4'b0001;
  6.         2'd1 : led = 4'b0010;
  7.         2'd2 : led = 4'b0100;
  8.         2'd3 : led = 4'b1000;
  9.        default : led = 4'b0000;
  10.        endcase
  11. end
复制代码
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

尚未崩坏

论坛元老
这个人很懒什么都没写!
快速回复 返回顶部 返回列表