1QuartusII使用指南在这个实验中我们通过一个简单的实例来演示如何使用QuartusII。在PLD器件上做一个完整的逻辑设计。我们将在PLD上实现一个三人表决器的逻辑。三人表决,以少数服从多数为原则,多数人同意则议案通过,否则议案被否决。这里,我们使用三个按键代表三个参与表决的人,置“0”表示该人同意议案,置“1”表示该人同意议案;两个指示灯用来表示表决结果,LED1点亮表示议案通过,LED2点亮表示议案被否决。真值表如下:S1S2S3LED1LED20000100101010010111010001101101101011110下面我们就具体来实现这一设计。21、双击桌面上QuartusII的图标,启动QuartusII软件。2、通过File=NewProjectWizard…菜单命令启动新项目向导。33、在随后弹出的对话框上点击Next按钮,继续。4、在Whatistheworkingdirectoryforthisproject栏目中设定新项目所使用的路径;在Whatisthenameofthisproject栏目中输入新项目的名字:vote,点击Next按钮。45、在这一步,向导要求向新项目中加入已存在的设计文件。因为我们的设计文件还没有建立,所以点击Next按钮,跳过这一步。6、在这一步选择器件的型号。Family栏目设置为Cyclone,选中Speci5ficdeviceselectedin‘Availabledevices’list选项,在Availabledevice窗口中选中所使用的器件的具体型号,这里以EP1C6Q240C8为例。点击Next按钮,继续。7、在这一步,可以为新项目指定综合工具、仿真工具、时间分析工具。在这个实验中,我使用QuartusII6.0的默认设置,直接点击Next按钮,继续。68、确认相关设置,点击Finish按钮,完成新项目创建。9、接下来,我们建立一个原理图文件,并加入该项中来。在File菜单下,点击New命令。在随后弹出的对话框中选择BlockDiagram/SchematicFile选项,点击OK按钮。在File菜单下选择SaveAs命令,将其保存,并加入到项目中。710、根据上面的真值表,做卡诺图简化,可以得出:LED1=S1S2+S1S3+S2S3,LED2=~LED1。双击原理图的任一空白处,会弹出一个元件对话框。在Name栏目中输入and2,我们就得到一个2输入的与门。11、点击OK按钮,将其放到原理图的适当位置。重复操作,放入另外两个2输入与门。也可以通过右键菜单的Copy命令复制得到。812、双击原理图的空白处,打开元件对话框。在Name栏目中输入or3,我们将得到一个3输入的或门。点击OK按钮,将其放入原理图。13、双击原理图的空白处,打开元件对话框。在Name栏目中输入not,我们会得到一个非门。点击OK按钮,将其放入原理图。914、将鼠标入到元件的引脚上,鼠标会变成“十”字形状。按下左键,拖动鼠标,就会有导线引出。根据我们要实现的逻辑,连好各元件的引脚。15、双击原理图的空白处,打开元件对话框。在Name栏目中输入Input,我们便得到一个输入引脚。点击OK按钮,放入原理图。重复操作,给我们的电路加上3个输入引脚。16、双击输入引脚,会弹出一个属性对话框。在这一对话框上,我们可更改引脚的名字。我们分别给3个输入引脚取名in1、in2、in3。1017、双击原理图的空白处,打开元件对话框。在Name栏目中输入output,我们会得到一个输出引脚。点击OK按钮,放入原理图。重复操作,给我们的电路加上两个输出引脚。给两个输出引肢分别命名为led1、led2。18、在Assignments菜单下,点击Pins命令,启动PinPlanner工具。在这个工具中,我们可以为我们的电路的端子分配器件的引脚。在AllPins表格中,双击NodeName列的newnode单元,输入端子的名字。在同一行的Location列,选择要分配的位置。重复操作,为每个端子都分配适当的脚位。19、在Assignments菜单下,点击Device…命令。在随后弹出的对话框中点击Device&PinOptions…按钮,进入Device&PinOptions对话框。切换到configuration页,在ConfigurationDevice栏目中,选中useconfigurationdevice选项,配置器件型号选择EPCS1,同时,11选中Generatecompressedbitstreams选项。20、切换到UnusedPins页,在Reservedallunusedpins栏目中,选择Asinputtri-stated。因为我们的设要在开发板上演示,所以把没有用到的管脚设为输入,以避免与开发板上其它电路发生冲突。点击确定按钮,确认设置。回到Seting对话框,点击OK按钮。1221、在Processing菜单下,点击StartCompilation命令,开始编译我们的项目。编译结束后,点击确定按钮。22、在把我们的设计下载到开发板上验证之前,我们可以先做一下仿真。首先,我们要建立一个输入波形文件。仿真工具会用到该文件,以确定每个输入引脚的激励信号。在File菜单下,点击New命令。在随后弹出的对话框中,切换到OtherFiles页。选中VectorWaveformFile选项,点击OK按钮。23、现在,我们已经进入到波形编辑界面。在Edit菜单下,点击InsertNodeorBus…命令。1324、点击NodeFinder…按钮,打开NodeFinder对话框。点击List按钮,列出电路所有的端子。点击按钮,全部加入。点击OK按钮,确认。25、回到InsertNodeorBus对话框,点击OK按钮,确认。26、选中in1信号,在Edit菜单下,选择Value=Clock…命令。在随后弹出的对话框的Period栏目中设定参数为50ns,点击OK按钮。1427、In2、in3也用同样的方法进行设置,Period参数分别为100ns和200ns。28、保存文件,在Processing菜单下,选择StartSimulation启动仿真工具。仿真结束后,点击确认按钮。观察仿真结果,对比输入与输出之间的逻辑关系否符合真值表。29、使用下电缆,将开发板Jtag口(J105)与电脑的并行口相连,接通开发板电源。在Tools菜单下,选择Programmer命令,打开QuartusIIProgrammer工具。点击HardwareSetup按钮,进行下载线设置,选择所用的下载线型号。1530、选中Program/Configure选项,点击Start按钮,将配置文件vote.sof下载到开发板上。按下S1、S2、S3按钮的各种组合,观察LED1、LED2的状是否符合真值表。31、切记:断开开发板电源(否则将会烧坏目标芯片)。将开发板上的S101置于(1:on|2:on)状态,并将下载线从J105换到J106上,然后重新接通开发板电源。在QuartusII6.0工具软件中,将Mode选项设置为ActiveSerialProgramming。点击AddFile…按钮,将vote.pof文件加入进来。选中Program/Configure选项,点击Start按钮,将配置数据烧写到配置芯片中。32、断开开发板电源,从J106上取下下载线。重新接通开发板电源,按下S1、S2、S3的个种组合,观察LED1、LED2的输出结果是否符合真值表