在模块内用到的和与端口有关的wire和reg变量的声明,如下所示:
reg [width-1 : 0] R变量1,R变量2 …;
wire [width-1 : 0] W变量1,W变量2 …;
模块中最重要的部分是逻辑功能定义部分,有3种方法可在模块中产生逻辑。
(1)用“assign”声明语句。
assign a = b & c;
这种方法的句法很简单,只需写一个“assign”,后面再加一个方程式即可。例子中的方程式描述了一个有两个输入的与门。
(2)用实例元件。
and and_inst( q, a, b );
采用实例元件的方法在电路图输入方式下,调入库元件。键入元件的名字和相连的引脚即可,表示在设计中用到一个跟与门(and)一样的名为and_inst的与门,其输入端为a、b,输出为q。要求每个实例元件的名字必须是惟一的,以避免与其他调用与门(and)的实例混淆。
(3)用“always”块。
always @(posedge clk or posedge clr) begin //时钟上升沿触发,异步清零
if(clr) q <= 0; //清零
else if(en) q <= d; //使能赋值
end
上一页 [1] [2] [3] [4] [5] [6] [7] 下一页
本文关键字:程序 电脑-单片机-自动控制,电子学习 - 基础知识 - 电脑-单片机-自动控制