verilog语言入门教程
2021-01-06 12:29
标签:out 逻辑 32位 case语句 分支 blog 语言 16进制 端口 转自https://www.cnblogs.com/jian-jia/archive/2019/11/24/11924371.html verilog语言入门教程 标签:out 逻辑 32位 case语句 分支 blog 语言 16进制 端口 原文地址:https://www.cnblogs.com/Andromeda-Galaxy/p/12977553.htmlmodule a(b, c, d,...z);//module: 模块头 a:模块名 (b,c,d,...z):端口列表
input b;//输入声明
input wire c;//输入声明线网类型用wire,wire可省略
input wire [7:0] d;//[7:0]:输入总线位宽0~7所以是8bit总线
output e;//输出声明
output [7:0] f;//输出总线位宽说明,默认为wire类型,此处省略wire
output reg [7:0] f;//输出总线寄存器类型用reg ...//为了篇幅小一些省略e~y的声明,实际代码中不可省略
assign d = a & b;//assign语句也叫数据流建模语句也叫连续赋值语句,后面接的是组合逻辑
assign e = (f 1 : 0;//三目运算符
always @ (posedge a or negedge b or posedge c...)//always语句,posedge为上升沿触发,negedge为下降沿触发,后面接信号表示当这个信号上升沿或下降沿时执行下面的程序
begin //begin...end 相当于()
if(!b)//if语句
begin
h 4‘b0000;//非阻塞赋值语句用‘b0000表示位宽为4,二进制表示的数0000
i 32‘haabbccdd;//此处表示32位宽,16进制表示的数aabbccdd
end
else//else表示分支
case(j)//case语句
0 : k 1‘b1;//verilog中没有自加的表示,所以用k = k + 1‘b1
1 : if(k