功能描述:8位寄存器,3态输出。
module reg8(data,clock,qout,E);
input clock,E;
input[7:0] data;
output[7:0] qout;
reg[7:0] qout;
always@(posedge clock)
if(E)qout<=8'bZ;
else qout<=data;
endmodule
功能描述:串进并出,8位移位寄存器
module reg8(data,clock,Q);
input clock;
input data;
output[7:0] Q;
wire[7:0] Q;
reg q0,q1,q2,q3,q4,q5,q6,q7;
assign Q[0]=q0;
assign Q[1]=q1;
assign Q[2]=q2;
assign Q[3]=q3;
assign Q[4]=q4;
assign Q[5]=q5;
assign Q[6]=q6;
assign Q[7]=q7;
always@(posedge clock)
begin
q0<=data;
q1<=q0;
q2<=q1;
q3<=q2;
q4<=q3;
q5<=q4;
q6<=q5;
q7<=q6;
end
endmodule
功能描述:并进串出,移位寄存器 module shift_reg8(data,clock,Q,E); input clock,E; input[7:0] data; output Q; wire Q; reg q0,q1,q2,q3,q4,q5,q6,q7; assign Q=q7; always@(posedge clock) if(E) begin q0<=data[0]; q1<=data[1]; q2<=data[2]; q3<=data[3]; q4<=data[4]; q5<=data[5]; q6<=data[6]; q7<=data[7]; end else begin q1<=q0; q2<=q1; q3<=q2; q4<=q3; q5<=q4; q6<=q5; q7<=q6; end endmodule