|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区
您需要 登录 才可以下载或查看,没有账号?立即注册
×
1、PLD,CPLD,FPGA有何不同?
答:不同厂家的叫法不尽相同,PLD是可编程逻辑器件的总称,早期多EEPROM工艺,基于乘积项结构。 FPGA是指现场可编程门阵列,最早由Xilinx公司发明。多为SRAM工艺,基于查找表结构,要外挂配置用的EPROM。Xilinx把SRAM工艺,要外挂配置用的EPROM的PLD叫FPGA,把Flash工艺、乘积项结构的PLD叫CPLD;Altera把自己的PLD产品:MAX系列,FLEX/ACEX/APEX系列都叫作CPLD,即复杂PLD,由于FLEX/ACEX/APEX系列也是SRAM工艺,要外挂配置用的EPROM,用法和Xilinx的FPGA一样,所以很多人把Altera的FELX/ACEX/APEX系列产品也叫做FPGA.
2、NiosII嵌入式处理器是一个什么样的处理器?与其他相比具有哪些功能?
答:1)Nios II嵌入式处理器是一个用户可配置的通用RISC嵌入式处理器。它的易用性和灵活性使它成为世界上最流行的嵌入式处理器之一。
2)Cyclone II FPGA系列是价格极其敏感应用的正确选择,因为其提供了与所有其他成本优化FPGA系列相比最低的单LE价格。每个Cyclone II器件都被设计拥有一套最佳的功能,包括:● 多达68,416 LE用于高密度应用多达1.1兆比特的嵌入式处理器用于通用存储 ● 多达150个18x18 嵌入式处理器用于低成本数字信号处理(DSP)应用 ● 专用外部存储器接口电路用以连接DDR2、DDR和SDR SDRAM以及QDRII SRAM存储器件 ● 最多4个嵌入式PLL,用于片内和片外系统时钟管理 ● 支持单端I/O标准用于64-bit/66-MHz PCI和64-bit/100-MHz PCI-X (模式1)协议 ● 具有差分I/O信号,支持RSDS、mini-LVDS、LVPECL和LVDS,数据速率接收端最高达805兆比特每秒(Mbps),发送端最高622Mbps ● 对安全敏感应用进行自动CRC检测 ● 具有支持完全定制Nios? II嵌入式处理器 ● 采用串行配置器件的低成本配置解决方案 ● 可通过Quartus II软件的OpenCore Plus评估功能进行免费的IP功能评估 ● Quartus II网络版软件提供免费软件支持。
3、我原来有一个74系列设计的电路,工作很正常,为什么原封不动集成到PLD中以后却不能正常工作,是芯片有问题吗?
答:设计PLD/FPGA内部电路与设计74的分立电路是有区别的。这个问题是由于电路中的毛刺造成的。电路布线长短不同造成延时不一致,有竞争冒险,产生毛刺。分立元件之间存在分布电容和电感可以滤掉这些毛刺,所以用分立元件设计电路时,很少考虑竞争冒险和毛刺问题,但PLD/FPGA内部没有分布电容和电感,不可以滤掉任何毛刺(哪怕只有1ns)。有些毛刺是可以忽略的,有些是致命的(如D触发器的clk,clr,PRN端)。这些致命的毛刺将导致电路不能正常工作。这是设计FPGA和设计分立元件最大的不同。可以通过修改电路减少有害毛刺。根据经验,几乎所有稳定性或可靠性问题均由PLD内部电路设计不合理造成的。
4、如何将信号做一定延时?
答:当需要对某一信号作一段延时时,初学者往往在此信号后串接一些非门或其它门电路,此方法在分离电路中是可行的。但在FPGA 中,开发软件在综合设计时会将这些门当冗余逻辑去掉,达不到延时的效果。用ALTERA公司的MaxplusII开发FPGA时,可以通过插入一些LCELL原语来产生一定的延时,但这样形成的延时在FPGA芯片中并不稳定,会随温度等外部环境的改变而改变,因此并不提倡这样做。在此,可以用高频时钟来驱动一移位寄存器,待延时信号作数据输入,按所需延时正确设置移 位寄存器的级数,移位寄存器的输出即为延时后的信号。此方法产生的延时信号与原信号比有误差,误差大小由高频时钟的周期来决定。对于数据信号的延时,在输出端用数据时钟对延时后信号重新采样,就可以消除误差。
5、什么是IP核或IP库?有那些种类?
答:IP核是指:将一些在数字电路中常用但比较复杂的功能块,如FIR滤波器,SDRAM控制器,PCI接口等等设计成可修改参数的模块,让其他用户可以直接调用这些模块,这样就大大减轻了工程师的负担,避免重复劳动。随着CPLD/FPGA的规模越来越大,设计越来越复杂,使用IP核是一个发展趋势。不过目前大多数库是收费的。
6、如何设计3.3V,2.5V等低电压PLD/FPGA的电源?
答:多用低压差线形稳压器(LDO)或采用开关电源,详细内容参见低电压PLD/FPGA的供电设计。
7、CPLD / FPGA的宏单元是怎么定义?一个宏单元对应多少门?
答:宏单元(或逻辑单元)是PLD/FPGA的最基本单元,不同产品对这种基本单元的叫法不同,如LE,MC,CLB,Slices等,但每个基本单元一般都包括两部分,一部分实现组合逻辑,另一部分实现时序逻辑。各个厂家的定义可能不一样。对ALTERA的芯片,每个基本单元含一个触发器;对Xilinx的部分芯片,每个基本单元单元含两个触发器。一般不用“门”的数量衡量PLD/FPGA的大小,因为各家对门数的算法不一样,象ALTERA和Xilinx对门的计算结果就差了一倍,推荐用触发器的多少来衡量芯片的大小。如10万门的Xilinx的XC2S100有1200个slices,即含2400个触发器;5万门的ALTERA的1K50则含2880个LE,即2880个触发器。
8、为什么有些按照标准VHDL语法编写的程序在MaxplusII下编译通不过?
答:MaxplusII支持大部分VHDL语法,但也有一些标准的VHDL语句不能支持,最好的方法是采用专用VHDL语言综合工具综合,生成*.edif文件后再给MaxplusII做布线。2000.5月起Altera与Synopsys和Mentor公司达成合作协议,所有Altera用户均可按协议可免费使用以下专用的VHDL工具:1.Synopsys公司FPGA Express(HDL综合工具)2.Mentor 公司 Graphics’Leonard Spectrum (HDL综合工具)3.Mentor公司ModelSim(HDL仿真工具), 软件可从Altera的网上下载。9、在仿真时,如何设置时钟周期和总的仿真时间?
在出现仿真窗口后,要把菜单:Option>snap to the grid 的勾去掉,才可任意设置时钟频率,在菜单File>End time中可修改仿真时间。仿真时间越长,对内存和CPU要求也越大。
9、FLEX10K/ACEX系列器件中可以做各种RAM和ROM,那么如何初始化ROM?
答:调入ROM元件时(可用LPM_ROM或用MegaWizard Plug-In Manager调入)软件会问初始化文件的名字,如你还没有做好这个文件,可以先填一个文件名,如:test.mif或test.hex(test这个文件现在并不存在),完成设计后编译,再建立波形文件*.SCF,打开仿真窗口simulator, 此时可在菜单中找到Initialize>Initialize Memory(这个选项只有在仿真窗口出现后才会出现)此时你可以编辑初始化文件并输出成*.mif或*.hex文件(如test.mif或test.hex),要再次编译。这样才算完成。
10、如何计算功耗和供电电流问题?
答:对QuartusII的用户可以直接用QuartusII计算功耗。对MaxplusII的用户可以用这里的几个Excel小程序来自动计算功耗和电流,感兴趣的用户不妨下载一试,如对有些参数不清楚,可查阅Altera Date BooK。
1)MAX7000数据手册 2)FLEX10K/6K数据手册 |
|