发布网友 发布时间: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是几位的