通向FPGA之路---七天玩转Altera之基础篇V1.00
FPGA_CPLD设计开发流程快速入门指南 ALTERA篇QuartusII 史上最全

对于本工程实例,设置好器件型号后,就可以直接选择【Finish】即可进入“第五节 逻 辑设计”即可,但如果您想了解其它页表项,可继续往下阅读。
(5)选择【Next >】后即可进入 EDA 工具设置页表项。QuartusII 支持很多第三方工具, 比如综合工具、仿真工具等等,第三工具通常在某一方面更为专业,特别 是仿真工具, QuartusII 已经不再提供仿真功能,只能用第三方仿真工具,如 Modelsim 来进行仿真。
在总结中显示了当前工程编译后所占用的资源情况,本工程占用 51 个宏单元,占用总 设计资源的 21%,使用了 2 个引脚(即 clk 与 clk_out),占用总引脚的 3%
九、逻辑下载
逻辑全编译后即可生成下载文件,对于 CPLD 开发平台,通常是.pof 文件,对于 FPGA 开发平台,还可以是.sof、.jic 等文件
完成后此时应如下图所示:
6
All rights reserved, NO Spreading without Authorization
professional products right for you ( / )
六、逻辑综合
逻辑设计完毕后,可以初步对逻辑进行综合,以进行分析
(1)选择菜单【Processing】→【Start】→【Start Analysis & Synthesis】后,即可开始 进行逻辑设计的综合过程,完成后应如下图所示:
(2)菜单选择【Tools】→【Netlist Viewers】→【RTL Viewer】后即可出现 RTL(寄存器 传输级)图,通常,对于简单的逻辑错误,使用 RTL 可以看出来。本文要实现的是 26 位分 频器,下图表示,每到来一个时钟,即使用 Add0 加法器将当前 tmp 寄存器中的值累加 1, 再通过一个 clk_out~reg0 将最高位输出,这正好应证了我们的设计思路。
通向FPGA之路---七天玩转Altera之基础篇V1[1].0_18
![通向FPGA之路---七天玩转Altera之基础篇V1[1].0_18](https://img.taocdn.com/s3/m/0a4a070bf12d2af90242e6bf.png)
RTL Viewer为了最大化可读性(readability),按如下规则优化网表:(1)没有扇入/扇出(输入/输出未连接)的逻辑不显示;(2)默认的连接不显示,如Vcc和GND;(3)如果可能,pin、net、wire、module port和一些特定逻辑会组成总线;(4)常量总线(constant bus)被组合在一起;(5)十六进制显示;(6)非门(NOT)在原理图里显示为小圆圈(bubble inversion symbols),如与非门图标上的小圆圈;(7)等价的逻辑门链合并到一个逻辑门。
比如,一个2输入与门驱动一个2输入与门被转化成一个3输入与门;(8)状态机被转成一个状态图表、转换表等,显示在State Machine Viewer中;对于一个大型设计来说,需要在布局布线阶段花费大量时间。
不过我们可以在工程进行全编译,并在完成Analysis and Synthesis阶段、正在进行Fitter的时候打开RTL Viewer。
此功能默认关闭,故要使能此功能,点击Assignments->Settings-> Compilation Process Settings,勾选Run RTL Viewer preprocessing during compilation。
(2)Technology Map ViewerTechnology Map Viewer显示映射(后综合)和适配的结果:基本原件(atom primitives)的层级(hierarchy),比如芯片的Logic cells(LCELLs)和I/O ports。
对于支持的芯片,也能显示LCELLs中的寄存器及查找表(LUTs)和I/O基本原件中的寄存器。
层级(hierarchy)的意义可用下图表示:右键选择Hierarchy Down,得到如下所所示。
4.1 界面介绍4.1.1 图标从一段程序的RTL Viewer和Technology Map Viewe视图入手,展示所有symbols。
alterafpga配置

alterafpga配置配置是连接FPGA软件设计到硬件功能实现的桥梁,配置电路部分有误,配置文件无法下载到配置器件中,对FPGA编程,则再好的设计都是浮云。
上电后,配置数据保存在配置RAM中,将配置数据载入配置RAM即是对FPGA编程。
配置方式有很多种,主要区别为FPGA所处的地位和打入数据的方式不同,其基本时序基本相同。
基本时序波形如下:配置过程主要由nCONFIG、nSTATUS、CONF_DONE以及可选的INIT_DONE四个状态信号控制。
一个器件完整的配置过程包括上电复位、配置、初始化三个阶段。
正常上电后,nCONFIG管脚被拉低,器件复位,此时配置RAM的所有内容被清空,所有I/O处于高阻态,其余三个状态信号亦均被拉低,复位结束后,FPGA释放nCONFIG管脚,使其被外部上拉电阻拉高,FPGA在nCONFIG检测到由低到高的跳变沿,配置开始,同时FPGA 采样MSEL的信号状态,决定接受何种配置模式。
随后,FPGA释放nSTATUS管脚,外不上拉电阻将其拉高,FPGA在nSTATUS管脚检测到由低到高的跳变沿,表示FPGA开始接受数据。
配置数据由DATA管脚打入,配置时钟经DCLK管脚送入(被动方式下,主动方式DCLK 由FPGA提供),配置数据在上升沿锁存至FPGA中,配置数据全部打入到FPGA后,FPGA释放CONF_DONE管脚,使其由外部上拉电阻拉高,说明配置结束,进入初始化过程。
INIT_DONE是一个可选的指示初始化完成的信号(Device-Pin&Options-general),INIT_DONE在nCONFIG信号为低或配置的初期时为高电平,而当使能INIT_DONE的比特位(在配置数据的第一帧中)被配置进FPGA后,INIT_DONE信号变低,因此INIT_DONE信号由高到低的跳变表示FPGA配置真正开始,开始接收配置数据,如果INIT_DONE一直保持为高,说明FPGA没有接收到正确配置数据的文件头。
Altera公司FPGA的配置

•
针对FPGA器件不同的内部结构,Altera公司
提供了不同的器件配置方式。Altera FPGA的配
置可通过编程器、JATG接口在线编程及Altera在
线配置等方式进行。
•
Altera器件编程下载电缆的有:
ByteBlaster并行下载电缆,ByteBlasterMV并行
MAX9000(包括MAX9000A)、MAX7000S和MAX7000A
进行编程。ByteBlaster为FPGA提供了一种快速而
廉价的配置方法,设计人员的设计可以直接通过
ByteBlaster下载电缆下载到芯片中去。
(1)下载模式
ByteBlaster并行下载电缆提供两种下载模式: • ①Passive serial mode(PS,被动串行模式)
1. PS(被动串行)模式
•
在PS(被动串行)模式下,MasterBlaster
下载电缆和ByteBlasterMV下载电缆可以对单个
与多个APEXⅡ、APEX20K、Mercury、ACEX1K、
FLEX10K或 FLEX6000系列器件进行配置。在PS模
式,配置数据从数据源通过MasterBlaster下载
电缆和ByteBlasterMV下载电缆串行地传送到器
件,配置数据由数据源提供的时钟同步。
(1)PS模式单个器件的配置电路设计
•
PS模式可以完成对单个APEXⅡ、 NhomakorabeaPEX20K、
Mercury、ACEX1K、FLEX10K或 FLEX6000系列器件
的配置,配置电路如图6.2所示。
•
图中:除 APEX20KE、APEX20KC系列器件外,
FPGA的基本工作原理 Xilinx和Altera对比

FPGA的基本工作原理Xilinx和Altera对比FPGA是在PAL、GAL、EPLD、CPLD等可编程器件的基础上进一步发展的产物。
它是作为ASIC领域中的一种半定制电路而出现的,即解决了定制电路的不足,又克服了原有可编程器件门电路有限的缺点。
由于FPGA需要被反复烧写,它实现组合逻辑的基本结构不可能像ASIC那样通过固定的与非门来完成,而只能采用一种易于反复配置的结构。
查找表可以很好地满足这一要求,目前主流FPGA都采用了基于SRAM工艺的查找表结构,也有一些军品和宇航级FPGA 采用Flash或者熔丝与反熔丝工艺的查找表结构。
通过烧写文件改变查找表内容的方法来实现对FPGA的重复配置。
根据数字电路的基本知识可以知道,对于一个n输入的逻辑运算,不管是与或非运算还是异或运算等等,最多只可能存在2n种结果。
所以如果事先将相应的结果存放于一个存贮单元,就相当于实现了与非门电路的功能。
FPGA的原理也是如此,它通过烧写文件去配置查找表的内容,从而在相同的电路情况下实现了不同的逻辑功能。
查找表的原理与结构查找表(Look-Up-Table)简称为LUT,LUT本质上就是一个RAM。
目前FPGA中多使用4输入的LUT,所以每一个LUT可以看成一个有4位地址线的的RAM。
当用户通过原理图或HDL语言描述了一个逻辑电路以后,PLD/FPGA开发软件会自动计算逻辑电路的所有可能结果,并把真值表(即结果)事先写入RAM,这样,每输入一个信号进行逻辑运算就等于输入一个地址进行查表,找出地址对应的内容,然后输出即可。
下面给出一个四输入与非门电路的例子来说明LUT实现逻辑功能的原理。
表给出一个使用LUT实现四输入与门电路的真值表。
从中可以看到,LUT具有和逻辑电路相同的功能。
实际上,LUT具有更快的执行速度和更大的规模。
3.1.2查找表结构的FPGA逻辑实现原理。
第1章 FPGA开发简介-Altera FPGA系统设计实用教程(第2版)-李莉-清华大学出版社

下载电缆
ByteBlaster II
USB-Blaster
Ethernet Blaster
(1)完全符合设计人员的设计思路,从功能描述开 始,到物理实现的完成。
(2)设计更加灵活。 (3)设计易于移植和更改。 (4)易于进行大规模、复杂电路的设计实现。 (5)设计周期缩短。
1.4.2 典型FPGA开发流程
电路功能设计
设计输入
编译 综合
功能仿真
FPGA适配(布局布线)
时序仿真
配置
硬件环境要求高,软件投资大,通用性强,不面向具体 公司的PLD器件。
PLD制造厂商开发的专用软件工具则具有硬件环境要求 低,软件投资小的特点,并且很多PLD厂商的开发工具 是免费提供的,因此其市场占有率非常大;缺点是只针 对本公司的PLD器件,有一定的局限性。
1.4 基于FPGA的开发流程
1.4.1 FPGA设计方法概论 FPGA的设计方法属于自上而下的设计方法
第1章 FPGA开发简介
1.1 可编程逻辑器件概述 1.2 FPGA芯片 1.3 FPGA开发工具 1.4 基于FPGA的开发流程
1.1 可编程逻辑器件概述
可编程逻辑器件(Programmable Logic Device,简
称PLD)
可编程逻辑器件
PLD
低密度 PLD
高密度 PLD
PROM
PLA
PAL
GAL
EPLD CPLD FPGA
70年代初
70年代末 80年代初
80年代中期
80年代中期 及以后
图1-1 PLD器件的发展流程
低密度PLD的基本结构参考图
输入项 乘积项
或项
输
输
七天玩转Altera之基础篇
通向FPGA之路---七天玩转Altera之基础篇V1.0目录:1. Altera基础 (4)1.1 典型设计流程 (4)1.2 QuartusII 编译流程 (4)1.3 管理QuartusII工程 (5)1.4 设计输入 (7)1.5 优化向导 (9)2. Assignment Editor (11)2.1 介绍 (11)2.2 优化实例 (14)2.2.1 PCI I/O及乘法器 (14)2.2.2 弱上拉 (15)2.2.3 设置输出管脚驱动电流 (16)3. I/O设计 (20)3.1 I/O系统 (20)3.1.1 早期I/O规划 (20)3.1.2 引脚分配 (27)3.1.3 验证并使能I/O设置 (37)3.2 高级I/O系统 (40)3.2.1 信号完整性仿真和分析需求 (41)3.2.2 SSN分析和减小措施 (41)3.2.3 QuartusII软件中的三类分析 (50)3.2.4 第三类:IBIS & HSPICE模型 (60)4. Netlist Viewers (68)4.1 界面介绍 (71)4.1.1 图标 (71)4.1.2 视图 (75)4.2 浏览 (76)4.3 过滤 (80)4.3.1 类型 (81)4.3.2 层次化过滤 (82)4.4 Tooltips (83)5. MegaWizard Plug-In Manager(暂无) (85)前言:网上关于Altera的教程很多,可谓浩如烟海。
大体来说有两类:一是,step by step的指导如何操作Quartus软件,这类方法的优点是上手快,但却有知其然不知其所以然之惑;二是,从一个很高的起点分析一些具体问题,优点是有深度,但也把大部分初学者拒之门外,不知路在何方。
本系列教程的宗旨是在力求全面介绍Altera及其QuartusII软件原理的基础上,对何如使用Altera FPGA进行基础设计、时序分析、验证、优化四大方面进行讲解。
FPGA入门实验教程 适合初学者
艾米电子工作室—让开发变得更简单FPGA 入门系列实验教程——点亮LED1. 实验任务点亮发光二极管。
通过这个实验,熟悉并掌握CPLD/FPGA 开发软件QuartusII 的使用方法和开发流程以及Verilog HDL的编程方法。
2. 实验环境硬件实验环境为艾米电子工作室型号EP2C5T144 开发套件。
软件实验环境为Quartus II 8.1 开发软件。
3. 实验原理FPGA 器件同单片机一样,为用户提供了许多灵活的独立的输入/输出I/O 口(单元)。
FPGA 每个I/O 口可以配置为输入、输出、双向、集电极开路和三态门等各种组态。
作为输出口时,FPGA 的I/O 口可以吸收最大为24mA 的电流,可以直接驱动发光二极管LED 等器件。
图1. 1 为8 个发光二极管硬件原理图,本原理图对应艾米电子工作室型号为EP2C5T144 FPGA 开发板及接口板。
通过原理图可知如果要点亮这八个LED,所以只要正确分配并锁定引脚后,在相应的引脚上输出相应高电平“1”,就可实现点亮该发光二极管的功能。
本工作室开发板均采用输出“1”点亮LED 的模式,以后就不再另作说明。
图1. 1 发光二极管LED 硬件原理图艾米电子工作室—让开发变得更简单FPGA 入门系列实验教程——LED 闪烁灯1. 实验任务让实验板上的8 个LED 周期性的闪烁。
通过这个实验,熟悉并掌握采用计数与判断的方式来实现分频的Verilog HDL 的编程方法以及Quartus II 软件的使用方法和开发流程。
2. 实验环境硬件实验环境为艾米电子工作室型号EP2C8Q208 增强版开发套件。
软件实验环境为Quartus II 8.1 开发软件。
3. 实验原理艾米电子工作室开发套件板载50MHz 的时钟源,假如我们直接把它输入到发光二极管LED,由于人眼的延迟性,我们将无法看到LED 闪烁,认为它一直亮着。
如果我们期望看到闪烁灯,就需要将时钟源的频率降低后再输出。
Altera CPLDFPGA轻松入门与开发实例第4章 (4)
2 时序分析
(5)数据要求信号---保持时间:使新信号 到达目的寄存器D输入的最早的时间
2 时序分析
(6)Slack:用于衡量设计满足或者不满足 时序约束的程度,为了使电路能够正常工 作,Slack的计算结必须是正的。
建立Slack = 建立需要的时间 — 数据到达时间 保持Slack = 数据到达时间 — 保持需要的时间
2 时序分析
(1)启动沿(Launch)和锁存沿(Latch)
2 时序分析
(2)数据到达时间:时钟启动沿使数据从 源寄存器到达目的寄存器D输入引脚的时 间
2 时序分析
(3)时钟到达时间:时钟到达寄存器时钟 引脚的时间
2 时序分析
(4)数据要求信号---建立时间:使信号由 源寄存器发送必须到达目的寄存器D输入 的时间,以便正确采样。
2 PLD设计流程
PLD的开发流程一般包括设计定义、 设计输入、功能仿真、综合优化、综合后 仿真、实现、布线后仿真、板级仿真以及 芯片编程与调试等主要步骤 。
2 布局布线
4.4 仿真及时序分析 4.4.1 仿真 4.4.2 时序分析
Page 17
机பைடு நூலகம்工业出版社
2015-1-6
1 仿真
新的Quartus II软件不再提供自带的仿真器( Simulator),因此要使用EDA 仿真工具对设计进 行功能与时序仿真。 使用 NativeLink 功能,可以让Quartus II 软件编译设计,生成相应的输出文件,然后使用 EDA 仿真工具自动进行仿真。当然也可以在编译 之前或编译之后,在Quartus II 软件中手动运行 EDA 仿真工具进行功能仿真或时序仿真。功能仿 真可以在设计流程中的任何阶段进行。时序仿真 则必须在编译之后才能进行。
FPGA入门教程_ALTERA_Quartus_II__和_XILINX___ISE_CPLD入门教程_教案_VHDL_Verilog_例程讲解
2011-8
FPGA介绍
何为FPGA?
FPGA(Field-Programmable Gate Array),即现 场可编程门阵列,它是在PAL、GAL、CPLD等可编 程器件的基础上进一步发展的产物。它是作为专用 集成电路(ASIC)领域中的一种半定制电路而出现 的,既解决了定制电路的不足,又克服了原有可编 程器件门电路数有限的缺点
Verilog HDL 的抽象级别
语言本身提供了各种层次抽象的表述,可以用详细 程度有很大差别的的多层次模块组合来描述一个 电路系统。 行为级:技术指标和算法的Verilog描述 RTL关级:具体的晶体管物理器件的描述
Verilog HDL 的抽象级别
设计复杂数字系统的工具 和手段
两种硬件描述语言 : Verilog VHDL
有哪几种硬件描述语言? 各有什么特点?
Verilog HDL - 较多的第三方工具的支持 - 语法结构比VHDL简单 - 学习起来比VHDL容易 - 仿真工具比较好使 - 测试激励模块容易编写
Verilog HDL 的发展历史
两者建模能力的比较
行为级 的抽象
系统级
SystemVerilo g
算法级
VHDL Verilog
寄存器传输级
逻辑门级 VITAL
开关电路级
VerilogHDL 与 VHDL 建 模 能 力 的 比 较
Verilog HDL有什么用处?
在各种抽象层次上描述数字电路
测试各种层次数字电路的行为 设计出正确有效的复杂电路结构
数字信号处理系统的实现
非实时系统: 通用的计算机和利用通用计算机改装的设备,主要 工作量是编写 “C” 程序。输入/输出数据大多为文 本 。 实时系统: 信号处理专用的微处理器为核心的设备,主要工作 量是编写汇编程序。输入/输出数据大多为数据流, 直接用于控制 。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
通向FPGA之路---七天玩转Altera之基础篇V1.0目录:1. Altera基础 (4)1.1 典型设计流程 (4)1.2 QuartusII 编译流程 (4)1.3 管理QuartusII工程 (5)1.4 设计输入 (7)1.5 优化向导 (9)2. Assignment Editor (11)2.1 介绍 (11)2.2 优化实例 (14)2.2.1 PCI I/O及乘法器 (14)2.2.2 弱上拉 (15)2.2.3 设置输出管脚驱动电流 (16)3. I/O设计 (20)3.1 I/O系统 (20)3.1.1 早期I/O规划 (20)3.1.2 引脚分配 (27)3.1.3 验证并使能I/O设置 (37)3.2 高级I/O系统 (40)3.2.1 信号完整性仿真和分析需求 (41)3.2.2 SSN分析和减小措施 (41)3.2.3 QuartusII软件中的三类分析 (50)3.2.4 第三类:IBIS & HSPICE模型 (60)4. Netlist Viewers (68)4.1 界面介绍 (71)4.1.1 图标 (71)4.1.2 视图 (75)4.2 浏览 (76)4.3 过滤 (80)4.3.1 类型 (81)4.3.2 层次化过滤 (82)4.4 Tooltips (83)5. MegaWizard Plug-In Manager(暂无) (85)前言:网上关于Altera的教程很多,可谓浩如烟海。
大体来说有两类:一是,step by step的指导如何操作Quartus软件,这类方法的优点是上手快,但却有知其然不知其所以然之惑;二是,从一个很高的起点分析一些具体问题,优点是有深度,但也把大部分初学者拒之门外,不知路在何方。
本系列教程的宗旨是在力求全面介绍Altera及其QuartusII软件原理的基础上,对何如使用Altera FPGA进行基础设计、时序分析、验证、优化四大方面进行讲解。
本篇为基础篇,推荐用一天时间掌握。
还有三大类各需两天,一共七天。
本教程大部分内容参考翻译altera官方handbook和对应的paper等资料,也有部分章节系热心网友所创,笔者基本原文引用,只为阅读流畅性做了少许改动,如造成原作者的不适,可联系笔者删除之。
后续教程视读者反映情况进行适当调整和发布。
2011.3.18 上海foreveryoung交流QQ群:123035845/91968656笔者QQ:2984672041. Altera基础1.1 典型设计流程1.2 QuartusII 编译流程下图为典型的设计流程。
“flat”编译流程从总体上对设计进行编译(一个后综合、一个后适配网表),能进行全局优化。
除了“flat”编译流程,还可以选择渐进式流程(新工程的默认选择):用户分配设计分区并单独处理每个分区(每一分区的后综合和后适配网表分开),合并结果形成一个完整设计;重新使用以前成功编译的后综合或后适配网表,或者从另一工程导入。
具体特性和设计方法参照《Altera优化篇》。
1.3 管理QuartusII工程工程管理有三个方面:(1)工程存档;(2)工程复制;(3)修订。
1. 工程存档工程存档建立两个文件:(1)压缩的QuartusII档案文件(.QAR)--包括设计文件、QPF文件和QSF文件、数据库的选项(工程路径中的db和incremental_db 文件夹)、本地QDF文件(以便存档);(2)存档活动日志(.QARLOG)。
路径为Project -> Archive Project。
在新路径中复制并保存完全相同的工程副本,包括工程文件(.QPF)、设计文件、设置文件。
但是不复制用户库和外部参考文件,也不建立新的QDF、只复制QDF(如果有)。
可用于“在编辑设计前复制工作”的情况。
路径为Project -> Copy Project。
3. 修订修订功能使用新的约束设置或者编译选项,而不会丢失以前的工作。
比如,设计人员可以在同一设计文件上使用不同的选项(不同的目标器件、综合、适配器设置等)。
可以使用这个特性比较不同修订的结果。
软件会生成修订专用工程文件,并存储在db路径中:(1)复制并更新当前版本文件(不需要重新编译);(2)当建立并编译新版本后,产生新文件。
我们可以按下图所示在不同的修订之间来回切换,以比较最好的设计效果。
除此之外,点击Revisions界面的Compare,我们可以对以前的多个修订进行比较,如下图所示的对比修订。
1.4 设计输入QuartusII支持多种输入:(1)文本编辑器,编辑V erilog等;(2)原理图编辑器;(3)状态机编辑器;(4)存储器编辑器,HEX或MIF文件。
(1)状态机编辑器(2)存储器编辑器存储器编辑器用来建立或者编辑Intel HEX(.HEX)或者Altera专用(.MIF)格式的存储器初始化文件。
对于设计输入,在设计“上电”时,用于初始化存储器模块(例如,RAM、ROM):在器件编程期间,初始化文件数据发送至器件;初始化在器件复位编程后,在设计复位前。
对于仿真,在仿真前或者断点之后,用于初始化存储器模块。
下图为建立存储器初始化文件的步骤。
可以右键列表,然后让软件按一定规律,比如递增或递减,来快速填充表格。
编辑好存储器初始化文件,可以在设计中导入,如下图所示。
1.5 优化向导2. Assignment EditorAssignment Editor是一个用于建立、编辑节点(node)和实体(entity-level)的接口,能用来做Local Constraint setting(不是全局设置),这样的约束可以比较精确且效果好。
当你不用Assignment Editor而用其他方式编辑一个assignment时,Assignment Editor会自动更新。
2.1 介绍Assignment Editor提供表单分配输入和显示,支持从剪贴板复制和粘贴。
(1)建立分配:交叉探测(2)建立分配:Assignment Editor(3)节点发现器(4)分配(时间)组打开Assignments -> Assignment (Time) Groups。
除了如上图所示,也可从Assignment Editor的“From”或者“To”栏中找到新建分配组。
(5)Assignment Editor动态检查(6)导出CSV文件分配如果习惯于在表格中对分配进行编辑,例如Excel,那么可以将分配导出为.csv文件(File –> Export)。
将.csv文件导入到Excel中再编辑分配,然后使用Assignments菜单中的Import Assignments命令,将分配导回到Quartus II软件中。
2.2 优化实例在指定的设计模块上,需要考虑综合时应重点关注速度、面积还是对这两方面综合考虑。
可以采用工程全局设置来均衡优化整个设计,也可以使用Assignment Editor 来设置约束关键设计模块,针对速度或者面积进行优化,其优先权高于工程全局设置,因为指定节点或者实体的分配优先权总是高于工程全局设置。
当利用Assignment Editor输入或保存约束时,QSF文件(分配最终被存储到该文件中)不会自动更新。
只有在保存或编译后,QSF文件才会被更新。
可以通过Tools –> Options -> General -> Processing菜单中的选项更改这种方式,即立即更新分配。
但这会稍微影响软件的性能,因为软件访问QSF文件的频率增大。
2.2.1 PCI I/O及乘法器PCI I/O分配能够触发使能很多Altera器件I/O引脚上的PCI钳位二极管,实现与PCI总线的接口。
这一分配只能是ON或者OFF。
这样用于使能器件的硬件功能的分配类型有很多。
比如使能并设置片内匹配电阻的分配,实现DDR存储器接口等高速接口。
又如,如果设计人员希望一个乘法器不用嵌入式乘法器模块,而用LEs来组合,可按下图所示设置。
前后结果比较如下:2.2.2 弱上拉弱上拉,推挽,开漏是3种输出方式。
弱上拉一般用在和外围器件的通讯上,比如I2C总线等,但不能用于需要驱动能力强的上拉应用中。
当设置为弱上拉输出方式,此时各个I/O口与VDD之间约有100K电阻。
如输出逻辑电平为1,则输出端有接近VDD的电平出现;如输出为0,则弱上拉电路自动关闭。
当输出端处于模拟量输入状态时,弱上拉电路也会自动关闭。
当设置为漏及开路,应外接上拉电阻(10K),使I/O口输出为1时,有3.5V 以上的高电平输出。
当设置为推挽输出,至少可驱动20多个LS TTL门电路。
可直接驱动外设接口,无须外加驱动总线的芯片(如74LS244,74LS245等),其总线驱动能力比C8051大大加强,而且灵活。
打开Assignment Editor,在弹出的界面里选择I/O Features,选择需要加弱上拉的管脚,使能Weak Pull-Up Resistor选项。
重新综合布局布线生成新的下载文件即可生效。
本方法仅适用于管脚加弱上拉电阻,Altera没有下拉电阻的设置。
除了使用Assignment Editor,也可以在Pin Planner中设置。
具体过程如下:(1)在菜单 Assignments 中选择 Pin Planner,在弹出的Pin Planner界面的All Pins 区域里点击鼠标右键,找到 Customize Columns。
(2)在弹出的Customize Columns对话框的左列表框选择Weak Pull-Up Resistor,再点击,把Weak Pull-Up Resistor添加到右列表框,这样在Pin Planner的All Pins区域里就有一列Weak Pull-Up Resistor的设置项。
标左键,就会弹出一个Off/On的选项,选上On就可以了。
(4)重新综合布局布线生成新的下载文件即可生效。
2.2.3 设置输出管脚驱动电流(1)Chip Editor实现打开经过编译后的工程的Fitter报告,点击Output Pins,右窗口出现OutputPin的列表。
在Output Pins列表中用鼠标左键选中要加驱动电流的输出管脚。
点右键选择Locate/Locate in Chip Editor,如下图所示。
指定输出管脚的pad会在Chip Editor窗口高亮显示,如下图所示。
左键双击高亮显示指定的pad,进入下图所示Resource Property Editor界面。
选择主菜单View/View Properties,弹出下图所示对话框。
在Properties/Modes 项选择Current Strength,在对应的V alues项选择指定的Output Pin的驱动电流的大小。