电子设计自动化基础-3.pptVIP

  • 3
  • 0
  • 约4.49千字
  • 约 36页
  • 2022-04-01 发布于四川
  • 举报
电子设计自动化基础-3 哈尔滨工业大学微电子中心 李晓明 * 哈尔滨工业大学微电子中心 内容 Verilog结构描述 模块调用与端口名对应方式 分级结构(层次式结构)与分级名 Verilog结构描述:门级描述 基本门级元件 基本门与连线延时表示 连线驱动强度 * 哈尔滨工业大学微电子中心 Verilog结构描述 电路描述 行为描述:侧重对模块行为功能的抽象描述 结构描述:侧重对模块内部结构实现的具体描述 门级描述:对由基本逻辑门(and、or…)互连而成的具有一定功能的电路模块的描述 结构描述:将上述逻辑门用一个个功能模块替换,就拓展到一般意义的结构描述 结构描述侧重对模块内部结构实现的具体描述 * 哈尔滨工业大学微电子中心 半加器为例 module half_adder (sum, cout, a, b); output sum, cout; input a, b; xor U0(sum, a, b); and U1(cout, a, b); endmoudle * 哈尔滨工业大学微电子中心 Verilog结构描述 模块调用 模块调用是Verilog结构描述的基本构成方式 通过调用其他模块来搭建新的模块 如果当前模块不再被其他模块调用,此模块即称作顶层模块 模块调用类型 基本门调用 module模块调用 * 哈尔滨工业大学微电子中心 Verilog结构描述 模块调用的基本形式: 模块名 调用名(端口名表项); 调用名是唯一的 模块调的端口名对应方式 位置对应 端口名对应:.定义时的端口名(调用时与之相连的信号名) 允许出现不连接的端口 * 哈尔滨工业大学微电子中心 Verilog结构描述 模块调用(元件例化) * 哈尔滨工业大学微电子中心 EX: module comp(out_port1, out_port2, in_port1, in_port2); output out_port1, out_port2; input in_port1, in_port2; …… endmodule //调用方式1:位置对应 module demo_top1; comp gate1(Q, R, J, K); endmodule //调用方式2:端口名对应 module demo_top2; comp gate2(.in_port2(K), .out_port1(Q), .out_port2(R), .in_port1(J)); endmodule //调用方式3:不连接端口 module demo_top3; comp gate3(Q, , J,K); endmodule * 哈尔滨工业大学微电子中心 Verilog结构描述 如果从逻辑电路图开始 给电路图每个输入输出引脚赋以端口名 给电路图每条内部连线取连线名 给电路图每个逻辑单元取单元名(调用名) 给本电路模块取模块名 用module定义相应模块名的结构描述,并将图中所有输入输出端口名列入端口名列表中,再完成对各端口输入输出类型说明 依照图中连接关系,确定单元之间端口信号连接 * 哈尔滨工业大学微电子中心 Verilog结构描述 注意: 对于位宽大于1位的内部连线,需补充相应连线类型说明 对于Verilog内含的基本门级元件调用,可以省略调用名,仿真系统在模拟过程中会给其自动赋予“基本门名$序列号”的缺省名 对于Verilog内含的基本门级元件调用,允许在调用同时给出门的延时参数和驱动强度 * 哈尔滨工业大学微电子中心 Verilog结构描述 例:全加器 //行为描述vs 结构描述 (b)门级 * 哈尔滨工业大学微电子中心 Verilog结构描述 (C)行为级 当a、b或cin逻辑状态发生变化,采用如下等式得到sum及cout: sum = a⊕b⊕c cout = ab+bc+ca * 哈尔滨工业大学微电子中心 Verilog结构描述 全加器行为描述实例: module fadder (sum, cout, a, b, cin); // -------- 端口声明 output sum, cout; input a, b, cin; // -------- 数据类型声明 reg sum, cout; // -------- 行为级描述 always (a or b or cin)//过程语句 begin //过程块 sum = a^b^cin; //过程赋值语句 cout = (ab)|(

文档评论(0)

1亿VIP精品文档

相关文档