中国高校课件下载中心 》 教学资源 》 大学文库

《数字电子技术实验》课程教学资源(文献资料)13.FPGA实验指导书

文档信息
资源类别:文库
文档格式:PDF
文档页数:133
文件大小:4.82MB
团购合买:点击进入团购
内容简介
《数字电子技术实验》课程教学资源(文献资料)13.FPGA实验指导书
刷新页面文档预览

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 中,请更换 微机再试或杀毒重试

FPGA实验指导书第二章SOPC技术简介20世纪下半页以来,微电子技术迅猛发展,集成电路设计和工艺水平有了很大的提高,单片集成度已达上亿个晶体管,这从数量上已经大大超过了大多数电子系统的要求。如何利用这一儿乎无限的晶体管集成度,就成了电子工程师的一项重大挑战。在这种背景下,片上系统应运而生。SOC是将大规模的数字逻辑和嵌入式处理器整合在单个芯片上,集合模拟部件,形成模数混合、软硬件结合的完整的控制和处理片上系统。2.1SOPC技术的主要特点从系统集成的角度看,SOC是以不同模型的电路集成、不同工艺的集成作为支持基础的。所以,要实验SOC,首先必须重点研究器件的结构与设计技术、VLSI设计技术、工艺兼容技术、信号处理技术、测试与封装技术等,这就需要规模较大的专业设计队伍,相对较长的开发周期和高昂的开发费用,并且涉及到大量集成电路后端设计和微电子技术的专门知识,因此设计者在转向SOC的过程中也面临着巨大的困难。SOC面临上述诸多困难的原因在于SOC技术基于超大规模专用集成电路,因此,整个设计过程必须实现完整的定制或半定制集成电路设计流程。美国Altera公司在2000年提出的SOPC(SystemOnProgrammableChip,片上可编程系统)技术则提供了另一种有效的解决方案,即用大规模可编程器件的FPGA来实验SOC的功能。SOPC与SOC的区别是FPGA与ASIC的区别。SOPC是SOC发展的新阶段,代表了当今电子设计的发展方向。其基本特征是设计人员采用自顶向下的设计方法,对整个系统进行方案设计和功能划分,最后系统的核心电路在可编程器件上实验。随着百万门级的FPGA芯片、功能复杂的IP核、可重构的嵌入式处理器核以及各种功能强大的开发工具的出现,SOPC已成为一种一般单位甚至个人都可以承担和实现的设计方法。SOPC基于FPGA芯片,将处理器、存储器、I/O口等系统设计需要的模块集成在一起,完成整个系统的主要逻辑功能,具有设计灵活、可裁减、可扩充、可升级及软件、硬件在系统可编程的功能。近年来,MCU,DSP和FPGA在现代嵌入式系统中都扮满着非常重要的角色,它们都具有各自的特点但又不能兼顾。在简单的控制和人机接口方面,以51系列单片机和ARM微处理器为代表的MCU因为具有全面的软件支持而处于领先地位;在海量数据处理方面,DSP优势明显;在高速复杂逻辑处理方面,FPGA凭借其超大规模的单芯片容量和硬件电路的高速并行运算能力而显示出突出的优势。因而,MCU,DSP,FPGA的结合是未来嵌入式系统发展的趋势。而SOPC技术正是MCU,DSP和FPGA有机融合。目前,在大容量FPGA中可以嵌入16位或32位的MCU,如Altera公司的NiosII处理器:DSP对海量数据快速处理的优异性能主要在手它的流水线计算技术,只要规律的加减乘除等运算才容量实验流水线的计算方式,这种运算方式也较容量用FPGA的硬件门电路来实现。自前,实验各种DSP算法的IP核已经相当丰富和成熟,例如FFT,IIR,Codec等。利用相关设计工具(如DSPBuider)可以很方便地把现有的数字信号处理IP核添加到工程中去;SOPC一般采用大容量FPGA(如Altera公司的Cyclone,Stratix等系列)作为载体,除了在一片FPGA中定制MCU处理器和DSP功能模块外,可编程器件内还具有小容量高速RAM资源和部分可编程模拟电路,还可以设计其他逻辑功能模块。一个大容量的FPGA的SOPC结构图如图1所示。SOPC技术具有如此多的优点,已经成为嵌入式系统领域中一个新的研究热点,并代表了未来半导体产业的一个发展方向。相对于单片机、ARM而言,目前SOPC技术的应用还不是很广,但从趋势6

FPGA 实验指导书 6 第二章 SOPC 技术简介 20 世纪下半页以来,微电子技术迅猛发展,集成电路设计和工艺水平有了很大的提高,单 片集成度已达上亿个晶体管,这从数量上已经大大超过了大多数电子系统的要求。如何利用这 一几乎无限的晶体管集成度,就成了电子工程师的一项重大挑战。在这种背景下,片上系统应 运而生。SOC 是将大规模的数字逻辑和嵌入式处理器整合在单个芯片上,集合模拟部件,形成模 数混合、软硬件结合的完整的控制和处理片上系统。 2.1 SOPC 技术的主要特点 从系统集成的角度看,SOC 是以不同模型的电路集成、不同工艺的集成作为支持基础的。所 以,要实验 SOC,首先必须重点研究器件的结构与设计技术、VLSI 设计技术、工艺兼容技术、 信号处理技术、测试与封装技术等,这就需要规模较大的专业设计队伍,相对较长的开发周期 和高昂的开发费用,并且涉及到大量集成电路后端设计和微电子技术的专门知识,因此设计者 在转向 SOC 的过程中也面临着巨大的困难。 SOC 面临上述诸多困难的原因在于 SOC 技术基于超大规模专用集成电路,因此,整个设计过 程必须实现完整的定制或半定制集成电路设计流程。美国 Altera 公司在 2000 年提出的 SOPC (System On Programmable Chip,片上可编程系统)技术则提供了另一种有效的解决方案,即 用大规模可编程器件的 FPGA 来实验 SOC 的功能。SOPC 与 SOC 的区别是 FPGA 与 ASIC 的区别。SOPC 是 SOC 发展的新阶段,代表了当今电子设计的发展方向。其基本特征是设计人员采用自顶向下 的设计方法,对整个系统进行方案设计和功能划分,最后系统的核心电路在可编程器件上实验。 随着百万门级的 FPGA 芯片、功能复杂的 IP 核、可重构的嵌入式处理器核以及各种功能强 大的开发工具的出现,SOPC 已成为一种一般单位甚至个人都可以承担和实现的设计方法。SOPC 基于 FPGA 芯片,将处理器、存储器、I/O 口等系统设计需要的模块集成在一起,完成整个系统 的主要逻辑功能,具有设计灵活、可裁减、可扩充、可升级及软件、硬件在系统可编程的功能。 近年来,MCU,DSP 和 FPGA 在现代嵌入式系统中都扮满着非常重要的角色,它们都具有各自 的特点但又不能兼顾。在简单的控制和人机接口方面,以 51 系列单片机和 ARM 微处理器为代表 的 MCU 因为具有全面的软件支持而处于领先地位;在海量数据处理方面,DSP 优势明显;在高速 复杂逻辑处理方面,FPGA 凭借其超大规模的单芯片容量和硬件电路的高速并行运算能力而显示 出突出的优势。因而,MCU,DSP,FPGA 的结合是未来嵌入式系统发展的趋势。而 SOPC 技术正是 MCU,DSP 和 FPGA 有机融合。目前,在大容量 FPGA 中可以嵌入 16 位或 32 位的 MCU,如 Altera 公司的 Nios II 处理器;DSP 对海量数据快速处理的优异性能主要在于它的流水线计算技术,只 要规律的加减乘除等运算才容量实验流水线的计算方式,这种运算方式也较容量用 FPGA 的硬件 门电路来实现。目前,实验各种 DSP 算法的 IP 核已经相当丰富和成熟,例如 FFT,IIR,Codec 等。利用相关设计工具(如 DSP Buider)可以很方便地把现有的数字信号处理 IP 核添加到工程 中去;SOPC 一般采用大容量 FPGA(如 Altera 公司的 Cyclone,Stratix 等系列)作为载体,除 了在一片 FPGA 中定制 MCU 处理器和 DSP 功能模块外,可编程器件内还具有小容量高速 RAM 资源 和部分可编程模拟电路,还可以设计其他逻辑功能模块。一个大容量的 FPGA 的 SOPC 结构图如 图 1 所示。 SOPC 技术具有如此多的优点,已经成为嵌入式系统领域中一个新的研究热点,并代表了未来半 导体产业的一个发展方向。相对于单片机、ARM 而言,目前 SOPC 技术的应用还不是很广,但从趋势

FPGA实验指导书上看,只要再经过几年的发展,未来SOPC技术的应用就会像今天的单片机一样随处可见。CodeeFIR(MCU)1用广烫押用护烫箱图1大容量的FPGA的SOPC结构图2.2SOPC技术实现方式SOPC技术实现方式一般分为三种。(1)基于FPGA嵌入IP(IntellectualProperty)硬核的SOPC系统。目前最常用的嵌入式系统大多采用了含有ARM的32位知识产权处理器核的器件。Altera公司Excalibur系列的FPGA中就植入了ARM922T嵌入式系统处理器:Xi1inx的Virtex-IIPro系列中则植入了IBMPowerPC405处理器。这样就能使得FPGA灵活的的硬件设计和硬件实现与处理器强大的软件功能结合,高效地实现SOPC系统。(2)基于FPGA嵌入IP软核的SOPC系统。在第一种实现方案中,由于硬核是预先植入的,其结构不能改变,功能也相对固定,无法裁减硬件资源,而且此类硬核多来自第三方公司,其知识产权费用导致成本的增加。如果利用软核嵌入式系统处理器就能有效克服这些不利因素。最具有代表性的嵌入式软核处理器是Altera公司的NiosII软核处理器。(3)基于HardCopy技术的SOPC系统。HardCopy就是利用原有的FPGA开发工具,将成功实现于FPGA器件上的SOPC系统通过特定的技术直接向ASIC转化,从而克服传统ASIC设计中普遍存在的问题。从SOPC实现方式上不难看出,IP核在SOPC系统设计中占有极其重要的地位,IP核设计及IP核的复用成为SOPC技术发展的关键所在。半导体产业的IP定义为用于ASIC,ASSP和PLD等当中预先设计好的电路模块。在SOPC设计中,每一个组件都是一个IP核。IP核模块有行为、结构和物理三级不同程度的设计,对应描述功能行为的不同分为三类,即完成行为描述的软核(SoftIPCore)、完成结构描述的固核(FirmIPCore)和基于物理描述并经过工艺验证的硬核(Hard IP Core)。IP软核通常以HDL文本形式提交给用户,它已经过RTL级设计优化和功能验证,但其中不含有任何具体的物理信息。据此,用户可以综合出正确的门电路级设计网表,并可以进行后续的结构设计,具有很大的灵活性。借助于EDA综合工具可以很容易地与其他部逻辑电路合成一体,根据各种不同半导体工艺,设计成具有不同性能的器件。软IP核也称为虚拟组件(VirtualComponent,VC)。IP硬核是基于半导体工艺的物理设计,已有固定的拓扑布局和具体工艺,并已通过工艺验证,具有可保证的性能。其提供给用户的形式是电路物理结构掩模版图和全套工艺文件。IP固核的设计程度则是介于软核和硬核之间,除了完成软核所有的设计外,还完成了门级电路综合和时序仿真等设计环节。一般以门级电路网表的形式提供给用户。如何设计出性能良好的IP核?虽然这个问题没有统一完整的答案,但根据前人开发的经验以及电子设计的一般规则,仍然可以总结出一般IP核设计应该遵循的几个准则:(1)规范化一一严格按照规范设计,这样的系统具有可升级性、可继承性,易于系统集成;7

FPGA 实验指导书 7 上看,只要再经过几年的发展,未来 SOPC 技术的应用就会像今天的单片机一样随处可见。 图 1 大容量的 FPGA 的 SOPC 结构图 2.2 SOPC 技术实现方式 SOPC 技术实现方式一般分为三种。 (1)基于 FPGA 嵌入 IP(Intellectual Property)硬核的 SOPC 系统。目前最常用的嵌入 式系统大多采用了含有 ARM 的 32 位知识产权处理器核的器件。Altera 公司 Excalibur 系列的 FPGA 中就植入了 ARM922T 嵌入式系统处理器;Xilinx 的 Virtex-II Pro 系列中则植入了 IBM PowerPC405 处理器。这样就能使得 FPGA 灵活的的硬件设计和硬件实现与处理器强大的软件功能 结合,高效地实现 SOPC 系统。 (2)基于 FPGA 嵌入 IP 软核的 SOPC 系统。在第一种实现方案中,由于硬核是预先植入的, 其结构不能改变,功能也相对固定,无法裁减硬件资源,而且此类硬核多来自第三方公司,其 知识产权费用导致成本的增加。如果利用软核嵌入式系统处理器就能有效克服这些不利因素。 最具有代表性的嵌入式软核处理器是 Altera 公司的 Nios II 软核处理器。 (3)基于 HardCopy 技术的 SOPC 系统。HardCopy 就是利用原有的 FPGA 开发工具,将成功 实现于 FPGA 器件上的 SOPC 系统通过特定的技术直接向 ASIC 转化,从而克服传统 ASIC 设计中 普遍存在的问题。 从 SOPC 实现方式上不难看出,IP 核在 SOPC 系统设计中占有极其重要的地位,IP 核设计及 IP 核的复用成为 SOPC 技术发展的关键所在。半导体产业的 IP 定义为用于 ASIC,ASSP 和 PLD 等当中预先设计好的电路模块。在 SOPC 设计中,每一个组件都是一个 IP 核。IP 核模块有行为、 结构和物理三级不同程度的设计,对应描述功能行为的不同分为三类,即完成行为描述的软核 (Soft IP Core)、完成结构描述的固核(Firm IP Core)和基于物理描述并经过工艺验证的硬 核(Hard IP Core)。 IP 软核通常以 HDL 文本形式提交给用户,它已经过 RTL 级设计优化和功能验证,但其中不 含有任何具体的物理信息。据此,用户可以综合出正确的门电路级设计网表,并可以进行后续 的结构设计,具有很大的灵活性。借助于 EDA 综合工具可以很容易地与其他部逻辑电路合成一 体,根据各种不同半导体工艺,设计成具有不同性能的器件。软 IP 核也称为虚拟组件(Virtual Component ,VC)。 IP 硬核是基于半导体工艺的物理设计,已有固定的拓扑布局和具体工艺,并已通过工艺验 证,具有可保证的性能。其提供给用户的形式是电路物理结构掩模版图和全套工艺文件。 IP 固核的设计程度则是介于软核和硬核之间,除了完成软核所有的设计外,还完成了门级电路 综合和时序仿真等设计环节。一般以门级电路网表的形式提供给用户。 如何设计出性能良好的 IP 核?虽然这个问题没有统一完整的答案,但根据前人开发的经验 以及电子设计的一般规则,仍然可以总结出一般 IP 核设计应该遵循的几个准则: (1)规范化——严格按照规范设计,这样的系统具有可升级性、可继承性,易于系统集成;

FPGA实验指导书(2)简洁化一一设计越简洁的系统,就越容易分析、验证,达到时序收敛:(3)局部化一一时序和验证中的问题局部化,就容易发现和解决问题,减少开发时间,提高质量。只有按照一定的编码规则编写的IP核代码才具有较好的可读性,易于修改并且具有较强的可复用性,同时也可获得较高的综合性能和仿真效果。2.3SOPC系统开发流程SOPC系统开发流程一般分为硬件和软件两大部分,如图2所示。硬件(按照习惯说法,将一个SOPC系统中的NioSIICPU和外设等统称为硬件,虽然它也是由软件来实现的:而在这个系统上运行的程序称为软件)开发主要是创建NiosII系统,作为应用程序运行的平台;软件开发主要是根据系统应用的需求,利用C/C++语言和系统所带的API(AppilcationProgrammingInterface,应用程序接口)函数编写实现特定功能的程序。这其中用到的主要工具是Altera公司的QuartusII和Nios II IDE。soPC Builder GUI自定制指令处理器库配置处理器IP模块外设库选择并配置外设软件开发连接模块硬件开发Nios II IDE:HDL原文件:c头文件生成自定文件测试平台外设驱动验证和硬件配Quartus II置文件调试编译.连接,调试分析和适配JTAG软件跟踪UART用户代码硬件断点:用户代码-Ethernet.库signal Tap II其它IP模块.RTOSAltera片上调试PLD图2SOPC系统开发流程2.4Cyclone器件Cyclone现场可编程门阵列系列基于1.5V、0.13μⅢ全铜层SRAM工艺,其密度增加至20060个逻辑元件(LE),RAM增加至228KB。它具有生成时钟的锁相环以及DDRSDR和快速RAM(FCRAM)存储器所需的专用双数据率(DDR)接口等。Cyclone器件支持多种I/0标准,包括640Mbps的LVDS,以及频率为33MHz和66MHz、数据宽度为32位和64位的PCI。2.4.1新型可编程架构Cyclone系列器件基于一种全新的低成本架构,从设计之初就充分考虑了成本的节省问题,因此可以为价格敏感的应用提供全新的可编程的解决方案。低成本FPGA的设计过程要面临许多的挑战,其中最具挑战性的就是如何在性能、特性以及价格中间找到一个合适的定位。FPGA设计师必须找到一个平衡点,以确保在可编程片上系统(SOPC)方案中既可以提供充足的逻辑单元和存储器容易,又不会使价格过高。Cyclone器件设计时选择了较小的封装形式,以提供给用户足够的I/O管脚和良好的功耗特性。在此基础上,根据封装的物理尺寸定义裸片连接点的最大尺寸,装入尽可能多的逻辑结构和存储器块,从而保证每种封装都装入最多的逻辑资源。8

FPGA 实验指导书 8 (2)简洁化——设计越简洁的系统,就越容易分析、验证,达到时序收敛; (3)局部化——时序和验证中的问题局部化,就容易发现和解决问题,减少开发时间,提 高质量。 只有按照一定的编码规则编写的 IP 核代码才具有较好的可读性,易于修改并且具有较强的 可复用性,同时也可获得较高的综合性能和仿真效果。 2.3 SOPC 系统开发流程 SOPC 系统开发流程一般分为硬件和软件两大部分,如图 2 所示。硬件(按照习惯说法,将一个 SOPC 系统中的 Nios II CPU 和外设等统称为硬件,虽然它也是由软件来实现的;而在这个系统上运 行的程序称为软件)开发主要是创建 Nios II 系统,作为应用程序运行的平台;软件开发主要是根 据系统应用的需求,利用 C/C++语言和系统所带的 API(Appilcation Programming Interface,应 用程序接口)函数编写实现特定功能的程序。这其中用到的主要工具是 Altera 公司的 Quartus II 和 Nios II IDE。 图 2 SOPC 系统开发流程 2.4 Cyclone 器件 Cyclone 现场可编程门阵列系列基于 1.5V、0.13μ m 全铜层 SRAM 工艺,其密度增加至 20060 个逻辑元件(LE),RAM 增加至 228KB。它具有生成时钟的锁相环以及 DDR SDR 和快速 RAM(FCRAM) 存储器所需的专用双数据率(DDR)接口等。Cyclone 器件支持多种 I/O 标准,包括 640Mbps 的 LVDS,以及频率为 33MHz 和 66MHz、数据宽度为 32 位和 64 位的 PCI。 2.4.1 新型可编程架构 Cyclone 系列器件基于一种全新的低成本架构,从设计之初就充分考虑了成本的节省问题, 因此可以为价格敏感的应用提供全新的可编程的解决方案。 低成本 FPGA 的设计过程要面临许多的挑战,其中最具挑战性的就是如何在性能、特性以及 价格中间找到一个合适的定位。FPGA 设计师必须找到一个平衡点,以确保在可编程片上系统 (SOPC)方案中既可以提供充足的逻辑单元和存储器容易,又不会使价格过高。 Cyclone 器件设计时选择了较小的封装形式,以提供给用户足够的 I/O 管脚和良好的功耗特 性。在此基础上,根据封装的物理尺寸定义裸片连接点的最大尺寸,装入尽可能多的逻辑结构 和存储器块,从而保证每种封装都装入最多的逻辑资源

FPGA实验指导书Cyclone架构如图3所示,垂直结构的逻辑单元(LE)、嵌入式存储块和锁相环(PLL)周围环绕着I/0单元(IOE),高效的内部连续和低延时的时钟网络保证了每个结构单元之间时钟和数据信号的连通性。器件周围分区工作的I/0单元被划分为不同的I/0块。这些I/0块支持一系列单端和差分I/0电平标准,包括SSTL-2、SSTL-3以及最高311Mbps的LVDS接口标准。每个I/0单元包含有3个寄存器,以实现双倍数据速率(DDR)的应用,另外还包含其他的I/0特性相关电路,如总线驱动能力可编程、总线保持以及电平摆率可编程等。Phase-Locked LoopsM9K Memory BlocksLogic ArrayEmbedded18-bit x 18-bitMultipliersSide 1O Cellwith Support forLVDS Signalsupto 875MbpsTopand BottomVO Cellfor MemoryInterfaces Up to400Mbps图3CvcloneIII平面图I/O块配备了专门的外部存储器接口电路。该接口电路大大简化了与外部存储器(包括DDRSDRAM和FCRAM器件)的数据交换过程,可以达到266Mbps(133MHz时钟频率)的最大数据交换速率。Cyc1one器件支持32B/66MHzPCI接口。每个I/0单元提供从管脚到FPGA内核的多条路径,以便器件满足相关的建立和保持时间。Cyclone器件的容量最小为2910个逻辑单元及59904B存储器,最大为20060个逻辑单元和294912B存储器。所有Cyclone器件由最多8个全局时钟线组成的全局时钟网络驱动。从器件的任何位置都可以访问这些时钟线,它们的驱动源可以是输入引脚、锁相环的输出时钟、DDR/PCI接口的输入信号以及内部逻辑生成的输出信号,如图4所示。Figure6-18,GlobalClockGenerationLK3Q000ACuBaeOPCLKSA)IDPOUN00OPCUK?X图4Cyclone器件时钟网络2.4.2嵌入式存储资源Cyclone器件为在FPGA上实现低成本的数字信号处理(DSP)系统提供了一个理想的平台。它为设计工程师提供了灵活的硬件解决方案,能够实现设计中所需的多个乘法器。9

FPGA 实验指导书 9 Cyclone 架构如图 3 所示,垂直结构的逻辑单元(LE)、嵌入式存储块和锁相环(PLL)周围 环绕着 I/O 单元(IOE),高效的内部连续和低延时的时钟网络保证了每个结构单元之间时钟和 数据信号的连通性。 器件周围分区工作的 I/O 单元被划分为不同的 I/O 块。这些 I/O 块支持一系列单端和差分 I/O 电平标准,包括 SSTL-2、SSTL-3 以及最高 311Mbps 的 LVDS 接口标准。每个 I/O 单元包含有 3 个寄存器,以实现双倍数据速率(DDR)的应用,另外还包含其他的 I/O 特性相关电路,如总 线驱动能力可编程、总线保持以及电平摆率可编程等。 图 3 CycloneIII 平面图 I/O 块配备了专门的外部存储器接口电路。该接口电路大大简化了与外部存储器(包括 DDR SDRAM 和 FCRAM 器件)的数据交换过程,可以达到 266Mbps(133MHz 时钟频率)的最大数据交换速率。 Cyclone 器件支持 32B/66MHz PCI 接口。每个 I/O 单元提供从管脚到 FPGA 内核的多条路径, 以便器件满足相关的建立和保持时间。 Cyclone 器件的容量最小为 2910 个逻辑单元及 59904B 存储器,最大为 20060 个逻辑单元和 294912B 存储器。 所有 Cyclone 器件由最多 8 个全局时钟线组成的全局时钟网络驱动。从器件的任何位置都 可以访问这些时钟线,它们的驱动源可以是输入引脚、锁相环的输出时钟、DDR/PCI 接口的输入 信号以及内部逻辑生成的输出信号,如图 4 所示。 图 4 Cyclone 器件时钟网络 2.4.2 嵌入式存储资源 Cyclone 器件为在 FPGA 上实现低成本的数字信号处理(DSP)系统提供了一个理想的平台。 它为设计工程师提供了灵活的硬件解决方案,能够实现设计中所需的多个乘法器

FPGA实验指导书Cyclone器件中的M9K块可用来实现软乘法器,以满足图像处理、音频处理和消费类电子系统的需要。软乘法器可以根据所需数据位宽、系数位宽来定制,并且根据需要选择精度。利用M9K块,可采用并行乘法方式或分布式运算方式来实现不同数据宽度的软乘法器。这两种不同的实现方法提供了等待时间、存储器利用率和乘法器尺寸上的灵活性。图5显示了使用CycloneFPGA的M9K块并采用分布式运算方式实现的有限脉冲响应(FIR)滤波器。表2-6汇总了在Cyclone器件的M4K块中可以实现的乘法器的数量。可选择流水线输人寄存器输出寄存器数据输入序列(n)输入序列寄存器x(n)缓存模块来清零读写地址、时钟及使能1果输出序列y(n)信号加模块控制模块时钟输入读地址、时钟及使能!系数输入系数滤波器系数h(n)存储模块系数写地址中 Up to 260 Mhz Performance79One 18-bitortwo 9-bit MultipliersperBlockHen-)Data A [17.0]M+DataOut [35.0]Data B [17.0]加/减法器NA乘法器求和单元/累加器CLRN18 × 18Multiplier图1DSP模块结构EmbeddedMultiplier图5用M9K块嵌入式乘法器采用分布式算法实现FIR滤波器表2-6在M9K块中实现18×18位乘法器器件M9K块的数量用M9K块可实现的乘法器的数量EP3C5462323EP3C10465656EP3C166666EP3C25126126EP3C40EP3C55260156EP3C80305244EP3C1204322882.4.3专用外部存储接口电路DDRSDRAM拥有与SDR相同的结构,但是在时钟的上升沿和下降沿都传输数据,从而使数据交换的带宽加倍。FCRAM则是一种延迟时间较低、基于SRAM功能架构的存储器件。在大容量、低功耗的应用环境下,FCRAM提供了更好的性能。与SDRAM类以,FCRAM支持在时钟的上下两个沿进行数据交换,适用于流水线存储和预置数所操作,与SDRAM架构的存储器相比,所需的访问时钟周期大大减少。Cyclone器件通过片内内嵌的专用接口电路实现与双数据速率(DDR)SDRAM和FCRAM以及单数据速率(SDR)SDRAM器件进行快速可靠的数据交换,最高速率可达到400MbpS。如果再结10

FPGA 实验指导书 10 Cyclone 器件中的 M9K 块可用来实现软乘法器,以满足图像处理、音频处理和消费类电子系 统的需要。软乘法器可以根据所需数据位宽、系数位宽来定制,并且根据需要选择精度。 利用 M9K 块,可采用并行乘法方式或分布式运算方式来实现不同数据宽度的软乘法器。这 两种不同的实现方法提供了等待时间、存储器利用率和乘法器尺寸上的灵活性。图 5 显示了使 用 Cyclone FPGA 的 M9K 块并采用分布式运算方式实现的有限脉冲响应(FIR)滤波器。表 2-6 汇总了在 Cyclone 器件的 M4K 块中可以实现的乘法器的数量。 图 5 用 M9K 块嵌入式乘法器采用分布式算法实现 FIR 滤波器 表 2-6 在 M9K 块中实现 18×18 位乘法器 器件 M9K 块的数量 用 M9K 块可实现的乘法器的数量 EP3C5 46 23 EP3C10 46 23 EP3C16 56 56 EP3C25 66 66 EP3C40 126 126 EP3C55 260 156 EP3C80 305 244 EP3C120 432 288 2.4.3 专用外部存储接口电路 DDR SDRAM 拥有与 SDR 相同的结构,但是在时钟的上升沿和下降沿都传输数据,从而使数据 交换的带宽加倍。FCRAM 则是一种延迟时间较低、基于 SRAM 功能架构的存储器件。在大容量、 低功耗的应用环境下,FCRAM 提供了更好的性能。与 SDRAM 类似,FCRAM 支持在时钟的上下两个 沿进行数据交换,适用于流水线存储和预置数所操作,与 SDRAM 架构的存储器相比,所需的访 问时钟周期大大减少。 Cyclone 器件通过片内内嵌的专用接口电路实现与双数据速率(DDR)SDRAM 和 FCRAM 以及 单数据速率(SDR)SDRAM 器件进行快速可靠的数据交换,最高速率可达到 400Mbps。如果再结

刷新页面下载完整文档
VIP每日下载上限内不扣除下载券和下载次数;
按次数下载不扣除下载券;
注册用户24小时内重复下载只扣除一次;
顺序:VIP每日次数-->可用次数-->下载券;
相关文档