1限 情報回路
今までせっせと書いたのに消えちゃった・・・
(# ゜Д゜) ムッキー
module Trans8(DI,STB,CLOCK,nCLEAR,RSTBD,SRDY,SB,STBD,RDY,SO); input [7:0] DI; input STB, CLOCK, nCLEAR ,RSTBD, SRDY; output [7:0] SB; output STBD, RDY,SO; reg [7:0] sb; reg [8:0] sr , sc; reg stbd, rdy, stb; reg set , shift; wire stsb; always@(posedge CLOCK or negedge nCLEAR) if(~nCLEAR) begin rdy <= 1; stbd <= 0; sb <= 0; end else begin stb <= STB; stbd <= RSTBD & (stbd | stsb); rdy <= ~stsb & SRDY; if(stsb) begin sb[7:0] <= DI[7:0]; set <= 1; end else if(set) begin sr <= {sb,1'b0}; sc <= 0; set <= 0; end else begin sr <= {1'b1,sr[8:1]}; sc <= {1'b1,sc[8:1]}; shift <= ≻ if(shift) begin shift <= 0; rdy <= 1; stbd <= 1; sc <= 0; sb[7:0] <= DI[7:0]; set <= 1; end end end assign SO = sr[0]; assign stsb = STB & ~stb; assign SB[7:0] = sb[7:0]; assign STBD = stbd; assign RDY = rdy; endmodule