老古开发网首页
导航:老古开发网首页文章索引文章分类嵌入式系统→[用电路实现 pascal三角形运算]
| -文章搜索 - 最新文章 - |

用电路实现 pascal三角形运算

发布时间:2002年3月13日 点击次数:442
来源:今日电子   作者:
 
东南大学ASIC工程中心 徐光明 张嗣忠 范继伟
 

前言
  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三角形实现电路

 

 真值表

IN4
IN3
IN2
IN1
CP1
CP2
CP3
CP4
0
0
0
1
1
0
0
0
0
0
1
0
1
-1
0
0
0
0
1
1
2
-1
0
0
0
1
0
0
1
-2
1
0
0
1
0
1
2
-2
1
0
0
1
1
0
2
-3
1
0
1
0
0
0
1
-3
3
-1
1
0
0
1
2
-3
3
-1
1
0
1
0
2
-4
3
-1
1
0
1
1
3
-4
3
-1
1
1
0
0
2
-5
4
-1
1
1
0
1
3
-5
4
-1
1
1
1
0
3
-6
4
-1
1
1
1
1
4
-6
4
-1


电路的验证与扩展
  取IN1、IN2、IN3、IN4从0001到1111,并且给每组值以足够的变化周期,可以得到下面的真值表。在viewlogic用XILINX公司的XC4000库进行模拟,除了可以忽略的毛刺和初始时无关紧要的不定态之外,得到的波形图与真值表完全一致,其中CP1、CP2、CP3、CP4分别对应于第1、2、3、4时钟,周期波形图如图8所示。

      图8 波形图

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


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



欢迎进入老古论坛进行讨论
[嵌入式系统] 相关文章:
FSK/ASK/FM接收电路
简介:
南华大学电气工程学院 黄智伟     MIS公司出品的TH71112芯片内包含低噪声放大器(LNA)、两级混频器(MIX1,MIX2)、锁相环合成器(PLL Synthesizer)、基准晶体振荡器(RO)、中频放大器(IFA)、相频检波器(PFD)等电路。LNA是一个高灵敏度的接收射频信号的共发-共基放大器。混频器1(MIX1)将射频信号下变频到中频1(IF1),混频器2(MIX2)将中频信号1下变频到中频信号2(IF2),中频放大器(IFA)放大中频信号2和限幅中频信号并产生RSSI信号。......

自适应可变磁阻传感器放大器及其应用
采用单片机设计温湿度控制仪
用FPGA实现FFT算法
配置一个最佳的RF/微波开关系统
采用C51与插拔式FLASH闪存设计无纸记录仪
一种交织器和解交织器的FPGA电路实现
COFDM 系统中信道状态信息的提取及其在软判决中的应用
Protel到Allegro /CCT格式转换
精密仪用放大器INA114
 
下一个:[嵌入式系统]采用MAX5026实现可编程APD偏置电路
简介:
Maxim公司北京办事处   光通信接收器中常常采用雪崩光敏管(APD)作为PIN二极管,APD具有较高的灵敏度,但需要为给定的光通量需要提供特殊的偏置电路,以产生适当的电子流。MAX5026是一种低噪声、固定频率的升压转换器,非常适用于构建低噪声APD偏置电源。   图1所示为采用MAX5026构建的数字可编程低噪声APD偏置应用电路,工作于间断的电感电流模式,利用MAX5304数/模转换器和一个2.5V基准源MAX6102调节输出电压,......
 

上一个:[嵌入式系统]虚拟环绕处理器芯片MM1454

老古开发网版权所有 2006年9月 asp.Net V2.0 设计:老古
页面缓存:10分钟 执行时间:16毫秒