专注收集记录技术开发学习笔记、技术难点、解决方案
网站信息搜索 >> 请输入关键词:
您当前的位置: 首页 > 硬件开发

关于Verilog的output,应该是reg型,还是wire型?该怎么处理

发布时间:2010-06-13 21:41:10 文章来源:www.iduyao.cn 采编人员:星星草
关于Verilog的output,应该是reg型,还是wire型?
module d_ff (
  clk,
  rst_n,
  datain,
  dataout
  );
  input clk;
  input rst_n;
  input datain;
  ouput dataout;
  reg dataout;
  always @ (posedge clk)
  begin
  if (!rst_n)
  dataout <= 1'b0;
  else
  dataout <= datain;
  end
endmodule



请问:
  if (!rst_n)
  dataout <= 1'b0;
  else
  dataout <= datain;
这里的dataout到底用的是哪个?是reg吗?
  ouput dataout;
  reg dataout;
这俩变量啥关系?必须名字一样吗?


我在http://topic.csdn.net/u/20100319/13/b332a0fd-72a1-4d0d-8100-48a18e5714b0.html?51562这个帖子里面发的代码有下面两句,把output型的 seg和sl连接到了reg型的seg_reg和sl_reg上面,前一个例子怎么不用呢???好奇怪
assign seg=seg_reg; //输出数码管译码结果
assign sl=sl_reg; //输出数码管选择

------解决方案--------------------
楼主不看教程么。。。
inout input 和output可以指定为reg型或者wire型,
例如reg型只能再initial和always语句中使用。。。。等等。。
------解决方案--------------------
个人认为,verilog中的wire 和 reg 类型,纯粹是语法上的定义,和实际的硬件电路没有太大关系。只要记住;凡是begin。。。end 或者 fork。。。join中的变量,通通都是reg型变量,initial和always中的变量也都是reg,在可综合代码风格中,其他的基本上就是wire型了。一般默认为wire类型
友情提示:
信息收集于互联网,如果您发现错误或造成侵权,请及时通知本站更正或删除,具体联系方式见页面底部联系我们,谢谢。

其他相似内容:

热门推荐: