|
《FPGA三国志》(三)为什么要这样的结构-先组合
[复制链接]
为什么要这样的结构-先组合,后时序多个时钟输入随着科技的进步,有很多人已经忘记了很多细节,当然,我们也要遵循一个原则。难事做易,大事做细!就像朱熹说的--“问渠哪得清如许,为有源头活水来“,如果你不知道原理,碰到重要的问题,或者是设计的时候,即使成功,也是不知不觉成功,同样呢,也是不知不觉失败。# K( [7 Q8 J3 S8 f+ ]& x8 T
: f n I* i% x+ v/ B# G拉回话题,当你设计一个扫描电路的时候,例如,你可以采用一个时钟,输入一个计数器,然后计数器的输出,再驱动一个译码器,这样你的电路就出来了。当然事情完成了一半。功能实现了,但是,有没有更好的办法。后者换句话说。有没有适合PLD的方法。实际上用另外一个角度看,这个设计是典型的, 先时序模块,才是组合电路。这个实际上,不是很和PLD本身的结构相符。还有一个问题时,随着电路速度的提高,每个译码输出之间的抖动也成为问题。就是输出的不一样的。 从资源的角度来说,一个计数器,要3各单元。一个译码器,由于有8个输出,还是需要8各单元。但是如果用一个移位寄存器的方式,可以只需要8个单元。或者用状态机的方式实现,也是消耗同样的资源。可是,输出都是由于同一个时钟锁定,每个输出的延迟也比较一致。另外,当时对总线数据的译码是经常有的事情,因此,每个单元的扇入数量都是很高的。都有30个以上。因此,你设计的时候,要有两个思想: 用同步设计模式,用先组合后时序的模式。后来的Xilinx的95系列更是将扇入系数扩大到90个。 也是这个原因。当时PLD厂商比较的也是这些指标。
* {5 j6 `& W$ o4 H# p4 Q2 V( f+ F7 W
当然我现在之所以又开始补充些内容,好像是一些网友提醒我说没有说Actel等产品, 现在不妨也加入一些。 但是为了这个话题, 我不得不再说些比这个看起来更久远的事情。
. X. r" K8 a$ B# n9 _* X$ O* w" i' _7 w, W% d
反熔丝的技术在PLD一出现的时候就有了, 最早的有所谓熔丝技术,实际上他们都只是初始状态的定义不同。 1970年的时候, 就有Harris公司, 今天叫intersil的公司, 就已经有这样的技术, 不好意思, 那个时候, 我还没有出生呢,但这丝毫不妨碍我们谈论他。 后来Intel公司也有EPROM的技术, 从PAL和GAL的发明也都和这些能拉上些关系。 这些技术之所以诞生就是要替换这个熔丝技术。 毋庸置疑的是,今天的以SRAM为基本的配置技术的FPGA成为了市场的领导。 这个是市场选择。
7 M, N J4 j) ^! Q. H1 K4 J( p& o" B
7 U# O* U0 A; g: qEPROM技术时代的PLD,例如Altera的MAX5000,但是这个东西的封装太贵, 这和以前你用的2716有些类似, 都是用个石英玻璃封装的, 擦除也不方便, 另外, 随着规模的递增, 有时候路由线可能影响透明照度, 所以规模大的器件,擦除的时间还长。
9 y1 V3 s+ s0 S+ w, R
/ m5 q' A3 a/ s. m' k/ j6 I# I6 V2 ?SRAM是有很多优点, 但是他不保密, 不过今天表示半导体工艺的先进, 总是和SRAM的制造会扯上关系,而基于其他工艺的Flash的FPGA,在工艺制造上远不如SRAM的更新速度, 基本上可以差上一到两个工艺节点。 或许还有人认为, Flash的功耗小, 不要单独看这些, 这主要表现的是他的静态功耗上, 另外,为这些Flash的FPGA的编程, 也需要在芯片上放上很多编程Flash的单元, 他不能在成本上带来什么好处。 3 B2 R+ s+ ~ C# A$ N% c* i
; V6 Y/ h* ?' t9 V: v# B9 H如果你在google上去搜索一些关于PLD的专利, 还有很多你今天都已经不存在的公司的名字。
|
|