Verilog的结构化描述形式
在VerilogHDL中可使用如下方式描述结构:
1)内置门原语(在门级);
2)开关级原语(在级);
3)用户定义的原语(在门级);
4)模块实例(创建层次结构)。
在这一实例中,模块包含门的实例语句,也就是说包含内置门xor、and和or的实例语句。门实例由线网类型变量S1、T1、T2和T3互连。由于没有指定的顺序,门实例语句可以以任何顺序出现;图中显示了纯结构;xor、and和or是内置门原语;X1、X2、A1等是实例名称。紧跟在每个门后的信号列表是它的互连;列表中的第一个是门输出,余下的是输入。例如,S1与xor门实例X1的输出连接,而A和B与实例X1的输入连接。
4位全加器可以使用4个1位全加器模块描述,描述的逻辑图如图2-6所示。下面是4位全加器的结构描述形式。
- moduleFourBitFA(FA,FB,FCin,FSum,FCout);
- parameterSIZE=4;
- input[SIZE:1]FA,FB;
- output[SIZE:1]FSum
- inputFCin;
- inputFCout;
- wire[1:SIZE-1]FTemp;
- FA_Str
- FA1(.A(FA[1]),.B(FB[1]),.Cin(FCin),
- .Sum(FSum[1]),.Cout(FTemp[2])),
- FA2(.A(FA[2]),.B(FB[2]),.Cin(FTemp[1]),
- .Sum(FSum[2]),.Cout(FTemp[2])),
- FA3(FA[3],FB[3],FTemp[2],FSum[3],FTemp[3],
- FA4(FA[4],FB[4],FTemp[3],FSum[4],FCout);
- endmodule
在这一实例中,模块实例用于建模4位全加器。在模块实例语句中,端口可以与名称或位置关联。前两个实例FA1和FA2使用命名关联方式,也就是说,端口的名称和它连接的线网被显式描述(每一个的形式都为“.port_name(net_name))。最后两个实例语句,实例FA3和FA4使用位置关联方式将端口与线网关联。这里关联的顺序很重要,例如,在实例FA4中,第一个FA[4]与FA_Str的端口A连接,第二个FB[4]与FA_Str的端口B连接,余下的由此类推。
图2-6 4位全加器
- 上一篇:Verilog-混合设计描述方式
- 下一篇:Verilog-always语句