北航电子电路设计训练数字部分实验报告

北航电子电路设计训练数字部分实验报告

ID:27642846

大小:1.24 MB

页数:28页

时间:2018-12-05

北航电子电路设计训练数字部分实验报告_第1页
北航电子电路设计训练数字部分实验报告_第2页
北航电子电路设计训练数字部分实验报告_第3页
北航电子电路设计训练数字部分实验报告_第4页
北航电子电路设计训练数字部分实验报告_第5页
资源描述:

《北航电子电路设计训练数字部分实验报告》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库

1、2014-2015-2-G02A3050-1电子电路设计训练(数字EDA部分)实验报告(2015年6月24日)仪器科学与光电工程学院目录@1实验一、简单组合逻辑和简单时序逻辑31.1实验任务1一一简单组合逻辑31.1.1实验要求31.1.2模块的核心逻辑设计31.1.3测试程序的核心逻辑设计41.1.4仿真实验关键结果及其解释41.2实验任务2—一简单时序逻辑51.2.1实验要求51.2.2模块的核心逻辑设计51.2.3测试程序的核心逻辑设计51.2.4仿真实验关键结果及其解释61.3实验小结6实验二、条件

2、语句和always过程块72.1实验任务1一一条件语句实现计数分频吋序电路72.1.1实验要求72.1.2模块的核心逻辑设计72.1.3测试程序的核心逻辑设计82.1.4仿真实验关键结果及其解释82.2实验任务2——always块实现较复杂的组合逻辑电路92.2.1实验要求92.2.2模块的核心逻辑设计92.2.3测试程序的核心逻辑设计102.2.4仿真实验关键结果及其解释102.3实验小结11实验三、赋值、函数和任务123.1实验任务1一一阻塞赋值与非阻塞赋值的区别123.1.1实验要求123.1.2模块

3、的核心逻辑设计123.1.3测试程序的核心逻辑设计133.1.4仿真实验关键结果及其解释133.2实验任务2——在VerilogHDL中使用函数143.2.1实验要求143.2.2模块的核心逻辑设计143.2.3测试程序的核心逻辑设计153.2.4仿真实验关键结果及其解释163.3实验任务3——在VerilogHDL中使用任务(task)173.3.1实验要求173.3.2模块的核心逻辑设计173.3.3测试程序的核心逻辑设计183.3.4仿真实验关键结果及其解释18实验四、有限状态机194.1实验任务1一

4、一利用有限状态机进行时序逻辑的设计194.1.1实验要求194.1.2模块的核心逻辑设计194.1.3测试程序的核心逻辑设计194.1.4仿真实验关键结果及其解释204.2实验任务2—一串行数据采样器214.2.1实验要求214.2.2模块的核心逻辑设计214.2.3测试程序的核心逻辑设计224.2.4仿真实验关键结果及其解释254.3实验小结25实验一、简单组合逻辑和简单时序逻辑1.1实验任务1一一简单组合逻辑1.1.1实验要求实验代码提供的是一个可综合的数据比较器。从语句中可以看出是比较数据a,b的结果

5、,结果相同输出1,否则输岀0.测试模块用于检测模块设计是否正确,给出输入信号,观察模块的内部信号和输出信号以确定设计是否正确。练习题:设计一个字节(8位)的比较器,比较两个字节的大小,如a[7:0]大于b[7:0]则输出高电平,否则输出低电平。1.1.2模块的核心逻辑设计//compare.v第一种实现方式:assignmodulecompare(equal,a,b);inputa,b;//a、b为输入outputequal;//equal为输出assignequal=(a==b)?l:O;//3#时输出为

6、1,否则输出为0endmodule//练>]题compare_8.v:modulecompare一8(a,b,out);//与练习一的不只在于a、b要定义为8位input[7:0]a;input[7:0]b;outputout;regout;//compare.v第二种实现方式:alwaysmodulecompare(equal,a,b);inputa,b;outputequal;regequal;always@(aorb)//a或b的值发生变化时执行判断if(a==b)equal二1;elseequal=

7、0;endmodulealways@(aorb)beginif(a>b)out=1;elseout=0;endendmodule1.1.3测试程序的核心逻辑设计//compare_test.v'timescaleIns/Ins//仿真时间及步长设置•••initialbegina=0;b=0;//a、b都初始化为0#100a=0;b=l;#100a=l;b=l;#100a=l;b=0;#100a=0;b=0;//用所有可能情况赋值测试#100$stop;endcomparem(.equal(equal)”a

8、(a)”b(b));//compare模块实例化"compare_8_test.vinitial//变量始化begina=0;b=0;clock=0;endalways#50clock=〜clock;//产生周期为100ns时钟信号always@(posedgeclock)//每次时钟上升沿到来,用随机数给a、b赋值,观察输出的变化begin/a={$random}%8;b={$random}%8;//产生8位随

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。