结构化建模
将硬件电路描述成一个分级子模块系统,通过组曾调用子模块构成功能复杂的
(1)模块实例语句
基本语法:模块名<参数值列表><实例名>(端口关联列表)
参数值列表:可选项,将参数值传递给被吊桶的模块实例。如,被调用模块的parameter参数可在实例化时被修改
两种关联方式:
-
端口位置关联:(信号名与端口列表位置对应)
-
端口名称关联:( .端口名(信号名))
表达式只能连接到输入端口,且存在隐形的赋值关系,位宽不匹配时则可能有高位截断或补零
(2)门实例语句
语法格式: 门类型关键词<实例名>(端口列表):
e.g. and (out ,in1, in2)
and 与门 or 或门 nand与非门 nor或非门 xnor同或门 xor异或门 not反相器
Attention:同一级代码是并行执行
全加器:
module fullAdder(a,b,cin,sum,cout);
input a,b,cin;
output sum,cout;
wire S1,T1,T2;
xor X1(S1,a,b);
and A1(T1,a,b);
A2(T2,S1,cin);
endmodule
数据流建模
利用assign制定表达式驱动线网(wire型),是描述数据在寄存器之间的流动和处理过程的一种建模方式,主要用于组合逻辑电路设计
assign sum=a^b^cin;
assign cout=(a&b)|(cin&am