- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
School of Microelectronics Xidian University School of Microelectronics Xidian University 实验35 数字集成电路的Verilog描述与仿真 实验目的和意义 ☆硬件描述语言仿真分析是数字集成电路设计的重要手段之一 ☆场效应器件物理、数字集成电路设计等理论课程的重要实践 ☆培养和提高数字集成电路语言描述与仿真分析能力 ☆强化理论联系实际和灵活应用所学知识的能力 ☆完成电路功能理解、语言描述、模拟分析、时序验证 module 模块名(端口列表) 端口说明(input, output, inout) 参数定义 数据类型定义 连续赋值语句(assign) 过程块(initial和always) 行为描述语句 底层模块实例 任务和函数 延时说明块 endmodule Verilog HDL模块描述方式 ☆ Verilog模块代表硬件上的逻辑实体 范围可以从简单的门到整个电路系统 模块描述方式有行为描述、结构描述两种描述方式 ☆行为描述 采用与高级语言类似的方式,通过行为语言实现 具有很强的通用性和有效性 可以使用initial和always过程语句结构描述 ☆结构描述 采用预定义的基本元件实例进行描述 通过监控实例的输入,任何一个发生变化,便重新运算并输出 Verilog HDL模块描述方式 ☆行为描述实例 ☆结构描述实例 Verilog HDL模块描述实例 module adder(a, b, sum, cout); input a, b; output sum, cout; always @ (a or b) begin sum=a^b; cout=ab; end endmodule module adder(a, b, sum, cout); input a, b; output sum, cout; wire w1; xor xor1(a, b, sum); nand nand1(a, b, w1); not not1(w1, cout); endmodule ☆测试模块编写 规则波形测试模块描述 不规则波形测试模块描述 Verilog HDL测试模块描述实例 module adder_test; reg a, b; initial begin #5 a=0; b=0; #5 a=1; #5 b=1; #5 a=0; #5 a=1; #5 b=0; #5 a=0; end adder add1(a, b, sum, cout); endmodule module adder_test; reg a, b; initial begin a=1; b=0; #5 a=1; #5 a=0; #5 a=1; #5 a=1; #5 a=0; end always #5 b=~b; adder add1(a, b, sum, cout); endmodule ☆仿真流程——文件存放英文路径 新建工程:File—New—Project; 源文件添加:鼠标右键add to project—new file—22.v + veirlog文件类; 完成模块和测试模块源代码编写、保存; 编译、模拟:编译 ,模拟 ,将work文件夹中的测试模块名打开, 在模拟文件夹中sim,将测试模块通过鼠标右键添加至波形产生器中; Verilog HDL仿真流程 ☆仿真源程序 仿真波形结果与处理结果 Verilog HDL仿真实例与波形处理 module nnnn(f,a); input a; output f; not n1(f,a); endmodule module test; reg a; nnnn n1(f,a); initial a=0; always #20 a=~a; endmodule ☆波形处理流程 调整仿真波形浏览窗口至可以完全放置在B5纸面Word文档内 同
原创力文档


文档评论(0)