1、实验三、Quartus软件的使用实验目的v熟悉FPGA开发的基本流程v掌握数字集成软件Quartus II工具的流程和使用,使用软件进行简单的逻辑电路的设计FPGA开发的基本流程v设计思想:设计思想总是比设计语言重要,一个good idea总是可以把语言用的很灵活v设计输入:考察数字电路功底和verilog语法基础v仿真:保证设计功能正确v综合:将高层设计转换为特定FPGA芯片中Primitives的网表v适配:FPGA适配器对Primitives布局布线v配置器件:使用工具v复杂的系统设计离不开工具的支持,工具的选择也很重要,选择器件时需要考虑vAltera:QuartusII+SOPCBu
2、ilder+Nios/Excalibur_arm922T+DSP Builder+SignalTap IIvXilinx:ISE+EDK+MicroBlaze/PowerPC405+Sysgen/AccelDSP+ChipScope学习工具vhelp file(内容不多,几十页,英文大体都能看懂)、官网教程(用到时查看)vGoogle良师益友/两个不错的论坛bbs.eetop/电子顶级开发网论坛192.168.135.3/嵌入式系统与集成电路设计实验室论坛实验室软件环境v实验室安装Quartus II 9.1版本v桌面-EDA tools-Quartus II 9.1或开始-程序-Altera
3、-Quartus II 9.1v/服务器上提供软件下载,内网(实验室)ftp:/192.168.10.2,eda目录下设91版本和10.1版本,目前仅使用到quartus_window.exe外网(学校范围内)ftp:/192.168.135.3v建立工程,选择File-New Project Wizardv添加设计文件,如.v文件、.vhdl文件、.bdf文件等,可以暂不添加,v实验设备选择Cyclone系里的EP1C6Q240C8,vEP1C6Q240C8命名v前缀(标识器件类型、类别)+封装+管脚+温度范围+速度等级+后缀(特别说明)vEP:configuration设备vEP 1C6
4、Q 240 C 8 cyclone设备,容量标识6,PQFP封装,240管脚,商用温度等级(0-85度),速度等级8v第三方综合、仿真、时序分析软件的选择,这里暂时默认为none即可工程报告v设计输入原理图设计输入、文本输入、层次化设计、状态图输入vFile-Newv原理图输入选择File-New,选择Block Diagram/Schematic File单击ok,v双击原理图编辑器的空白处,弹出元器件库的选择对话框,v半加器的逻辑表达式S=A BCO=A&Bvprimitives中buffer:缓冲器logic:逻辑电路other:电源和地信号pin:引脚storage:触发器选择逻辑门,
5、设计半加器电路并保存为half_adder.bdfv选择File-Create/Update-Create Symbol File For Current File生成half_adder.bsf块符号文件,以供其他设计调用(一般保存在Project中)v选择File-Create/Update-Create HDL Design File For Current File生成half_adder.v文本文件,v文本输入选择File-Verilog HDL File,设计半加器电路并保存为half_adder2.v(文件名一定要和模块名称一样,否则编译的时候找不到实例模块)v通过对1位半加器的
6、例化实现1位全加器的设计v按照前面的方法生成1位全加器的方框符号图v层次化设计输入v将设计分成多个模块,自顶向下或者自底向上进行设计v利用前面设计的1位全加器设计4位全加器v选择File-New-Block Diagram/Schematic File,在Project中添加4个full_adder模块,如下图所示v/连线和总线bus的区别/输入端X0.3、Y0.3,两个点仿真、验证v仿真工具:Altera的quartus、Xilinx的ISE都自带有仿真工具 /不建议用自带的仿真工具第三方软件modelsim:很不错的一个第三方软件,适合本科生阶段的学生使用,后面的课再讲verdi:Spri
7、ngSoftNovas的套件,与主流仿真工具配合,通过PLI接口,为主流仿真工具增加新的“系统任务”VCS:/verdi和VCS不要求掌握,深入研究时自学v关键是testbench的设计v三种方式:1、简单测试2、自测试3、带测试向量文件读取的测试testbench的结构如何验证仿真结果v系统任务$display,$monitor,$time,$finish,$stopv它们的使用和区别,练习、体会一下Quartus simulatorv可以仿真整个设计,也可以仿真设计的部分实体。v执行仿真的时候,必须首先在用于功能仿真的Simulator Tool中,使用Generate Funcitona
8、l Simulation Netlist生成仿真网表,如果是执行时序仿真的话,首先要对设计进行编译v仿真之前,首先要在自己的工程下建立一个向量波形文件,选择File-Verification/Debugging File-Vector Waveform File,v可以选择Edit-End Time设置一下仿真时间v接下来添加输入/输出信号,Edit-Insert Node or Busv点击list,将工程下的输入、输出端口列出,选择需要查看的信号,选择要设置的信号,利用工具栏中的工具进行设置v这里简单设置一下,利用波形工具 对Cin采用了10ns的时钟波形,对X采用的5ns的时钟波形,对Y
9、采用的20ns的时钟波形,仿真参数可以自行设置选择Processing-Generate Funcitonal Simulation Netlist生成仿真网表,然后选择Tools-Simulator Tool综合(synthesis)v将HDL语言翻译成最基本的与门、或门、非门、RAM、触发器等基本逻辑单元的连接关系(网络表)vQuartus II项目编译器,主要对项目设计进行检查、逻辑综合、结构综合、输出结果的逻辑配置以及时序分析,同时将设计项目适配到FPGA/CPLD目标器件中。v项目编译器vAnalysis&Synthesis:把原始描述转化为逻辑电路映射到可编程器件中。vFitter
10、:逻辑单元在目标芯片上的布局布线vAssembler:形成编程文件vTiming Analyzer:进行时序分析/可单独运行,也可全程编译Pin Planner使用vAssignmentsPin Planner,设置一个管脚位置约束v/下面是一个4位全加器的引脚绑定v 最后的引脚信息是保存在.qsf文件中的下载编程v将PC机上开发好的PLD编程文件下载到开发板上的PLD器件中!v以前常用的下载编程工具:并口+JTAG,速度慢现在大多采用USB口+中间支持硬件(小容量CPLD)+JTAG,USB-Blaster安装v插入USB接口,提示安装驱动vusb-blaster位置C:altera91qu
11、artusdriversusb-blasterx32v选择在列表中手动安装,找到上述目录即可下载编程vTREX-C1开发板支持两种模式编程:1.usb blaster+JTAG 2.usb blaster+Active Serial 两种模式切换:板上 Prog/Run 开关 正常运行或者JTAG下载编程时:Run 配置EPCS1 flash器件时:Prog模式Usb blaster原理vUSB接口+USB接口芯片+低成本可编程芯片+(Flash器件/JTAG)vUSB接口芯片完成USB接口数据读写,将编程数据传递给后端低成本PLDvPLD通过简单的逻辑,或将编程数据通过JTAG方式写入/读出
12、主PLD芯片;或将编程数据写入单独的FLASH器件,下次系统加电后,主PLD芯片从FLASH器件中读取。具体到TREX-C1开发板vUSB接口芯片:FT245BMv低成本PLD器件:Altera MAX EPM3064A(44 pin TQFP封装)vFLASH器件:EPCS1(1Mbits)v配置EP1C6需要1.167Mbits,需要做压缩后配置JTAG方式编程步骤v模式选择为:RUNv生成设计的SOF(SRAM Object File)编程文件vPower ONv选择Tools-Programmer时序分析v时序分析的主要作用就是察看FPGA内部逻辑和布线的延时,验证其是否满足设计者的约
13、束。功耗分析vPower:设计的一个重要性能Signaltap IIv内嵌逻辑分析仪v捕获并显示实时信号的状态/支持多达1024个通道,采样深度高达128Kb,每个分析仪均有10级触发输入/输出,从而增加了采样的精度。vSimulator:通过仿真计算得出信号vSignatap II:跟踪显示实时信号v时序电路时,采集信号对信号进行跟踪v网上的流程有很多,课本上的例子也可以,这里不具体讲解,建议写个小代码跑跑流程vQuartus工程的file typev/Quartus file type.mht文件,自己看一下,慢慢熟悉各种文件组合电路v电路的输出仅是当前输入的函数,与先前值无关。与非门三态
14、门单向总线双向总线8-3编码器v将2的n次方个分离的信息以n个二进制码表示v普通8-3编码器v优先编码器真值表v8-3优先编码器3-8译码器vn个二进制选择线,译码为2的n次方个数据v译码器代码一v译码器代码二v四选一电路选择器复杂组合逻辑电路v通过实例化8-3编码器实现16-4编码器v数码管显示数字v流水灯vC1开发板v谨慎使用!禁止带电操作!不要去触摸开发板上的芯片,爱惜实验室的设备!v手册192.168.135.3:/device/Trex_C1/时序逻辑电路v输出信号不仅与当时的输入信号有关,而且与电路原来的状态有关v触发器、寄存器、计数器电平敏感锁存器D flip-flopT flip-flop移位寄存器带有置位、清零功能的同步4位计数器v异步计数如何实现?v脉冲发生器?v抢答器?vv/自己动手,去做