首页 > 代码库 > Verilog 基础回顾 (一)
Verilog 基础回顾 (一)
Verilog 大小写敏感, 且所有关键字都是小写
1 寄存器
register = storage,是数据存储单元的抽象,可视为能够存储数值的变量 (variable that can hold value)
关键字 reg; 缺省值 x;
2 网络连接
net = connection, 表示寄存器之间的连接,只能采用连续赋值 (must be driven continuously)
关键字 wire; 缺省值 z;
例 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;endendmodule
例 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;endendmodule
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) 阻塞赋值 ("=")
execute sequential
2) 非阻塞赋值 ("<=")
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};endassign data_out = data_sync[1];
Verilog 基础回顾 (一)
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。