EDA实验报告
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
《可编程逻辑设计》
实验报告
年级:2011级
班级:信通四班
姓名:朱明贵
学号:111100443
老师:杨秀芝
林旭
福州大学物理与信息工程学院电子信息工程系
注意事项
1、本实验手册是为了配合《EDA技术实用教程》,作为本课程实验环节的补充
指导而编制。
2、实验中涉及的QuartusⅡ软件的使用请参考《EDA技术实用教程》中有关章
节。
3、手册中所有的虚线空白框,都留出来作为实验记录之用,每个实验完成后,
应按照实验内容的要求将实验结果记入框中。
4、每个实验后面都附有一道思考题,完成实验内容后可以作为更进一步的练习。
5、每个实验中的硬件测试需要在实验箱上完成,引脚锁定请参考手册最后的实
验箱引脚资源说明自行确定。
6、实验一~实验七为必做部分,请自行合理安排时间完成;实验八为选做部分。
7、每次实验后将手册相关部分(完成实验结果记录)、实验源代码(.v文件)或
电路图一起,作为实验报告上交。
8、课程结束后请将所有报告按顺序加封面装订好上交,作为实验部分成绩计入
总成绩。
目录
实验一利用原理图输入法设计4位全加器............- 1 - 实验二简单组合电路的设计.............................. - 5 - 实验三简单时序电路的设计.............................. - 8- 实验四异步清零和同步时钟使能的4位加法计数器..- 12 - 实验五七段数码显示译码器设计 (15)
实验六数控分频器的设计 (20)
实验一利用原理图输入法设计4位全加器
一、实验目的:
熟悉如何在QuartusⅡ集成环境下利用原理图输入设计简单组合逻辑电路,掌握层次化的电路设计方法。
二、实验原理:
一个4位全加器可以由4个一位全加器构成,加法器间的进位可以串行方式实现,即将低位加法器的进位输出cout与相邻的高位加法器的进位输入信号cin相接。
三、实验内容:
1.QuartusII软件的熟悉
熟悉QuartusⅡ环境下原理图的设计方法和流程,可参考课本5.4节的内容,重点掌握层次化的设计方法。
2.设计1位全加器原理图
设计的原理图如下所示
3.利用层次化原理图方法设计4位全加器
(1)生成新的空白原理图,作为4位全加器设计输入
(2)利用已经生成的1位全加器作为电路单元,设计4位全加器的原理图,如
下所示
4、设计一个超前进位4位全加器
以上设计的全加器是基于串行进位的结构,高位的进位输入必须等待低位的运算结果,造成较长的延时。通过对进位位进行超前运算,可以缩短这部分的延时。
在已有1位全加器的基础上设计一个具有超前进位结构的4位全加器,原理图如下所示
5、完成设计流程
(1)在QuartusII环境下对以上设计电路按照教材5.1节的流程进行编译,排除错误,生成最终配置文件。
(2)对结果进行时序仿真,观察设计的正确性(注意观察时序仿真波形中引入的延时),如有错误应改正电路,并重新执行整个流程,直到得到正确的仿真结果。
四、思考题
1、你在原理图设计中使用的是哪一个库里面的元件,是否还有其他库可用,有什么不同?请试着用另外一个库重复以上的设计内容。
答:
2、试用QuartusII下的时序分析器(教材11.3.7~11.3.8)分析两种进位结构的4位全加器的时序,给出数据对比,说明两者之间的性能差异。
答:
实验二简单组合电路的设计
一、实验目的:
熟悉QuartusⅡ境下以VerilogHDL作为输入的设计全过程。学习简单组合电路的设计、多层次电路设计、仿真和实际硬件电路测试的方法。
二、实验原理
VerilogHDL硬件描述语言是一种可以从多个层次上对数字逻辑电路进行建模的国际标准(IEEE),本次实验是用VerilogHDL设计一个简单的数字组合逻辑电路,并结合QuartusⅡ环境和实验电路进行硬件测试。
三、实验内容:
1)根据实验一中一位全加器的电路原理图,改用VerilogHDL语言文本输入方法,设计一位全加器,要求采用结构化的描述方法。设计完成后,利用Quartus Ⅱ集成环境进行时序分析、仿真,记录仿真波形和时序分析数据。
仿真波形:
时序分析:
2)用VerilogHDL语言设计一个四选一数据选择器电路。
要求先设计一个二选一数据选择器mux21,然后利用元件例化语句设计四选一数据选择器mux41,同样请给出时序分析数据和仿真结果。
仿真波形:
时序分析:
3)硬件测试
请在实验系统上测试四选一数据选择器。
管脚锁定:
四选一数据选择器 a1 PIO23 30 SW1
a0 PIO24 35 SW2
d3 PIO27 38 SW5
d2 PIO28 39 SW6
d1 PIO29 47 SW7
d0 PIO30 42 SW8
yout 29 LED12
四、思考题
如果不使用元件例化语句,而是直接设计四选一数据选择器mux41,应如何用VerilogHDL进行描述?
答:
附录:
一位全加器代码:
module f_adder(ain,bin,cin,cout,sum);
output cout,sum; input ain,bin,cin;
wire e,d,f ;
h_adder inst( ain, bin, e, d);
h_adder inst1(.a(e ), .so(sum), .b(cin), .co(f));
or2a inst2(.a(d), .b(f), .c(cout)); endmodule
二选一数据选择器代码:
MUX21a:
module MUX21a (a,b,s,y);
input a,b,s;
output y;
assign y=(s?a:b);
endmodule
MUX41a:
module MUX41a(s1,s0,a1,b1,a2,b2,y1); input s1,s0,a1,b1,a2,b2;
output y1;
wire k1,k2;
MUX21a u1(a1,b1,s0,k1);
MUX21a u2(a2,b2,s0,k2);
MUX21a u3(k1,k2,s1,y1);
Endmodule