热电偶厂家
免费服务热线

Free service

hotline

010-00000000
热电偶厂家
热门搜索:
行业资讯
当前位置:首页 > 行业资讯

用电路实现pascal三角形运算图

发布时间:2020-07-21 18:42:49 阅读: 来源:热电偶厂家

前言pascal三角形,即(a-b)n展开项系数,是一个经典的数学问题,然而它在通信、频率补偿、版图布局布线优化等很多方面都有广泛的应用。在一个小数分频项目中,需要构建一个四级的pascal三角形来进行相位补偿,如图1所示,第二个累加器的溢出必须通过第一个微分控制分频比,第三个累加器的溢出必须通过第二个微分控制分频比,依此类推。第二个累加器使分频比变为n+1、n-1,第三个累加器将分频比变为n+1、n-2、n+1,第四个累加器的分频比序列为n+1、n-3、n+3、n-1,正如图2所示该序列构成一个pascal三角形,每行的总和为零。依照这个规律可以设计实现pascal 三角形运算的通用电路。pascal三角形的数学描述pascal三角形通常用三角形的方式来表示,如图2所示,也可以用一个二维的下三角矩阵来描述,如图3所示。矩阵a[n,n]可以用下面的公式来描述。a[i, j]=a[i, j-1]+(-1)a[i+1, j] (式1)(a[n, 1]=0,a[n, 2]=a[n, 3]=...=a[n, n]=1) i≥1,j≥2。矩阵中第一列的0是为了方便电路实现而人为加上去的。将此二维矩阵表达式(即式1)变成含有时间的一维方程。a[i]j=a[i]j-1+(-1)a[i+1]j (式2)i,j均大于1,a[n]2 =a[n]3=...a[n]n=1。下标表示时间,a[n,1]=0表示刚开始整个电路的清零信号,其余第一列的0表示对应pascal三角形的和为0,最后一行的1表示pascal三角形每一行对应的输入端有输入值1时,产生的立即数为1。 此外,式2具有叠加性,可以把pascal三角形中的一行加上其余任意一行或者几行,实现任意时钟周期的延时。

pascal三角形的基本电路 根据上面一维含时公式,先要构建补码电路,然后是一个加法电路,最后是一个延时电路。假设一个数组a[n:0]表示数的各位,a[0]为最低位,对各位取反,然后最低位加1,得到一个新的数组b[n:0],这个数组最低位为b[0],对应的逻辑关系是:其余位按照这个规律依此类推,逻辑图如图4所示。 采用通用的全加器,逻辑表达式为:

示意图参见图5。其中ci为上一级的进位,a、b为本级输入信号,s为全加和,co是本级进位。延时器采用带清零的d触发器来实现,见图6。clock为时钟信号,clear为清零信号,d是数据输入信号,q是原量输出。

电路设计首先构建一个4级pascal三角形电路,其中clock是时钟信号,in1、in2、in3、in4分别对应于pascal三角形的前4行,clear是清零信号。in1、in2、in3、in4输入之前将触发器清零,防止输出不定态。d0、d1、d2、d3是从低到高的四位输出,sign是符号位,这五位构成输出。值得注意的是,in4经过与自己直接相连的d触发器产生的数只有一位,然而它的补码需要4位,只好在高位加零,这样补码电路就可以简化,图7就是经过简化的电路图。为了增加电路的直观性,这里省略了电路中所有d触发器的时钟信号和清零信号,所有d触发器的清零信号和时钟信号分别连在一起。

图7 pascal三角形实现电路

真值表

in4in3in2in1cp1cp2cp3cp40001100000101-10000112-10001001-21001012-21001102-31010001-33-110012-33-110102-43-110113-43-111002-54-111013-54-111103-64-111114-64-1电路的验证与扩展取in1、in2、in3、in4从0001到1111,并且给每组值以足够的变化周期,可以得到下面的真值表。在viewlogic用xilinx公司的xc4000库进行模拟,除了可以忽略的毛刺和初始时无关紧要的不定态之外,得到的波形图与真值表完全一致,其中cp1、cp2、cp3、cp4分别对应于第1、2、3、4时钟,周期波形图如图8所示。

图8 波形图三级的电路得到验证之后,根据同样的原理,可以在四级的基础上进行任意级的构建。

小结本文给出了pascal三角形运算电路的设计思想与实现方法,以及在viewlogic下的验证,并且还可以根据需要进行任意级的扩展。pascal三角形在版图布局布线优化等方面的具体应用可以参考有关文献,在此不再赘述。

Genymotion 的安装与使用

06 Shell 运算符

02 Windows下安装最新版 MySQL