循环左移器程序逻辑.pdfVIP

  • 0
  • 0
  • 约小于1千字
  • 约 1页
  • 2026-09-10 发布于北京
  • 举报

循环左移器。

假如左移3位,则移动示意如下图所示:

根据移动关系可得到如下的移动计算:

ⅰ若当前数据位的当前序号(0—7)加上移动的次数大于数组长度(这里的数组长度是实际

数组长度-1,如是8位的长度,则减一就是7),则该位将移动到:当前序号+移动次数-数组

长度-1

ⅱ若当前数据位的序号加上移动的次数小于数组长度,则该位移动到:当前序号+移动次数

根据如上的计算方法,就可以编写出循环左移的程序。

程序代码如下:

逐行解释:

18:移动次数暂存寄存器。最大就移动8次。

22-23:当load0时,将移动次数装载进来,conv_integer()将std_logic_vector转变为integer

后赋值给CNT_S。

25-35:当上升沿来后,通过一个for循环进行移位。27-28,就是ⅱ种情况,29-30,就是ⅰ

种情况

文档评论(0)

1亿VIP精品文档

相关文档