FPGA相关
xiangyuqxq
这个作者很懒,什么都没留下…
展开
-
常用CPLD/FPGA 标识的含义
CPLD/FPGA生产厂家多,系列、品种更多,各生产厂家命名、分类不一,给CPLD/FPGA的应用带来了一定的困难,但其标识也是有一定的规律的。下面对常用CPLD/FPGA 标识进行说明。1)CPLD/FPGA 标识概说CPLD/FPGA 产品上的标识大概可分为以下几类:(1)用于说明生产厂家的,如:ALTERA,Lattice,Xilinx是其公司名称。(转载 2012-02-13 20:12:54 · 1833 阅读 · 0 评论 -
FPGA设计的常用思想与技巧
本文讨论的四种常用 FPGA/CPLD 设计思想与技巧:乒乓操作、串并转换、流水线操作、数据接口同步化,都是 FPGA/CPLD 逻辑设计的内在规律的体现,合理地采用这些设计思想能在FPGA/CPLD 设计工作种取得事半功倍的效果。 FPGA/CPLD 的设计思想与技巧是一个非常大的话题,由于篇幅所限,本文仅介绍一些常用的设计思想与技巧,包括乒乓球操作、串并转换、流水线操转载 2012-02-19 11:11:25 · 2301 阅读 · 0 评论 -
几种进行时序约束的方法
对自己的设计的实现方式越了解,对自己的设计的时序要求越了解,对目标器件的资源分布和结构越了解,对EDA工具执行约束的效果越了解,那么对设计的时序约束目标就会越清晰,相应地,设计的时序收敛过程就会更可控。 从最近一段时间工作和学习的成果中,我总结了如下几种进行时序约束的方法。按照从易到难的顺序排列如下: 0. 核心频率约束 这是最基本的,所以标号为0。转载 2012-02-19 11:15:03 · 4037 阅读 · 0 评论 -
FPGA时序约束—TimeQuest基础
时序约束的目的是:规范设计的时序行为,表达设计者所期望满足的时序条件,指导综合和布局布线阶段的优化算法等,作用:提高系统设计的fmax、得到正确的时序分析报告一、 TimeQuest分析流程 二、 TimeQuest分析步骤1. 在工程编译之前,先要选择时序分析工具,这里选择TimeQuest工具:Setti转载 2012-02-19 11:20:34 · 9364 阅读 · 0 评论 -
SDRAM时钟相移估算
《Quartus II Handbook Version 9.0 Volume 5:Embedded Peripherals》中Section I的1. SDRAM Controller Core部分提出了 如何估计SDRAM数据有效信号窗口,并且给出了SDRAM时钟相对于FPGA时钟相移估计公式。 下面先就事论事,对官方给出的这个公式做一些推导说明。(详细的内容请读者参考转载 2012-02-19 11:26:44 · 3032 阅读 · 0 评论 -
使用TimeQuest进行SDRAM时钟约束实例
特权同学的《SDRAM时钟相移估算》针对SDRAM的相移设置做了一些介绍,也列举了一个活生生的例子进行讲解。很多朋友在实际应用中即便对SDRAM的时序模型熟悉了,当可能仍然不知道在TimeQuest这个工具上如何进行时序约束和分析,尤其对于这个SDRAM专用时钟的约束分析。本文就是要和大家来探讨实际应用中如果使用TimeQuest进行SDRAM时钟约束。 这个实例中,PLL转载 2012-02-19 11:27:21 · 5744 阅读 · 0 评论 -
FPGA项目经验借鉴
做了5年的FPGA了。手中经历的项目也不在少数。就在此刻又一个FPGA项目宣告结题,好多感受趁着现在还新鲜着,写出来和大家一起分享。不对之处,希望得到大家的指正。另外1234并没有绝对顺序,都是有感而发,随性而写。1.要和人配合。以我们做硬件的工程师为例,测试的时候一般都需要软件的配合,一个对硬件来说无比复杂的工作,可能在软件工程师看来就是几行简单的代码。所以要和人配合,多听听别人的意见,转载 2012-02-17 12:59:32 · 3629 阅读 · 0 评论 -
FPGA中系统运行频率计算方法
我们的设计需要多大容量的芯片?我们的设计能跑多快?这是经常困扰工程师的两个问题。对于前一个问题,我们可能还能先以一个比较大的芯片实现原型,待原型完成再选用大小合适的芯片实现。对于后者,我们需要一个比较精确的预估,我们的设计能跑50M,100M 还是133M? 首先让我们先来看看Fmax 是如何计算出来的。图(1)是一个通用的模型用来计算FPGA的。我们可以看出,Fmax 受Tsu , T转载 2012-02-20 12:25:51 · 2212 阅读 · 0 评论 -
时序优化一例
《时序优化一例(一)》学习时序也有一段时间了,一直也没分享什么学习笔记。这次以时序优化为例,检验一下这阶段的学习成果。 关于时序方面的东西也看了、学了很多,就是练得很少,在平常自己的设计中很难找到非常针对的设计来练习,只能在今后的学习中慢慢发掘了。最近在整一个设计,在要求的指标下时序是满足的,但是为了拿它练手,故意将它的时钟约束提高一倍:create_clock -na转载 2012-02-20 12:26:40 · 10870 阅读 · 0 评论 -
说说Timing这回事
Intro问:一个FPGA设计项目需要用哪些评判标准来检验?功能正确;时序收敛;资源消耗少。时序收敛,即Timing Closure,意思是使设计的各项时序指标能满足设计前所制定要求。因此,整个过程分为两部分:制定时序要求满足时序要求Timing Constraints Classes制定时转载 2012-02-20 12:27:04 · 2174 阅读 · 0 评论 -
扇入扇出
1.门电路的扇入扇出扇入系数,是指门电路允许的输入端数目。一般TTL电路的扇入系数 Nr为1~5,最多不超过8。若芯片输入端数多于实际要求的数目,可将芯片多余输入端接高电平(+5V)或接低电平(GND)。扇出系数,是指一个门的输出端所驱动同类型门的个数,或称负载能力。NO=IOLMAX/IILMAX,这是一个通俗的定义一般用在TTL电路的定义中。其中IOLMAX为最转载 2012-03-13 15:55:15 · 10314 阅读 · 0 评论 -
signaltap 使用
概述:利用FPGA片上资源实现逻辑分析仪的功能。signaltap和你自己的逻辑设计一起被quartus编译,生成的sof文件中会包含signaltap。使用时在quartus中打开当前工程,打开stp文件(signaltap的定义文件),把sof下载到器件中就可以开始抓取波形了。用法:1. 在工程中加入signaltap: tools->signaltapII logic ana转载 2012-02-19 10:19:11 · 2040 阅读 · 0 评论 -
基于AVALON总线的IP核定制 PWM
简介 NIOS II是一个建立在FPGA上的嵌入式软核处理器,除了可以根据需要任意添加已经提供的外设外,用户还可以通过定制用户逻辑外设和定制用户指令来实现各种应用要求。这节我们就来研究如何定制基于Avalon总线的用户外设。SOPC Builder提供了一个元件编辑器,通过这个元件编辑器我们就可以将我们自己写的逻辑封装成一个SOPC Builder元件了。下面,我们就以P转载 2012-02-19 10:16:43 · 3159 阅读 · 0 评论 -
几个CPLD/FPGA调试的小窍门
1.LED的妙用。一般的开发板上都带有LED灯,比如我们的EP2C35核心板上就带有三路的LED,我们用这些LED做一些入门的程序,如闪烁、流水灯等。但这几个LED的作用远不仅如此,它是我们在调试比较复杂的程序时定位问题的手段。比如我们在调试DS18B20的温度检测程序时,发现总是读不到数据,我们怀疑是没有检测到DS18B20的应答信号。于是我们把LED放在检测应答状态里,若检测到应答就点转载 2012-02-17 21:04:05 · 3094 阅读 · 0 评论 -
FPGA与CPLD的区别
尽管FPGA和CPLD都是可编程ASIC器件,有很多共同特点,但由于CPLD和FPGA结构上的差异,具有各自的特点:①CPLD更适合完成各种算法和组合逻辑,FP GA更适合于完成时序逻辑。换句话说,FPGA更适合于触发器丰富的结构,而CPLD更适合于触发器有限而乘积项丰富的结构。②CPLD的连续式布线结构决定了它的时序延迟是均匀的和可预测的,而FPGA的分段式布线结构决定了其延迟的不可预测转载 2012-02-15 09:18:59 · 620 阅读 · 0 评论 -
FPGA芯片配置方式详解与选择
广义的来说,FPGA的配置包括直接使用下载电缆对FPGA器件进行编程、对外部EEPROM和FLASH进行编程、使用MPU对FPGA器件进行编程、外部EEPROM和FLASH对器件进行编程等。 FPGA器件配置方式分三大类:主动配置、被动配置和JTAG配置。 主动配置:由FPGA器件引导配置操作过程。被动配置:由计算机或控制器控制配置过程。上电后,控制器件或主转载 2012-02-15 09:30:57 · 1662 阅读 · 0 评论 -
如何根据项目选择FPGA/CPLD器件
一、CPLD还是FPGAFPGA适合完成时序逻辑,CPLD适合完成各种算法和组合逻辑;CPLD的时序延时是均匀的和可预测的,而FPGA的布线结构决定了其延时的不可预测性;FPGA的集成度比CPLD高,具有更复杂的布线结构和逻辑实现;CPLD无需外部存储器芯片,而FPGA的编程信息需存放在外部存储器上,使用方法复杂;CPLD保密性比FPGA强;一般情况下,CPLD的功耗要比FPGA大,且集成转载 2012-02-15 09:34:44 · 2204 阅读 · 0 评论 -
PLL配置
1. 在新建工程页面中,启动任务 2.点击后创建一个新的模块 3. 选择模块模型。选择PLL块,同时核查硬件为cyclone系列几, 语言类型,最重要的是一定要填写文件名 4. 选用器件的速度等级和 根据实际芯片选择时钟。 5. 创建使能端、复位信号端、输出锁定端。根据实际需要勾选。转载 2012-02-16 08:02:31 · 1906 阅读 · 0 评论 -
如何复制FPGA的引脚分配
搜索到两种方案:1.打开别人的工程,主菜单中export assignments引脚定义文件(*.qsf)到一个指定的文件夹,以后要用的时候直接import assignments这个文件就可以了!!提示是否把原来文件备份。打开pin planner即为已分配的引脚。 2.FPGA芯片的引脚很多,如果手工分配,工作量很大,且容易出错。应该采用自动分配引脚的方法。以DE2板子为例, 具体转载 2012-02-16 09:29:13 · 3034 阅读 · 0 评论 -
关于FPGA加密问题
众所周知,所有FPGA基本上都是基于SRAM结构的,其程序(固件)是通过JTAG口直接加载或从外部Flash加载到内部SRAM中运行的。由于Flash本身无法加密,因此FPGA程序加密保护是所有开发者必须面临的一个主要问题。目前,FPGA程序加密主要有两种方法:1、如果系统中没有可加密的微处理器,可选用自带加密功能的FPGA,其中Xilinx的有Virtex-2~5系列,采用的是DES(转载 2012-02-17 11:04:23 · 2636 阅读 · 0 评论 -
quaruts II 9.0 中写含参数模块例化成symbol时要重新拖拽
最近用verilog写含参数的模块,就是parameter那种(通常写状态机的时候需要),例化成symbol后,如果改动了源文件中的某个参数的时候,在file----update中重新生成模块后,在原理图中点击原来生成的模块并且右键,点击更新,但是并没有像其他没有参数的模块那样能够如愿更新,而是参数并没有得到更新,需要将原有模块删除,重新添加以下新生成的此模块才好使,这点必须要注意,否则无论怎么修原创 2012-02-17 10:24:22 · 739 阅读 · 0 评论 -
利用JTAG端口下载工程文件到配置芯片的方法
可以不用AS接口,而用JTAG接口配置EPCS器件,具体操作步骤如下:1.在QuartusII中打开工程,然后编译链接,生成JTAG配置文件.sof;2.选择File->Convert Programming Files,调出Convert Programming Files对话框;3.Output programming file对话栏内,Programming file转载 2012-02-17 11:01:39 · 2109 阅读 · 0 评论 -
数字电路中关键路径的选取
所谓关键路径就是,在电路中频繁调用,而且延迟过长,或者产生意外的几率比较大的线路。怎样提取关键路径:1:组合电路中的关键路径提取: q=a&b&c|d&e&b; 因为b的传输要两级, 可以简单的提取b作为一级的: q=(a&c|d&e)&b;2: always——block中的关键路径提取: always中关键路径的提取一般用分步法提取,请看下面一个alw转载 2012-02-17 13:21:15 · 7880 阅读 · 1 评论 -
EDK下如何调整堆(heap)和栈(stack)
看到walter在写堆(heap)和栈(stack)的区别,就让我想到之前在移植AVS的参考代码到powerpc时遇到的问题。因为视频解码是涉及大量存储的程序,所以需要调整堆(heap)和栈(stack)的大小。EDK下如何调整堆(heap)和栈(stack)?如下图:还有一个不错的网站在讲这个:http://www.labbookpages.co.转载 2012-03-18 08:49:14 · 982 阅读 · 0 评论