xxxxx大学信息工程学院
实 验 报 告
课程名称: CPLD/FPGA 应用开发技术 实验名称: 组合逻辑电路的设计 实验类型: 验证性□ 综合性□ 设计性■ 实验室名称: 信息学院机房 班级: 学号: 姓名: 组别: 同组人:
成绩:
实验日期: 2010年6月29日
内蒙古工业大学信息工程学院
预习报告成绩: 指导教师审核(签名): 年 月 日
预习报告
一、实验目的:
1、掌握用VHDL 语言和EPLD 进行组合逻辑电路的设计方法。
2、加深对EPLD 设计全过程的理解。
3、掌握组合逻辑电路的静态测试方法。
二、实验设备:
1、PC 机
2、EDA 实验箱(主芯片是ALTERA EPM7128SLC84-15)。
三、实验内容:
1、用VHDL 语言输入法设计一个四舍五入判别电路,其输入为8421BCD 码,要求当 输入大于或等于5 时,判别电路输出为1;反之为0。
2、用VHDL 语言输入法设计四个开关控制一盏灯的逻辑电路,要求合任一开关,灯亮; 断任一开关,灯灭。
3、用VHDL 语言输入法设计一个优先权排队电路。排队顺序为: A=1 最高优先级 B=1 次高优先级 C=1 最低优先级
要求输出端最高只能有一端为“1”, 即只能是优先级较高的输入端所对应的输出端 为“1”。
四、实验步骤:
1、采用文本编辑器输入VHDL 语言源程序,建立工程。
2、编译。
3、仿真。
4、对芯片进行编程。
5、根据管脚分配情况连线。
(1) 四舍五入判别电路的四个输入管脚分别与四个拨码开关相连,输出数据与 LED 灯相连。
(2) 开关控制电路的四个输入管脚分别与四个按键开关相连,输出管脚与LED 灯相连。
(3) 优先权排队电路的A、B、C 三个信号分别连三个按键开关,三个输出信号 分别连三个LED 灯相连。
6、控制输入信号(按键或拨码开关), 观察电路输出(LED 灯的亮与灭)。
五、实验报告要求:
1、给出电路的VHDL 描述、仿真结果。
2、说明波形图中输入数据的给定依据。
3、说明物理连线情况以及物理连线与编译时进行管脚分配有何关系?
内蒙古工业大学信息工程学院
实验报告成绩: 指导教师审核(签名): 年 月 日
实验报告
一、实验结果分析:
1.用VHDL 语言输入法设计一个四舍五入判别电路,其输入为8421BCD 码,要求当 输入大于或等于5 时,判别电路输出为1;反之为0。 程序清单: library ieee; datain=5) then entity pan4_5 is y
结果分析:
由上图分析可知,d3,d2,d1,d0 表示又BCD码表示的一位的十进制数。当d3,d2,d1,d0分别设为0110,转化为十进制数为6,(6>5)。则输出y为1。其他可以此类推得出结论。
2、用VHDL 语言输入法设计四个开关控制一盏灯的逻辑电路,要求合任一开关,灯亮; 断任一开关,灯灭 程序清单: library ieee; proce(clk) use ieee.std_logic_1164.all; begin entity dd is if(clk\'event and clk=\'1\')then port (a,b,c,d: in std_logic; if(a=\'1\')or(b=\'1\')or(c=\'1\')or(d=\'1\')the clk: in std_logic; n y:out std_logic); q
内蒙古工业大学信息工程学院
end beha;
仿真结果:
结果分析:
由上图易得出:在时钟上升沿前有高电平,则输出结果翻转。代表若4个开关中有一个状态变化,则灯的状态也发生改变。
3、用VHDL 语言输入法设计一个优先权排队电路。排队顺序为: A=1 最高优先级 B=1 次高优先级 C=1 最低优先级
要求输出端最高只能有一端为“1”, 即只能是优先级较高的输入端所对应的输出端为“1”。 程序代码: library ieee; case din is use ieee.std_logic_1164.all; when \"000\"=> dout dout dout dout dout
结果分析:
当输入为(5)10(101)2,即A=1,输出(100)24。当输入为(3)10(011)2,即,A=0,B=1。输出为(010)22。同理当输入为2时,输出也为2。实现了优先排队的功能。
内蒙古工业大学信息工程学院
二、实验心得体会
做完EDA实验,我感到受益匪浅。这不仅使我了解了EDA的实验系统,学习了MAX+PLUSⅡ软件的使用,掌握了基本的电路设计流程、方法以及技巧,更增强了我对EDA设计的兴趣。
在实验的过程中,老师又结合实际详细的教了我们VHDL语言的基本指令及编程方法,教我们熟悉了在PC机上运用MAX+PLUSⅡ软件和EPLD进行电路设计的设计和仿真过程。
之后,老师为我们布置了实验任务,开始,大家都不会编写程序,或是编出来的程序有很多错误,但是在老师的指导修改下,我们克服了困难,找到了问题所在,改正了错误,编出了正确的程序。但在软件使用及仿真的时候,大家都遇到了较大的困难,同学们都是第一次接触软件,而且软件都是纯英文,加上不熟悉使用流程,老师为我们了讲了使用方法之后大家还是不太懂,后来在同学们的互相讨论中,及个别问题请教老师后,终于也攻克了这一难关,得到了完美的仿真波形和结果。 具备这些基本知识,相信为我今后的自主学习奠定了良好的基础。