- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
北航eda实验报告数字部分
Verilog数字电路设计实验报告院系: 组员: 年 月 日目 录分组概况3分组概况3实验概况4实验感想5实验内容9实验一9实验二15实验三25实验四33一、分组概况组长: 主要负责各次实验的总体进程,以及选做实验的代码编译。在实验报告中负责统筹规划及后期编排。组员: 负责各次实验必做实验源代码的录入及仿真。在实验报告中负责报告前期录入,包括各次实验的简要内容、步骤等。二、实验概况本课程共安排四次实验,其内容是:1、练习一、简单的组合逻辑设计练习二、简单分频时序逻辑电路的设计选做一、设计一个字节(8位)的比较器2、练习三、利用条件语句实现计数分频时序电路练习五、用always块实现较复杂组合逻辑电路选做一、利用10MB时钟设计一个单周期波形选做二、运用always块设计一个8路数据选择器3、练习四、阻塞赋值与非阻塞赋值的区别练习六、在Verilog中使用函数练习七、在Verilog中使用任务练习题5、综合一个可以计算正整数平方、立方、阶乘的函数思考题3、在blocking模块中实现对两种写法的仿真4、必做一、设计一个串行数据检测器必做二、楼梯灯——基本任务选做一、楼梯灯——扩展任务三、感想通过这4次的实验,我们基本熟悉Modelsim 软件,掌握了Modelsim 软件的编译、仿真方法。同时在编写程序的过程中,加深了我们对课上所讲的语法的认识以及学会了测试模块的编写。经过实验一,我们掌握了基本组合逻辑电路,基本时序电路;经过实验二,我们掌握条件语句在简单时序模块设计中的使用、在Verilog模块中应用计数器以及用always实现较大组合逻辑电路;经过实验三,我们掌握阻塞赋值与非阻塞赋值的概念与区别,了解函数的定义和在模块设计中的使用,掌握任务在verilog模块设计中的应用;经过实验四,我们掌握利用有限状态机实现一般时序逻辑分析的方法。在实验过程中,我们也遇到过程序编写以及软件仿真上的问题。程序编写时,要注意一些细节,比如符号,全角与半角等。软件仿真过程中,我们出现过程序无错,但添加波形运行后,却没有波形的情况,最后上网百度,找到了解决方法。实验总体来说,都比较顺利。对于难度较大的实验四,只要思路清晰,考虑到所有的情况,就能做出来。四、实验内容第一次实验课:练习一 简单的组合逻辑设计实验目的:(1)掌握基本组合逻辑电路的实现方法(2)初步了解两种基本组合逻辑电路的生成方法(3)学习测试模块的编写(4)通过综合和布局布线了解不同层次仿真的物理意义实验原理:实验代码提供的是一个可综合的数据比较器。从语句中可以看出是比较数据a,b的结果,结果相同输出1,否则输出0.测试模块用于检测模块设计是否正确,给出输入信号,观察模块的内部信号和输出信号以确定设计是否正确。综合就是把compare.v文件送到synplify或其他综合器进行处理,启动综合器编译。布局布线就是把综合后的另一种文件(EDIF),在布线工具控制下进行处理,启动布局布线的编译。实验内容:模块源代码的组合逻辑仿真与测试实验代码:module compare(equal,a,b); input a,b; output equal; assign equal =(a==b)?1:0; endmodule实验仿真:测试程序:`timescale 1ns/1ns`include ./compare.vmodule t;reg a,b;wire equal;initial begin a=0; b=0; #100 a=0;b=1; #100 a=1;b=1; #100 a=1;b=0; #100 a=0;b=0; #100 $stop; end compare m(.equal(equal),.a(a),.b(b));endmodule仿真结果:练习二 简单分频时序逻辑电路的设计实验目的:(1)掌握最基本时序电路的实现方法(2)学习时序电路测试模块的编写(3)学习综合和不同层次的仿真实验原理:对于组合逻辑电路,可综合成具体电路结构的时序逻辑电路也有准确的表达方式。在可综合的模型中,通常用always块或者@(posedgeclk)或(negedgeclk)结构表达时序逻辑。实验为二分之一分频器模型。在always块中,被赋值信号都必须定义为reg型,对于reg型数据,如果未对它进行赋值,仿真工具会认为它是不定态的。为了正确观察结果,在可综合模块中,常定义一个复位信号reset,其为低电平时对寄存器进行复位。实验内容:分频时序电路的仿真测试实验代码:module half_clk(reset,clk_in,clk_out); input clk_in,reset; output clk_out; reg clk_out; always @(posedge clk_i
原创力文档


文档评论(0)