打印

怎么用硬件实现数据移位

[复制链接]
1853|10
手机看帖
扫描二维码
随时随地手机跟帖
沙发
mr.king| | 2011-12-2 21:55 | 只看该作者
设计SHIFTER

使用特权

评论回复
板凳
sxhhhjicbb| | 2011-12-3 10:31 | 只看该作者
<<

使用特权

评论回复
地板
utopiaworld| | 2011-12-3 11:48 | 只看该作者
reg  [7:0] shift_reg;

always@(posedge clk or negedge rst_n)
begin
    if(rst_n == 1'b0)
       shift_reg <= 8'd0;
   else
       shift_reg <= {shift_reg[6:0],din};
end

使用特权

评论回复
5
hlhfootbal|  楼主 | 2011-12-3 18:41 | 只看该作者
4# utopiaworld
谢谢!
有用VHDL实现的吗?

使用特权

评论回复
6
占领将军| | 2011-12-5 10:04 | 只看该作者
reg [7:0] shift_reg;
shift_reg <= {shift_reg[6:0],din};

请问shift_reg[6:0]为什么是7位的,而不是8位的呢
初学者请教……

使用特权

评论回复
7
rockzone| | 2011-12-5 21:20 | 只看该作者
低位就是din嘛,这样和前面7位组成8位数据,实现移位操作

使用特权

评论回复
8
占领将军| | 2011-12-6 08:56 | 只看该作者
移的位数是哪个变量控制的呢

使用特权

评论回复
9
hlhfootbal|  楼主 | 2011-12-6 18:43 | 只看该作者
我知道了,用并置运算符&
可以实现

使用特权

评论回复
10
rockzone| | 2011-12-6 19:24 | 只看该作者
8# 占领将军


没有变量控制
shift_reg <= {shift_reg[6:0],din};
这句实际的意思是
shift_reg[7:1]=shift_reg[6:0],shift_reg[0] = din.

使用特权

评论回复
11
utopiaworld| | 2011-12-10 20:17 | 只看该作者
[img][/img]

绘图2.jpg (7.07 KB )

绘图2.jpg

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

133

主题

417

帖子

1

粉丝