fpga

FFT算法的一种FPGA实现

邮差的信 提交于 2019-11-28 02:38:08
http://hi.baidu.com/hieda/blog/item/6afab113b8985127dc540179.html 1 引言   OFDM(正交频分复用)是一种多载波数字调制技术,被公认为是一种实现高速双向无线数据通信的良好方法。在OFDM系统中,各子载波上数据的调制和解调是采用FFT(快速傅里叶变换)算法来实现的。因此在OFDM系统中,FFT的实现方案是一个关键因素。其运算精度和速度必须能够达到系统指标。对于一个有512个子载波,子载波带宽20 kHz的OFDM系统中,要求在50 μs内完成512点的FFT运算。   硬件实现FFT算法的主要方案有:DSP(通用数字信号处理器);FFT专用芯片;FPGA(现场可编程门阵列)。DSP具有纯软件实现的灵活性,适合用于流程复杂的算法,例如在通信系统中的信道编、解码,QAM映射等算法。如果在DSP中完成FFT运算,不仅要占用大量D SP的运算时间,使整个系统的数据吞吐率降低,也无法发挥DSP软件实现的灵活性。因此,前端的FFT运算应由ASIC或FPGA完成。采用专用的FFT处理芯片,虽然速度能达到要求,但其可扩展性差。FPGA具有硬件结构可重构的特点。适合于算法结构固定、运算量大的前端数字信号处理。新近推出的FPGA产品都采用多层布线结构,更低的核心电压,更丰富的IO管脚,容量可达到100 k个逻辑单元(LES)

基于XC2V1000型FPGA的FIR抽取滤波器的设计

99封情书 提交于 2019-11-28 02:37:45
http://hi.baidu.com/hieda/blog/item/3613b6bf6f4dd00e18d81f78.html 基于XC2V1000型FPGA的FIR抽取滤波器的设计 摘要 :介绍XC2V1000型现场可编程门阵列(FPGA)的主要特性和FIR抽取滤波器的工作原理,重点阐述用XC2V1000实现FIR抽取滤波器的方法,并给出仿真波形和设计特点。 关键词 :FIR抽取滤波器;流水线操作;XC2V1000;现场可编程门阵列 1 引言 抽取滤波器广泛应用在数字接收领域,是数字下变频器的核心部分。目前,抽取滤波器的实现方法有3种:单片通用数字滤波器集成电路、DSP和可编程逻辑器件。使用单片通用数字滤波器很方便,但字长和阶数的规格较少,不能完全满足实际需要。使用DSP虽然简单,但程序要顺序执行,执行速度必然慢。现场可编程门阵列(FPGA)有着规整的内部逻辑阵列和丰富的连线资源,特别适用于数字信号处理,但长期以来,用FPGA实现抽取滤波器比较复杂,其原因主要是FPGA中缺乏实现乘法运算的有效结构。现在,FPGA集成了乘法器,使FPGA在数字信号处理方面有了长足的进步。本文介绍用Xilinx公司的XC2V1000型FPGA实现FIR抽取滤波器的设计方法。 2 XC2V1000简介 Virtex-Ⅱ系列是Xilinx公司近几年研发的具有高性能、高速度和低功耗特点的新一代FPGA

FPGA中竞争冒险问题的研究

有些话、适合烂在心里 提交于 2019-11-28 02:37:42
http://hi.baidu.com/hieda/blog/item/17544029a34a52fd98250a6b.html 什么是竞争冒险?请看: 组合逻辑电路中竞争冒险的分析 1 引言 现场可编程门阵列(FPGA)在结构上由逻辑功能块排列为阵列,并由可编程的内部连线连接这些功能块,来实现一定的逻辑功能。 FPGA可以替代其他PLD或者各种中小规模数字逻辑芯片在数字系统中广泛应用,也是实现具有不同逻辑功能ASIC的有效办法。FPGA是进行原型设计最理想的载体,原型机的最初框架和实现通过PFGA来验证,可以降低成本、缩短开发周期。利用FPGA的可重配置功能,可以在使用过程中,在不改变所设计的设备的硬件电路情况下,改变设备的功能。但和所有的数字电路一样,FPGA电路中也存在毛刺问题。它的出现会影响电路工作的可靠性、稳定性,严重时会导致整个数字系统的误动作和逻辑紊乱。在此详细论述了解决此问题的多种方法。 2 FPGA的功能和结构特点 2.1 FPGA的功能 FPGA的功能由逻辑结构的配置数据决定,在工作时,这些配置数据存放在片内的SRAM或者熔丝图上。使用SRAM的FPGA器件,在工作前需要从芯片外部加载配置数据,这些配置数据可以存放在片外的EPROM或其他存储体上,人们可以控制加载过程,在现场修改器件的逻辑功能。 图1 实际逻辑电路 图2 LUT的实现方式 2.2

FPGA时钟问题的探讨汇总

こ雲淡風輕ζ 提交于 2019-11-28 02:37:29
http://hi.baidu.com/hieda/blog/item/5e59b2fc08de6bfefc037f04.html   无沦是用离散逻辑、可编程逻辑,还是用全定制硅器件实现的任何数字设计,为了成功地操作,可靠的时钟是非常关键的。设计不良的时钟在极限的温度、电压或制造工艺的偏差情况下将导致错误的行为,并且调试困难、花销很大。 在设计PLD/FPGA时通常采用几种时钟类型。时钟可分为如下四种类型:全局时钟、门控时钟、多级逻辑时钟和波动式时钟。多时钟系统能够包括上述四种时钟类型的任意组合。 1. 全局时钟 2. 门控时钟 3. 多级逻辑时钟 4. 行波时钟 5. 多时钟系统 1.全局时钟 对于一个设计项目来说,全局时钟(或同步时钟)是最简单和最可预测的时钟。在PLD/FPGA设计中最好的时钟方案是:由专用的全局时钟输入引脚驱动的单个主时钟去钟控设计项目中的每一个触发器。只要可能就应尽量在设计项目中采用全局时钟。PLD/FPGA都具有专门的全局时钟引脚,它直接连到器件中的每一个寄存器。这种全局时钟提供器件中最短的时钟到输出的延时。 图1 示出全局时钟的实例。图1 定时波形示出触发器的数据输入D[1..3]应遵守 建立时间和保持时间 的约束条件。建立和保持时间的数值在PLD数据手册中给出,也可用软件的定时分析器计算出来。如果在应用中不能满足建立和保持时间的要求

Synopsys工具简介

六眼飞鱼酱① 提交于 2019-11-28 02:37:25
http://hi.baidu.com/hieda/blog/item/627e9fdd2526e0ec76c638e3.html Synopsys工具简介 〓 LEDA   LEDA?是可编程的语法和设计规范检查工具,它能够对全芯片的VHDL和Verilog描述、或者两者混合描述进行检查,加速SoC的设计流程。 LEDA预先将IEEE可综合规范、可仿真规范、可测性规范和设计服用规范集成,提高设计者分析代码的能力 〓 VCSTM   VCS是编译型Verilog模拟器,它完全支持OVI标准的Verilog HDL语言、PLI和SDF。 VCS具有目前行业中最高的模拟性能,其出色的内存管理能力足以支持千万门级的ASIC设计,而其模拟精度也完全满足深亚微米ASIC Sign-Off的要求。VCS结合了节拍式算法和事件驱动算法,具有高性能、大规模和高精度的特点,适用于从行为级、RTL到Sign-Off等各个阶段。VCS已经将CoverMeter中所有的覆盖率测试功能集成,并提供VeraLite、CycleC等智能验证方法。VCS和Scirocco也支持混合语言仿真。VCS和Scirocco都集成了Virsim图形用户界面,它提供了对模拟结果的交互和后处理分析。 〓 SciroccoTM   Scirocco是迄今为止性能最好的VHDL模拟器,并且是市场上唯一为SoC验证度身定制的模拟工具

PC机上常用 EDA 软件

天大地大妈咪最大 提交于 2019-11-28 02:37:01
http://bbs.fudan.edu.cn/bbs/tcon?bid=142&f=39 PC机上常用 EDA 软件介绍本站网址: http://eda163.com/ (一)altera公司软件 GNU tools and Excalibur V3.0(一张光盘) GNU tools and Excalibur 3.0。与Qu artus II v3.0 full同时推出的工具软件。 Excalibur_gnu_q40(一张光盘) GNU tools and Excalibur 4.0。与Quartus II v4.0 full同时推出的工具软件。 Maxplus II full V10.1(一张光盘) Maxplus II full 10.1,FULL版本确实不错,比 baseline强多了。。 MAX+PLUS II是一个完全集成的设计体系,包括设计输入、综合、 仿真、布局布线以及时序分析。 Maxplus II full V10.2(一张光盘) Maxplus II full 10.2。MAX+PLUS II full 的 新版本。 Modelsim oem V5.7c for Altera(一张光盘) Modelsim oem 5.7c for Altera。配 套Quartus II v3.0 full使用的Modelsim OEM V5.7C版本。 Modelsim

Verilog & FPGA 个人经验总结

岁酱吖の 提交于 2019-11-28 02:35:57
http://www.cnblogs.com/jianyungsun/archive/2011/01/17/1937678.html   自己学习Verilog 和FPGA已经一学期了,期间自己也算是做了不少的FPGA实验,也写了一些代码,期间自己感触最深的就是当你的代码出现错误时你应改怎么快速又准确的解决这些Bug,并同时也应该想想为什么会出现这些Bug,到底是当初那些原因导致这些Bug的产生等等。   我感觉自己犯的都是很低级的错误,其实说白了就两句话:   1、永远要对你的设计的每一个细节了如指掌。   2、做好版本管理,对你的每一个修改都要有记录,本版本的主要的特点、更改的地方等。   3、认真、仔细、小心的完成你的每一个步骤,只有这样才能减少那些低级错误的发生,很多时候这些低级错误会让你浪费大量的时间。   4、要时刻清楚你的代码的时序,不要用“试"的方法来完成你的设计,华为有句话:时序是设计出来的,不是试出来的。   5、当修改你的代码时,要严格检查是否所有根这块有关的地方你都已经改过了。   6、当玩成一个大点的模块时,要一点一点来,要保证最基本的是模块式正确的之后在进行其他的功能的扩充,不可急功近利,要戒骄戒躁。   7、要将自己的精力都放在你的代码上,只有这样你才能提高你写代码的效率。   (这只是自己的一时感慨,因为犯了太多的错误,浪费了太多的时间在纠错上面

FPGA网站推荐

旧时模样 提交于 2019-11-28 02:35:54
http://www.cnblogs.com/jianyungsun/archive/2011/01/13/1934851.html 1. OPENCORES.ORG 这里提供非常多,非常好的PLD了内核,8051内核就可以在里面找到。进入后,选择project或者由http//www.opencores.org/browse.cgi/by_category进入。 对于想了解这个行业动态人可以看看它的投票调查。 http://www.opencores.org/polls.cgi/list OpenCores is a loose collection of people who are interested in developing hardware, with a similar ethos to the free software movement. Currently the emphasis is on digital modules called 'cores', since FPGAs have reduced the incremental cost of a core to approximately zero. Activity is centered around the opencores web site http://www.opencores.org

最热门的CPLD-FPGA论坛

喜你入骨 提交于 2019-11-28 02:35:49
http://www.cnblogs.com/god_like_donkey/archive/2010/04/16/1713821.html 1. OPENCORES.ORG 这里提供非常多,非常好的PLD了内核,8051内核就可以在里面找到。 进入后,选择project或者由http//www.opencores.org/browse.cgi/by_category进入。 对于想了解这个行业动态人可以看看它的投票调查。 http://www.opencores.org/polls.cgi/list OpenCores is a loose collection of people who are interested in developing hardware, with a similar ethos to the free software movement. Currently the emphasis is _disibledevent="http://www.opencores.org/"> http://www.opencores.org - 中文 2. FPGAs are fun 提供了大量的关于FPGA应用的文章,项目实际例子。强烈推荐 http://www.fpga4fun.com/ - 外文 3. Open Collector 收集了大量的开源硬件,内核

FPGA面试宝典

情到浓时终转凉″ 提交于 2019-11-28 02:35:45
http://www.cnblogs.com/qiweiwang/archive/2010/10/23/1859546.html   这段时间去面试了几家公司,发现比较大的公司相对于重视基础问题。这里边又有几个问题特别的突出。他们是:同步时钟设计、亚稳态、异步FIFO。可以说,这些个问题要是弄清楚了,就至少满足了技术方面1/3的要求,另外的2/3是什么,我就说不清楚了。又有人发了竞争冒险毛刺的问题,不过,对于采用同步设计方法的系统,这些问题一般不会遇到。下面就谈谈我对这些问题的看法,要是你觉得看这些东西觉得类似一堆狗屎,那么恭喜你,你面试成功的机会增加了1/3;要是你你觉得阿,什么样的牛人拉了一堆牛屎,那么不好意思,还是再去补补课把。这里推荐一本《数字设计——原理和实践》(John F.Wakerly)的书,仔细看一遍吧。   同步时钟设计   简单说就是一个系统中(或系统中的一部分)都采用同一个时钟触发。系统中的(D)触发器全部都连接到一个时钟,而且只控制触发器的同步端(输入,同步置位,同步复位)。这样的系统是相对于异步系统而言的,异步系统并不是不同的触发器时钟端连接到不同的时钟信号的系统(一般的这样叫做跨时钟系统,是相对几个较小的同步系统的组合),而是更本没有了时钟的概念,依靠和触发器构造一样的反馈电路组成。相对于异步系统,同步系统更好设计(异步设计则象一个魔术