首 页 行业热点 新车 试驾评测 养车用车 车型库

移位寄存器 verilog代码

发布网友 发布时间:2022-04-20 22:21

我来回答

4个回答

热心网友 时间:2023-05-11 09:56

mole shift(
in,
clk,
en,
clr,
set,
out
);
input [7:0]in; //input data
input clk; //input clock
input en; //input enable high enable
input clr; //input clear low enable
input [2:0]set; //input set :set num of shift bit
output [7:0]out;

always@(posedge clk or negedge clr) begin: shift_reg
if(!clr) //asychro reset_n low enable
out <= 8'b0;
else if(en) begin //enable signal
case(set[2:0])
3'b0: out <= in[7:0]; //no shift
3'b1: out <= {in[0],in[7:1]};//shift 1bit
3'd2: out <= {in[1:0],in[7:2];//shift 2bit
... ...
//中间这段自己写,要是不会我就撞墙了
default: out <= in[7:0];
endcase
end
end

热心网友 时间:2023-05-11 09:56

//这个程序串行输入,并行8位输出

mole yiwei(in,clk,en,clr,set,out);
input en,set,clk,clr;
input in;
output [7:0] out;
reg [7:0] out;

always@(posedge clk or negedge clr)
begin
if(!clr)//异步清零
begin
out<=0;
end

else
begin
if(en & set) out<=8'b11111111;//置位

else if(en)//使能
begin
out<=out<<1;
out[0]<=in;
end

else
out<=out;
end
end

endmole

热心网友 时间:2023-05-11 09:57

对啊,给出具体要求。位数,串并转换关系,有什么特殊要求。。。

热心网友 时间:2023-05-11 09:57

你要串入并出,还是并入串出
你的输入in是几位的,out是几位的

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com