1、这个题还是很简单的就shift_ena为1时右移一位,count_ena为1时,减一。当 shift_ena为1时如果data也为1,那么q[0]为1;
2、就酱
完整代码如下:
module top_module (
input clk,
input shift_ena,
input count_ena,
input data,
output [3:0] q);
always@(posedge clk)begin
if(shift_ena)begin
q<=q<<1;
if(data)begin
q[0]<=1;
end
end
if(count_ena)begin
q<=q-1'b1;
end
end
endmodule