欢迎来到天天文库
浏览记录
ID:27642846
大小:1.24 MB
页数:28页
时间:2018-12-05
《北航电子电路设计训练数字部分实验报告》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
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位随
此文档下载收益归作者所有