《可编程逻辑器件应用》实验指导书张巧文编浙江万里学院2010.31目录实验一QuartusⅡ软件与DE2平台的操作流程............................................................2实验二全加器的设计....................................................................................................11实验三七段译码显示电路设计....................................................................................13实验四脉冲分频选择电路设计....................................................................................15实验五100进制同步计数器设计.................................................................................17实验六汽车尾灯控制电路设计....................................................................................19实验七十字路口交通灯控制器设计............................................................................20实验八智力竞赛抢答器的设计....................................................................................22附件1:DE2开发板引脚说明.........................................................................................242实验一QuartusⅡ软件与DE2平台的操作流程一、实验目的1、熟悉QuartusⅡ软件的使用方法;2、通过简单的实例,了解使用QuartusⅡ进行CPLD/FPGA设计的流程;二、实验设备PC机一台,Altera公司DE2教学实验套件一套三、实验原理数字系统设计系列实验是建立在数字电路基础上的一个更高层次的设计性实验。它是借助可编程逻辑器件(PLD),采用在系统可编程技术(ISP),利用电子设计自动化软件(EDA),在计算机(PC)平台上进行的。1.DE2教学实验套件(一)、实验用到主要硬件配置:◆AlteraCycloneII系列的EP2C35F672C6FPGA,内含35000个逻辑单元。◆七段共阳LED数码管8个HEX0~HEX7;◆9个绿色LED灯LEDG0~LEDG8;◆18个红色LED灯LEDR0~LEDR17;◆50MHz晶体振荡器和27MHz振荡器2个时钟源;◆18个拨码开关SW0~SW17;◆4个按键开关KEY0~KEY3;◆平台通过插座J8接入直流9V供电,SW18为电源开关;◆编程插座:USB编程输入插座支持JTAG模式和AS模式。(二)、实验板编程/下载1、下载电缆的连接1)USB电缆插头端接计算机USB口,另一端接DE2的J9编程插座,打开DE2平台的电源2)将SW19置于RUN位置。2、软件编程操作1)选择QuartusII菜单下的ToolsProgrammr项.2)如果显示没有硬件,则单击HardwareSetup…按钮,打开硬件设置窗口。3)双击USBBlaster,然后单3击CLOSE按钮,完成硬件设置。4)如果.sof文件不在文件列表中,则单击AddFile…按钮,添加该文件。5)确认DEVICE项列出的是EP2C35F672,选中Program/Configue选项。6)单击Start按钮,开始编程。(三)、实验流程图四、实验内容通过一个简单的实例来演示如何使用QuartusII在PLD器件上做一个完整的逻辑设计。我们将在PLD上实现一个三人表决器的逻辑。三人表决,以少数服从多数为原则,多数人同意则议案通过,否则议案被否决。这里,我们使用三个按键代表三个参与表决的人,置“0”表示该人不同意议案,置“1”表示该人同意议案;两个指示灯用来表示表决结果,LED1点亮表示议案通过,LED2点亮表示议案被否决。真值表如下:S1S2S3LED1LED20000100101010010111010001101101101011110下面我们就具体来实现这一设计。1.双击桌面上QuartusII的图标,启动QuartusII软件。图1QuartusII设计流程图42.通过File=NewProjectWizard…菜单命令启动新项目向导。3.在随后弹出的对话框上点击Next按钮,继续。4.在Whatistheworkingdirectoryforthisproject栏目中设定新项目所使用的路径;在Whatisthenameofthisproject栏目中输入新项目的名字:vote,点击Next按钮。5.在这一步,向导要求向新项目中加入已存在的设计文件。因为我们的设计文件还没有建立,所以点击Next按钮,跳过这一步56.在这一步选择器件的型号。Family栏目设置为Cyclone,选中Specificdeviceselectedin‘Availabledevices’list选项,在Availabledevice窗口中选中所使用的器件的具体型号,这里以EP2C35F672C6N为例。点击Next按钮,继续。7.在这一步,可以为新项目指定综合工具、仿真工具、时间分析工具。在这个实验中,我使用QuartusII6.0的默认设置,直接点击Next按钮,继续。68.确认相关设置,点击Finish按钮,完成新项目创建。9.接下来,我们建立一个原理图文件,并加入该项中来。在File菜单下,点击New命令。在随后弹出的对话框中选择VHDLFile选项,点击OK按钮。在File菜单下选择SaveAs命令,将其保存,并加入到项目中。10.根据上面的真值表,做卡诺图简化,可以得出:LED1=S1S2+S1S3+S2S3,LED2=~LED1。在如下文本编辑框中写入其VHDL如下,并保存文件名为vote.vhd13.在Assignments菜单下,点击Pins命令,启动PinPlanner工具。在这个工具中,我们可以为我们的电路的端子分配器件的引脚。在AllPins表格中,双击NodeName列7的newnode单元,输入端子的名字。在同一行的Location列,选择要分配的位置。重复操作,为每个端子都分配适当的脚位。14.在Assignments菜单下,点击Device…命令。在随后弹出的对话框中点击Device&PinOptions…按钮,进入Device&PinOptions对话框。切换到configuration页,在ConfigurationDevice栏目中,选中useconfigurationdevice选项,配置器件型号选择EPCS16,同时,选中Generatecompressedbitstreams选项。15.切换到UnusedPins页,在Reservedallunusedpins栏目中,选择Asinputtri-stated。因为我们的设要在开发板上演示,所以把没有用到的管脚设为输入,以避免与开发板上其它电路发生冲突。点击确定按钮,确认设置。回到Seting对话框,点击OK按钮。816.在Processing菜单下,点击StartCompilation命令,开始编译我们的项目。编译结束后,点击确定按钮。17.在把我们的设计下载到开发板上验证之前,我们可以先做一下仿真。首先,我们要建立一个输入波形文件。仿真工具会用到该文件,以确定每个输入引脚的激励信号。在File菜单下,点击New命令。在随后弹出的对话框中,切换到OtherFiles页。选中VectorWaveformFile选项,点击OK按钮。18.现在,我们已经进入到波形编辑界面。在Edit菜单下,点击InsertNodeorBus…命令。919.点击NodeFinder…按钮,打开NodeFinder对话框。点击List按钮,列出电路所有的端子。点击按钮,全部加入。点击OK按钮,确认。20.回到InsertNodeorBus对话框,点击OK按钮,确认21.选中in1信号,在Edit菜单下,选择Value=Clock…命令。在随后弹出的对话框的Period栏目中设定参数为50ns,点击OK按钮。22.In2、in3也用同样的方法进行设置,Period参数分别为100ns和200ns。23.保存文件,在Processing菜单下,选择StartSimulation启动仿真工具。仿真结束后,点击确认按钮。观察仿真结果,对比输入与输出之间的逻辑关系否符合真值表。1024.使用下电缆,将开发板Jtag口(J105)与电脑的并行口相连,接通开发板电源。在Tools菜单下,选择Programmer命令,打开QuartusIIProgrammer工具。点击HardwareSetup按钮,进行下载线设置,选择所用的下载线型号,这里选择USBBlaster。25.选中Program/Configure选项,点击Start按钮,将配置文件vote.sof下载到开发板上。按下S1、S2、S3按钮的各种组合,观察LED1、LED2的状是否符合真值表。五、实验报告1、写出实验源程序,画出仿真波形;2、总结实验步骤和实验结果;3、心得体会――在实验过程中出现了哪些问题,如何解决的?你从实验中获得了哪些收益;本次实验你的成功之处;本次实验中还有待改进的地方;下次实验应该从哪些地方进行改进;怎样提高自己的实验效率和实验水平等等。4、完成实验思考题。六、问题与思考与传统的数字电路设计相比,基于FPGA的数字系统设计的优越性在哪些地方。11实验二全加器的设计一、实验目的1.掌握QuartusII5.0软件使用流程。2.熟悉AlteraDE2实验板的开关按键模块,LED显示模块。二、实验内容在QuartusII5.0软件中使用原理图输入法设计并实现一个1位全加器。三、实验仪器1.ZY11EDA13BE型实验箱通用编程模块,配置模块,开关按键模块,LED显示模块。2.并口延长线,JTAG延长线。(所有实验均包括,以下实验中均略去)。3.安装QuartusII5.0软件的PC机。(所有实验均包括,以下实验中均略去)。四、实验原理1位全加器可以用两个半加器及一个或门连接而成,半加器原理图的设计方法很多,我们用一个与门、一个非门和同或门(xnor为同或符合,相同为1,不同为0)来实现。先设计底层文件:半加器,再设计顶层文件全加器。(1)半加器的设计半加器表达式:进位:co=aandb和:so=axnor(notb)半加器原理图如下:(2)全加器的设计全加器原理图如下:五、实验注意事项实验指导书中的所有实验内容都是针对主板系统的核心芯片EP2C35F672C6来设计的,实验原理中提供了管脚分配情况,管脚分配好后必须通过成功编译才可以下载配置。六、实验步骤121.在QuartusII5.0软件中新建原理图文件,输入原理图,进行编译,仿真。2.指定目标器件,并对编译通过的原理图分配管脚(可参考实验原理),分配完后再编译一次。3.用并口延长线连接计算机机箱并口和实验箱并口插座,用JTAG延长线连接通用编程模块下载接口插座和配置模块核心芯片下载接口插座,接通实验箱电源,将实验箱电源按钮APW1,APW2按下,电源指示灯PL0-PL4亮。4.下载配置文件f_adder.pof到目标芯片。5.将拨码开关CTRL的(2)、(4)、(8)均设置为“ON”。6.拨位开关KD