- 25
- 0
- 约小于1千字
- 约 5页
- 2017-03-05 发布于重庆
- 举报
循环移位器设计
循环移位器(circular shifter)
设计要求
设计一个8位的循环移位器:输入8位二进制数据X[7:0],在控制输入N[2:0]和D的控制下进行向左或向右循环移位,N和D分别表示移位的位数和方向。分别用’151和’157两种方式实现。
例如:输入字为abcdefgh,若N=011, D=0,则表示向左移动3位,则输出字为defghabc。
设计分析
对于151实现方式:
因为是8输入8输出的电路一次至少需要8片’151,每一片’151错位赋值,假设input依次为abcdefgh,1至8依次连接abcdefgh,bcdefgha,cdefghab,defghabc,efghabcde,fghabcde,ghabcdef, habcdefg。则’151的选择控制端为001时各片以次输出第二位即bcdefgha,从而实现左移。由于左移与右移是二进制补码的关系可以将右移转换为左移。若左移为N2N1N0,右移为B2B1B0,则有:
N0=B0 N1=B0B1 N2=B2(B0+B1)
对于’157实现方式
由于实现的是8位的输出,8位的循环移动。因此需要6片’157, 2片为一组分别实现0 4,0 2,0 1位的移位。如图:
其循环左移与循环右移的实现方式同’151的相同。
如此实现相较于’151的实现方式使用的MSI器件较少,但由于是几次移动的叠加,传输延时相比于’151的直接移位输出较大。
三、设计结果
由图可以看出(D2 循环移位的方向 0--左,1--右)
D2N2N1N0=1001时
hgfedcba hogofoeodocoboao实验结果可知逻辑电路设计符合要求。
D2 循环移位的方向 0--左,1--右)
D2N2N1N0=1001时
hgfedcba hogofoeodocoboao实验结果可知逻辑电路设计符合要求。
原创力文档

文档评论(0)