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

Verilog (1) assignment, register and net

发布时间:2011-06-30 07:18:33 文章来源:www.iduyao.cn 采编人员:星星草
Verilog (一) assignment, register and net

Verilog 区分大小写, 且所有关键字都是小写

1  register = storage

    keyword reg;  default x;  variable that can hold value

2  net = connection

    keyword wire;  default z;  be driven continuously

例 1)  D 触发器 (同步复位)

module  dff(clk, rst, d, q);  //dff with syn reset
  input  clk,  rst,  d;
  output  q;
  reg  q;

always @(posedge clk)
begin
  if (rst)
      q <= 1'b0;
   else 
      q <= d;
end

endmodule
DFF with syn reset

例 2)  D 触发器 (异步复位)

module  dff(clk, rst, d, q); // dff with asyn reset
  input  clk,  rst,  d;
  output  q;
  reg  q;

always @(posedge clk or posedge rst)
begin
  if (rst)
      q <= 1'b0;
  else 
      q <= d;
end

endmodule 
DFF with asyn reset

3  continuous assignment  

assign  data_left  =  data_right;  // right drive left(net)

例 3)  mux

assign  data_out  =  select ? data_in1 : data_in0;

4  procedural assignment

1)  blocking ("=")

     execute sequential

2)  nonblocking ("<=")

     read (right)  -> schedule (left) ->  execute (<=)

例 4)  synchronizer

reg  [1:0]  data_sync;

always @ (posedge clk or posedge rst)
begin
  if (rst)
        data_sync  <=  2'b00;
  else
        data_sync  <= {data_sync[0], data_in};
end

assign  data_out  =  data_sync[1];

synchronizer
synchronizer
友情提示:
信息收集于互联网,如果您发现错误或造成侵权,请及时通知本站更正或删除,具体联系方式见页面底部联系我们,谢谢。

其他相似内容:

热门推荐: