例1:加法器。
module adder ( count,sum,a,b,cin ); //加法器模块端口声明
input [2:0] a,b; //端口说明
input cin;
output count;
output [2:0] sum;
assign {count,sum} = a + b + cin; //加法器算法实现
endmodule
这个例子通过连续赋值语句描述了一个名为adder的三位加法器可以根据两个三比特数a、b和进位(cin)计算出和(sum)和进位(count)。从例子中可以看出整个Verilog HDL程序是嵌套在module和endmodule声明语句里的。
例2:比较器。
module compare ( equal,a,b ); //比较器模块端口声明
output equal; //输出信号equal
input [1:0] a,b; //输入信号a、b
assign equal=(a==b)?1:0; //如果a、b 两个输入信号相等,输出为1,否则为0
endmodule
这个程序通过连续赋值语句描述了一个名为compare的比较器。对两比特数a、b进行比较,如a与b相等,则输出equal为高电平,否则为低电平。在这个程序中,“/*........*/”和“//.........”表示注释部分,注释只是为了方便程序员理解程序,对编译是不起作用的。
上一页 [1] [2] [3] [4] [5] [6] [7] 下一页
本文关键字:程序 电脑-单片机-自动控制,电子学习 - 基础知识 - 电脑-单片机-自动控制