FPGA实验指导书目录绪论FPGA/CPLDCAD技术概述ASIC和FPGA/CPLD电路设计的一般流程·第一章QuartusⅡ8.1的安装·1.1软件包对计算机系统的配置要求1.2软件包的安装步骤1.3软件狗的安装.1.4QuartusII8.1下载口的设置·1.5无法下载及其解决方法第二章SOPC技术简介·2.1SOPC技术的主要特点2.2SOPC技术实现方式2.3SOPC系统开发流程82.4Cyclone能力.....2.4.1新型可编程架构…2.4.2嵌入式存储资源2.4.3专用外部存储接口电路102.4.4支持的接口及协议2.4.5锁相环的实现…132. 4. 6I/0特性14NiosII嵌入式处理器.2.4.7152.4.8配置方案15第三章Quartus II8.1软件应用·163.1图形用户界面设计流程163.2命令行设计流程183.3交通灯设计实例19.3. 3.1设计原理·193. 3.2设计输入213.3.3创建工程223.3.4编译前设置·25编译3.3.5-273.3.6仿真283.3.7应用RTL电路图观察器313.4引脚锁定和下载验证313.4.1引脚锁定31下载验证3.4.2323.4.3对配置器件编程331
FPGA 实验指导书 1 目 录 绪 论 .3 FPGA/CPLD CAD 技术概述„„„„„„„„„„„„„„„„„„„„„„„„„„„„3 ASIC 和 FPGA/CPLD 电路设计的一般流程„„„„„„„„„„„„„„„„„„„„„3 第一章 Quartus Ⅱ 8.1 的安装.4 1.1 软件包对计算机系统的配置要求„„„„„„„„„„„„„„„„„„„„„„4 1.2 软件包的安装步骤„„„„„„„„„„„„„„„„„„„„„„„„„„„„4 1.3 软件狗的安装„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„4 1.4 Quartus II 8.1 下载口的设置„„„„„„„„„„„„„„„„„„„„„„„4 1.5 无法下载及其解决方法„„„„„„„„„„„„„„„„„„„„„„„„„„5 第二章 SOPC 技术简介.6 2.1 SOPC 技术的主要特点„„„„„„„„„„„„„„„„„„„„„„„„„„„6 2.2 SOPC 技术实现方式„„„„„„„„„„„„„„„„„„„„„„„„„„„„7 2.3 SOPC 系统开发流程„„„„„„„„„„„„„„„„„„„„„„„„„„„„8 2.4 Cyclone 能力 „„„„„„„„„„„„„„„„„„„„„„„„„„„„„„8 2.4.1 新型可编程架构„„„„„„„„„„„„„„„„„„„„„„„„„„8 2.4.2 嵌入式存储资源 „„„„„„„„„„„„„„„„„„„„„„„„„9 2.4.3 专用外部存储接口电路 „„„„„„„„„„„„„„„„„„„„„„10 2.4.4 支持的接口及协议 „„„„„„„„„„„„„„„„„„„„„„„„11 2.4.5 锁相环的实现 „„„„„„„„„„„„„„„„„„„„„„„„„„13 2.4.6 I/O 特性„„„„„„„„„„„„„„„„„„„„„„„„„„„„„14 2.4.7 Nios II 嵌入式处理器„„„„„„„„„„„„„„„„„„„„„„„15 2.4.8 配置方案„„„„„„„„„„„„„„„„„„„„„„„„„„„„15 第三章 Quartus II 8.1 软件应用.16 3.1 图形用户界面设计流程 „„„„„„„„„„„„„„„„„„„„„„„„„16 3.2 命令行设计流程 „„„„„„„„„„„„„„„„„„„„„„„„„„„„18 3.3 交通灯设计实例 „„„„„„„„„„„„„„„„„„„„„„„„„„„„19 3.3.1 设计原理„„„„„„„„„„„„„„„„„„„„„„„„„„„„19 3.3.2 设计输入 „„„„„„„„„„„„„„„„„„„„„„„„„„„„21 3.3.3 创建工程„„„„„„„„„„„„„„„„„„„„„„„„„„„„22 3.3.4 编译前设置„„„„„„„„„„„„„„„„„„„„„„„„„„„25 3.3.5 编译„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„27 3.3.6 仿真„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„28 3.3.7 应用RTL电路图观察器„„„„„„„„„„„„„„„„„„„„„„„31 3.4 引脚锁定和下载验证 „„„„„„„„„„„„„„„„„„„„„„„„„„31 3.4.1 引脚锁定 „„„„„„„„„„„„„„„„„„„„„„„„„„„„31 3.4.2 下载验证 „„„„„„„„„„„„„„„„„„„„„„„„„„„„32 3.4.3 对配置器件编程 „„„„„„„„„„„„„„„„„„„„„„„„„33
FPGA实验指导书第四章EP3C16Q240C8实验部分34实验操作注意事项34实验一彩灯实验38实验二交通灯模拟控制实验11实验三4x4键盘接口实验43实验四D/A(DAC0831)转换实验47实验五A/D(ADC0832)转换实验51实验六UARTO串行通信接口实验:55实验七VGA显示接口实验·58.实验八步进电机实验..62实验九直流电机实验*66实验十DS1302时钟实验70实验十一DS18b20温度实验.82实验十二PS/2键盘接口逻辑设计-91实验十三LCD中文液晶控制实验..96NOIS部分实验实验一SDRAMLED接口逻辑设计-103实验二SD卡接口逻辑设计·107附录实验箱原理图·1182
FPGA 实验指导书 2 第四章 EP3C16Q240C8 实验部分 .34 实验操作注意事项„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„34 实验一 彩灯实验„„„„„„„„„„„„„„„„„„„„„„„„„„„„„38 实验二 交通灯模拟控制实验 „„„„„„„„„„„„„„„„„„„„„„„41 实验三 4x4 键盘接口实验 „„„„„„„„„„„„„„„„„„„„„„„43 实验四 D/A(DAC0831) 转换实验„„„„„„„„„„„„„„„„„„„„„„„47 实验五 A/D(ADC0832)转换实验„„„„„„„„„„„„„„„„„„„„„„51 实验六 UART0 串行通信接口实验 „„„„„„„„„„„„„„„„„„„„„„„55 实验七 VGA 显示接口实验 „„„„„„„„„„„„„„„„„„„„„„„„58 实验八 步进电机实验 „„„„„„„„„„„„„„„„„„„„„„„„„„62 实验九 直流电机实验 „„„„„„„„„„„„„„„„„„„„„„„„„„66 实验十 DS1302 时钟实验 „„„„„„„„„„„„„„„„„„„„„„„„„70 实验十一 DS18b20 温度实验 „„„„„„„„„„„„„„„„„„„„„„„„„82 实验十二 PS/2 键盘接口逻辑设计 „„„„„„„„„„„„„„„„„„„„„„91 实验十三 LCD 中文液晶控制实验 „„„„„„„„„„„„„„„„„„„„„„96 NOIS 部分实验 实验一 SDRAM LED 接口逻辑设计„„„„„„„„„„„„„„„„„„„„„„„103 实验二 SD 卡接口逻辑设计„„„„„„„„„„„„„„„„„„„„„„„„„„107 附录 实验箱原理图 .118
FPGA实验指导书绪论FPGA/CPLDCAD技术概述FPGA(FieldProgrammableGatesArray,现场可编程门阵列)与CPLD(ComplexProgrammableLogicDevice,复杂可编程逻辑器件)都是可编程逻辑器件,它们是在PAL、GAL等逻辑器件的基础之上发展起来的。同以往的PAL、GAL等相比较,FPGA/CPLD的规模比较大,适合于时序、组合等逻辑电路应用场合,它可以替代儿十甚至上百块通用IC芯片。这样的FPGA/CPLD实际上就是一个子系统部件。这种芯片具有可编程性和实现方案容易改动的特点。由于芯片内部硬件连接关系的描述可以存放在磁盘、ROM、PROM或EPROM中,因而在可编程门阵列芯片及外围电路保持不动的情况下,换一块EPROM芯片,就能实现一种新的功能。FPGA芯片及其开发系统问世不久,就受到世界范围内电子工程设计人员的广泛关注和普遍欢迎。经过了十几年的发展,许多公司都开发出了多种类型的可编程逻辑器件(PLDs,ProgrammableLogicDevices).比较典型的就是Xilinx公司的FPGA器件系列和Altera公司的CPLD器件系列,它们开发较早,占据了较大的PLD市场。当然还有其它许多类型器件,这里不再一一介绍。尽管FPGA、CPLD和其它类型PLD的结构各有其特点和长处,但概括起来,它们是由三大部分组成的:1、一个二维的逻辑块阵列,构成了PLD器件的逻辑组成核心。2、输入/输出块。3、连接逻辑块的互连资源,连线资源由各种长度的连线线段组成,其中也有一些可编程的连接开关,它们用于逻辑块之间、逻辑块与输入/输出块之间的连接。ASIC和FPGA/CPLD电路设计的一般流程通常可将设计流程归纳为以下7个步骤。第1步:设计输入。在传统设计中,设计人员是应用传统的原理图输入方法来开始设计的。自90年代初,VHDL、VHDL、AHDL等硬件描述语言的输入方法得到了广天工程设计人员的认可。第2步:前仿真。所设计的电路必须在布局布线前验证,目的主要是在仿真时,验证电路功能是否有效。在ASIC设计中,这一步骤称为第一次Sign一off.第3步:设计输入编译。设计输入之后就有一个从高层次系统行为设计向低层次门级逻辑电路的转化翻译过程,即把设计输入的某种或某几种数据格式(网表)转化为底层软件能够识别的某种数据格式(网表),以求达到与其工艺无关第4步:设计输入的优化。对于上述综合生成的网表,根据布尔方程功能等效的原则,用更小更快的综合结果替代一些复杂的单元,并与指定的库映射生成新的网表,这是硬件描述语言输入方式中减小电路规模的一条必由之路。第5步:布局布线。当初步的仿真被验证后,就开始布局布线。这一步可相对规划出ASIC和FPGA/CPLD设计。第6步:后仿真。设计人员需要利用在布局线中获得的更精确的RC参数再次验证电路的功能和时序。在ASIC设计中,这一步骤称为第二次Sign一off。第7步:流片。在布局布线和后仿真完成之后,当需要大批量生产该芯片时,就可以开始ASIC芯片的投产。3
FPGA 实验指导书 3 绪 论 FPGA/CPLD CAD 技术概述 FPGA(Field Programmable Gates Array,现场可编程门阵列)与 CPLD(Complex Programmable Logic Device,复杂可编程逻辑器件)都是可编程逻辑器件,它们是在 PAL、GAL 等逻辑器件的 基础之上发展起来的。同以往的 PAL、GAL 等相比较,FPGA/CPLD 的规模比较大,适合于时序、 组合等逻辑电路应用场合,它可以替代几十甚至上百块通用 IC 芯片。这样的 FPGA/CPLD 实际上 就是一个子系统部件。这种芯片具有可编程性和实现方案容易改动的特点。由于芯片内部硬件 连接关系的描述可以存放在磁盘、ROM、PROM 或 EPROM 中,因而在可编程门阵列芯片及外围电路 保持不动的情况下,换一块 EPROM 芯片,就能实现一种新的功能。FPGA 芯片及其开发系统问世 不久,就受到世界范围内电子工程设计人员的广泛关注和普遍欢迎。 经 过 了 十 几 年 的 发 展 , 许 多 公 司 都 开 发 出 了 多 种 类 型 的 可 编 程 逻 辑 器 件 (PLDs,Programmable Logic Devices).比较典型的就是 Xilinx 公司的 FPGA 器件系列和 Altera 公司的 CPLD 器件系列,它们开发较早,占据了较大的 PLD 市场。当然还有其它许多类型器件, 这里不再一一介绍。 尽管 FPGA、CPLD 和其它类型 PLD 的结构各有其特点和长处,但概括起来,它们是由三大部 分组成的: 1、一个二维的逻辑块阵列,构成了 PLD 器件的逻辑组成核心。 2、输入/输出块。 3、连接逻辑块的互连资源,连线资源由各种长度的连线线段组成,其中也有一些可编程的 连接开关,它们用于逻辑块之间、逻辑块与输入/输出块之间的连接。 ASIC 和 FPGA/CPLD 电路设计的一般流程 通常可将设计流程归纳为以下 7 个步骤。 第 1 步:设计输入。在传统设计中,设计人员是应用传统的原理图输入方法来开始设计的。自 90 年代初,VHDL、VHDL、 AHDL 等硬件描述语言的输入方法得到了广大工程设计人员的认可。 第 2 步:前仿真。所设计的电路必须在布局布线前验证,目的主要是在仿真时,验证电路功 能是否有效。在 ASIC 设计中,这一步骤称为第一次 Sign—off. 第 3 步:设计输入编译。设计输入之后就有一个从高层次系统行为设计向低层次门级逻辑电 路的转化翻译过程,即把设计输入的某种或某几种数据格式(网表)转化为底层软件能够识别 的某种数据格式(网表),以求达到与其工艺无关。 第 4 步:设计输入的优化。对于上述综合生成的网表,根据布尔方程功能等效的原则,用更 小更快的综合结果替代一些复杂的单元,并与指定的库映射生成新的网表,这是硬件描述语言 输入方式中减小电路规模的一条必由之路。 第 5 步:布局布线。当初步的仿真被验证后,就开始布局布线。这一步可相对规划出 ASIC 和 FPGA/CPLD 设计。 第 6 步:后仿真。设计人员需要利用在布局线中获得的更精确的 RC 参数再次验证电路的功 能和时序。在 ASIC 设计中,这一步骤称为第二次 Sign—off。 第 7 步:流片。在布局布线和后仿真完成之后,当需要大批量生产该芯片时,就可以开始 ASIC 芯片的投产
FPGA实验指导书第一章(QuartusIl8.1的安装1.1软件包对计算机系统的配重要求如果你想在你的计算机中安装QuartusII8.1软件包,建议的计算机配置为:1、PII1.3G以上计算机,原装机或兼容机均可。2、内存不少于512MB。3、安装软件包的硬盘分区所剩空间不少于4GB,安装完剩余空间不小于600MB。4、MicrosoftWindows2000或MicrosoftWindowsxp操作系统。5、8X倍速以上速率的光驱(或称DVD-ROM)。1.2软件包的安装步骤所选用的操作系统为Windowsa2000或xP中文操作系统,QuartusⅡI8.1安装步骤1、把软件包的QuartusIICD1光碟放入光驱。2、进入光盘的根目录下,双击QuartusI18.1正式版.exe文件,进入安装界面。3、用鼠标点击install,直到完成安装。1.2软件狗的安装为了保护软件的版权,Altera公司特别为QuartusII软件包设计了一个软件狗。如果没有软件狗,进入QuartusⅡ软件包只开放部分简单功能,很多重要功能是不开放的,这给项目的设计带来诸多不便,尤其是复杂的项目,没有这些功能,设计工作根本没办法展开。在QuartusII8.1的Tools菜单下选择LicenseSetup,然后选择Licensefile,最后点击OK。注意:license文件存放的路径名称不能包含汉字和空格,空格可以用下划线代替。1.3QuartursⅡ18.1下并口的设重为了将您设计好的工程下载到ALTERA器件中须在下载前对计算机并口进行相应设置,方法为:在微机的BIOS中确认并口模式为EPP或ECP,之后还要在打开QuartusⅡI情况下单击"Tools”,在下拉菜单中选择:“programmer"。再在弹出的窗口中点击“HradwareStup”,弹出"HardwareStup"对话框点击AddHardware...,将Hardwaretype设置为"ByteBlasterMVorByteBlasterII",“Port"为"LPTl。1.4USB-Blaster驱动安装方法在安装完QuartusII软件后会在QII软件安装目录的:lalteralquartusldriverslusb-blaster找到USB下载线的驱动。如果你的QI目录没有USB下载线驱动请从下面网页下载www.altera.com/support/software/drivers驱动安装步骤:首先插上USB下载线,然后在QI安装目录的alteralquartusldriverslusb-blaster目录下找到usbblst.inf,右键此文件选择安装即可。或者在设备管理器找到USB下载线设备,把驱动目录指定alteralquartusldriverslusb-blaster目录。安装完后重启电脑。2.在QII中设置USB下载线按照用户手册上使用设置byteblaster的方法设置USB-blaster,所不同的是在如下图的地方选择usb-blaster即可。4
FPGA 实验指导书 4 第一章 Quartus II 8.1 的安装 1.1 软件包对计算机系统的配置要求 如果你想在你的计算机中安装 Quartus II 8.1 软件包,建议的计算机配置为: 1、PIII 1.3G 以上计算机,原装机或兼容机均可。 2、内存不少于 512MB。 3、安装软件包的硬盘分区所剩空间不少于 4GB,安装完剩余空间不小于 600MB。 4、Microsoft Windows 2000 或 Microsoft Windows xp 操作系统。 5、8X 倍速以上速率的光驱(或称 DVD-ROM)。 1.2 软件包的安装步骤 所选用的操作系统为 Windowsa 2000 或 XP 中文操作系统,Quartus II 8.1 安装步骤 1、把软件包的 Quartus II CD1 光碟放入光驱。 2、进入光盘的根目录下,双击 Quartus II8.1 正式版.exe 文件,进入安装界面。 3、用鼠标点击 install,直到完成安装。 1.2 软件狗的安装 为了保护软件的版权,Altera 公司特别为 Quartus II 软件包设计了一个软件狗。如果没有软 件狗,进入 Quartus II 软件包只开放部分简单功能,很多重要功能是不开放的,这给项目的设计 带来诸多不便,尤其是复杂的项目,没有这些功能,设计工作根本没办法展开。在 Quartus II 8.1 的 Tools 菜单下选择 License Setup,然后选择 License file,最后点击 OK。注意:license 文件存 放的路径名称不能包含汉字和空格,空格可以用下划线代替。 1.3 Quarturs II 8.1 下并口的设置 为了将您设计好的工程下载到 ALTERA 器件中须在下载前对计算机并口进行相应设置,方 法为:在微机的 BIOS 中确认并口模式为 EPP 或 ECP,之后还要在打开 Quartus II 情况下单击 “Tools”,在下拉菜单中选择:“programmer”。再在弹出的窗口中点击“Hradware Stup”,弹 出’Hardware Stup’对话框点击 Add Hardware.,将 Hardware type 设置为“ByteBlasterMV or ByteBlaster II ”,“Port”为“LPT1。 1.4 USB-Blaster 驱动安装方法 在安装完 Quartus II 软件后会在 QII 软件安装目录的: \altera\quartus\drivers\usb-blaster 找到 USB 下载线的驱动。 如果你的 QII 目录没有 USB 下载线驱动请从下面网页下载: www.altera.com/support/software/drivers 驱动安装步骤: 首先插上 USB 下载线,然后在 QII 安装目录的 altera\quartus\drivers\usb-blaster 目录下找到 usbblst.inf,右键此文件选择安装即可。或者在设备管理器找到 USB 下载线设备,把驱动目录指 定 altera\quartus\drivers\usb-blaster 目录。安装完后重启电脑。 2.在 QII 中设置 USB 下载线 按照用户手册上使用设置 byteblaster 的方法设置 USB-blaster,所不同的是在如下图的地方 选择 usb-blaster 即可
FPGA实验指导书区Hardware SetupHardware SetingsJTAG SetingsSelect a programming hardware setup to use when programming devices, This programminghardware setup applies only lo the cuent programmerwindowCurrently selected hardware:-US-BiasterTUSB-O1Available hardware items:HardwareServerPortAdd Hardware...USB-0USB-BlasterLocalRemoye.HardwareClose3.在NiosIDE中调试时需要把JTAG调试电缆设置成USB-Blaster,方法如下:打开NiosIDE在菜单Run->Debug.->点击Targetconection一>把JTAGcable选择为USB-Blater即可。1.5无法下载及其解决方法1、查看电源供电是否正常,电源指示灯是否正常:2、如果在下载过程中出现下图。quartus IIXCarmot start device configuration because no progrsrning options have been selected for devicechair铺定请将下图红圈选上。Domartar D:/aig/sin-wien-laim.cdr+)60区HednSopByeaenPModeJTAGPEoeemaeesppogrening larMXlldeicelDevceMaStFChkunVenBaEunnton4ap Auo elet3、如果在下载过程中出现“Error:JTAGServercan'taccessselectedprogramminghardwareError:Operationfailed”。则可能是因为您所使用的微机有病毒值入SRAM中,请更换微机再试或杀毒重试。5
FPGA 实验指导书 5 3.在 NiosIDE 中调试时需要把 JTAG 调试电缆设置成 USB-Blaster,方法如下:打开 NiosIDE, 在菜单 Run->Debug.->点击 Target conection->把 JTAG cable 选择为 USB-Blater 即可。 1.5 无法下载及其解决方法 1、查看电源供电是否正常,电源指示灯是否正常; 2、如果在下载过程中出现下图。 请将下图红圈选上。 3、如果在下载过程中出现“Error: JTAG Server can't access selected programming hardware Error: Operation failed”。则可能是因为您所使用的微机有病毒值入 SRAM 中,请更换 微机再试或杀毒重试