注册 登录
电子工程世界-论坛 返回首页 EEWORLD首页 频道 EE大学堂 下载中心 Datasheet 专题
tx_xy的个人空间 https://home.eeworld.com.cn/space-uid-216158.html [收藏] [复制] [分享] [RSS]
日志

FPGA起步ABC之数字逻辑基础

已有 1534 次阅读2011-2-24 21:52 |个人分类:FPGA起步ABC|

OK,前面有提到FPGA运算包括了逻辑运算和数学运算,其中逻辑运算的基础就是数字逻辑电路设计,下面简单罗列几个概念以及常见电路,都是必须要熟练使用滴。

 

FPGA设计,卡诺图化简是逻辑设计过程中的最常用的手段,而在高速设计过程中,则常常考虑使用逻辑复制来提高电路运行速度,关于这部分将在后面高速设计部分举例详细说明。

 

数制,是另一个基础的概念。二进制、十进制、十六进制之间的相互转换,格雷码、独热码、BCD码这些常用码的设计以及相互转换,小数的二进制表示、负数的二进制形式,都需要熟练掌握。

 

在实际FPGA应用中,几乎所有的设计都会用到计数器,分频电路、ram的地址产生、时序电路状态的控制等,都是计数器的典型应用。对于计数器,俺想着重强调的是计数器的清零操作,尤其是计数器应用于状态的控制时,一定要仔细设计,清零不合理或者清零时刻没有设计好,也许在一般的工作情况下都能正常运转,但碰到一些特殊情况,就比较容易出问题,通常遇到这样的情况时,调试都比较耗时间。另外,在平常应用过程中,我们最常用的是加计数,但在某些情形下,减计数器有意想不到的妙用,比如有一个32bit的向量,现在要找出其最前面三个1的位置,使用减计数器可以很轻易地实现该功能。

 

在设计FPGA外围电路时,我们经常会用到I2CSPI这样的总线接口,在处理这样的总线接口时,串并转换、并串转换是必然之选;串并转换、并串转换电路,又是FPGA面积与速度平衡原则的重要体现。实现串并之间的转换,一种常见的手段是采用移位寄存器,简单明了。

 

上面提到的一些概念或者器件,都是一些基础,所谓复杂的时序逻辑电路设计,其实就是把这些最简单的逻辑电路以及寄存器有机组合起来。我曾经有幸见到过一张图纸,使用了大量的74系列逻辑电路去实现FFT运算,FFT够麻烦吧,可用最简单的74逻辑电路就能把它实现,当然这前提就是基础知识足够扎实。

评论 (0 个评论)

facelist doodle 涂鸦板

您需要登录后才可以评论 登录 | 注册

热门文章