8位数逻辑左移,位数由shift[2:0]决定代码:moduleVerilog1(inp,outp,shift);input[7:0]inp;input[2:0]shift;outputreg[7:0]outp;alwaysbeginoutp=inpshift;endendmodulemoduleVerilog1(da,wra_n,clka,clkb,rst_n,wrb,db);inputda,wra_n,clka,clkb,rst_n;outputregwrb;outputreg[7:0]db;reg[7:0]full=8'b00000000;reg[7:0]out=8'b00000000;always@(posedgeclka)beginif(full==8'b11111111)full=8'b00000000;if(wra_n==1'b0)begincase(full)8'b00000000:beginout[7]=da;full=8'b10000000;end8'b10000000:beginout[6]=da;full=8'b11000000;end8'b11000000:beginout[5]=da;full=8'b11100000;end8'b11100000:beginout[4]=da;full=8'b11110000;end8'b11110000:beginout[3]=da;full=8'b11111000;end8'b11111000:beginout[2]=da;full=8'b11111100;end8'b11111100:beginout[1]=da;full=8'b11111110;end8'b11111110:beginout[0]=da;full=8'b11111111;enddefault:full=8'b01010101;endcaseendendalways@(posedgeclkb)beginif(!rst_n)beginwrb=1'b0;db=8'b00000000;endelsebegindb=8'bxxxxxxxx;if(full==8'b11111111)begindb=out;wrb=1'b1;endelsebeginwrb=1'b0;db=8'bxxxxxxxx;endendendendmodule