CPLD基本使用问题

1. 我原来有一个74系列设计的电路,工作很正常,为什么原封不动集成到PLD中以后
却不能正常工作,是芯片有问题吗?

这是一个非常有代表性的问题。设计PLD/FPGA内部电路与设计74的分立电路是有区别
的。这个问题是由于电路中的毛刺造成的。电路布线长短不同造成延时不一致,有竞
争冒险,会产生毛刺。分立元件之间存在分布电容和电感可以滤掉这些毛刺,所以用
分立元件设计电路时,很少考虑竞争冒险和毛刺问题,但PLD/FPGA内部没有分布电容
和电感,不可以滤掉任何毛刺(哪怕只有1ns)。有些毛刺是可以忽略的,有些是致命
的(如D触发器的clk,clr,PRN端)、。这些致命的毛刺将导致电路不能正常工作。这
是设计FPGA和设计分立元件最大的不同。可以通过修改电路减少有害毛刺。参见: 培
训中心>培训资料> PLD设计技巧——消除组合逻辑产生的毛刺  和 PLD设计技巧——
采用同步电路设计 ,根据经验,几乎所有稳定性或可靠性问题都是由PLD内部电路设
计不合理造成的,这一点要千万小心。

 

2. 如何将信号做一定延时?

当需要对某一信号作一段延时时,初学者往往在此信号后串接一些非门或其它门电路
,此方法在分离电路中是可行的。但在FPGA中,开发软件在综合设计时会将这些
门当作冗余逻辑去掉,达不到延时的效果。用ALTERA公司的MaxplusII开发FPGA
时,可以通过插入一些LCELL原语来产生一定的延时,但这样形成的延时在FP
GA芯片中并不稳定,会随温度等外部环境的改变而改变,因此并不提倡这样做。在
此,可以用高频时钟来驱动一移位寄存器,待延时信号作数据输入,按所需延时正确
设置移位寄存器的级数,移位寄存器的输出即为延时后的信号。此方法产生的延时信
号与原信号比有误差,误差大小由高频时钟的周期来决定。对于数据信号的延时,在
输出端用数据时钟对延时后信号重新采样,就可以消除误差。

 

3.什么是IP核或IP库? 有那些种类?

IP核是指:将一些在数字电路中常用但比较复杂的功能块,如FIR滤波器,SDRAM控制
器,PCI接口等等设计成可修改参数的模块,让其他用户可以直接调用这些模块,这
样就大大减轻了工程师的负担,避免重复劳动。随着CPLD/FPGA的规模越来越大,设
计越来越复杂,使用IP核是一个发展趋势。 不过目前大多数库是收费的,如您希望
一个免费方案,请到本站参考设计栏目里找一找。

 

4.如何设计3.3v,2.5v 等低电压PLD/FPGA的电源?

多用低压差线形稳压器(LDO)或采用开关电源,详细内容参见低电压PLD/FPGA的供电
设计

 

5.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个触发器。更详细资料请浏览PLD/FPGA原理栏目

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值