欢迎来到天天文库
浏览记录
ID:34601416
大小:689.37 KB
页数:42页
时间:2019-03-08
《杂谈fpga设计》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、Tait.Jiang--这个是本人在以前当工程师的时候自己写着玩的文档,超级简单的一个入门,已经入门的人请绕道。——Tait.Jiang数字电路可分为纯逻辑电路和时序电路两个部分:纯逻辑电路,一般叫组合逻辑。这种电路不含有任何时序器件(如D触发器),纯粹的由与、或、非等门电路组成。时序电路,指由触发器(无特殊说明,一般指D触发器)、存储器等时序器件组成的电路。所以一般可以通过电路中是否有触发器、存储器件来判断电路是纯逻辑电路还是时序电路。实际的数字电路往往是逻辑和时序电路的组合体。逻辑电路都知道逻辑电路是由与、或、非门搭建起来的,这话说得没错,但是真正在设计电路的时候却不完全正确。想象一下
2、,一个可以几十万门或上百万门的数字电路系统,如果你想用基本的门电路一个个搭起来,那无疑是个会把人逼疯了的任务。那我们该怎么办呢?一般来说,我们要先熟悉一些简单的常用电路结构,然后把这些常用电路组合到一起,构成更加复杂的电路。真正设计复杂系统的时候,我们只需要考虑这个系统可以由那些个常用电路组合而成,而常用电路已经被设计好了,可以直接拿来用的,这样既降低的出错的概率,也缩短了开发周期。下面介绍一些常用的逻辑电路。加法器:简单的一位二进制加法电路是这样的S=A^B^C(1-1)X=(A&B)
3、(B&C)
4、(C&A)(1-2)A、B是两个需要相加的数;C是低位的进位;S是加法结果;X是向高位的进
5、位。如图1-1所示:图1-1上面说得是一位加法器,如果需要多位加法器,则用多个一位加法器串联(如图1-2),把低位的X和高位的C相连,就可以了。也就是说,一位加法器是基本电路,多个组合后,就变成了任意位的加法电路。我们可以再继续组合,如果三个多位数(A1、A2、A3)相加Tait.Jiang的加法器怎么办?我们可以先把其中的两个数相加(B=A1+A2),然后再用一个加法器(B+A3),也就是说用两个加法器就可以完成三个数相加。多个数相加的情况可以依次类推。但是记住,这只是理论上的,实际中如果这样简单累加的话,会出现延迟太大的问题,是不合适的。A2B2A1B1A0B0X2C2X1C1X0C0
6、+++S2S1S0图1-2我们在串联过程中会发现,最低位的那个加法器中C0位永远是0。因为它是最低位了,不可能有进位传递给它,所以对于最低位来说,进位C0是没有意义的。那么我们可以把C0给去掉,于是最低位加法逻辑就变成了:S0=A0^B0(1-3)X0=A0&B0(1-4)对于没有进位C的加法器,我们叫它半加器,而第一种有进位C的称谓全加器。其实加法器还有很多种,如超前进位加法器等等,都是在上面讲的基本加法器的基础上进行的改进,加快运算速度。你会问,那减法器、乘法器、除法器呢?其实这几种运算都是可以由一系列的加法运算来完成的,而且乘法用的少。DSP芯片上有单独的乘法器,是因为其运算中需要大
7、量用到乘加操作。在Xilinx的FPGA中有现成的乘法器,性能比自己设计要好,所以可以直接用,也不用设计。选择器:所谓选择器,就是有多个输入信号和一个选择信号,只有一个输出信号,根据输入的选择信号的不同,输出信号在多个输入信号之间进行切换。常用的有“二输入一输出选择器”和“四输入一输出选择器”。下面是“二一选择器”的逻辑式:S=A&(!C)+B&C(1-5)S是最后的输出;A、B是需要被选择的输入信号;C是选择信号。当C=0时,输出S=A;当C=1时,输出S=B。如图1-3所示Tait.Jiang图1-3我们再做一个组合。在一个“二一选择器”的两个输入端,各连接一个“二一选择器”,那么这三
8、个“二一选择器”就组成了一个“四一选择器”。如图1-4所示。A0AMUXB0SBC0ACMUXSBCA1AMUXB1SBCC1图1-4编码器、译码器:编码器、译码器这个定义比较难以下,因为它的电路和逻辑不是固定的。我们取个例子来说明,“三八译码器”是我们比较熟悉的译码器,其作用就是将二进制的数字,转化成独热码形式。其真值表如下:输入(D2-D0)输出(Q7-Q0)0000000000100100000010010000001000110000100010000010000101001000001100100000011110000000表1-1CPU中的指令译码电路与其比较相似,当然要比它
9、复杂。我们可以这么来看“三八译码器”:输入的二进制数是指令码,不同的数字代表不同的命令形式;而输出的独热码中的每一位都是系统中的一个模块的控制信号,那样通过输入不同的指令,就转化成实际的对各个模块的控制信号了,这就是译码器的作用。编码器的作用真好像反,就是将冗长的控制信号,编码成短小的信号,有利于进行传输、存储等。现实中的编码器和译码器没有固定的形式,总的来说就是在两种数据形式之间进行转换。因为数据形式是不固定的,你也可
此文档下载收益归作者所有