|
发表于 2010-1-25 21:34:10
|
显示全部楼层
回复【13楼】catking
-----------------------------------------------------------------------
`timescale 1ns/1ns
module SDIN(sclk,data,sdfo,sdin);
parameter n=5;
input sclk;
input sdfo;
input[n:0] data;
output[n:0] sdin;
reg[n:0] sdin_ready;
reg ready_flag;
reg[n:0] sdin;
reg continue_flag;
always @(posedge sclk)
begin
if(sdfo|continue_flag) begin
sdin_ready[n:0] <= data[n:0];
ready_flag<=1'b1;
end
else sdin_ready[n:0] <= 0;
end
always @(posedge sclk)
begin
if((ready_flag&&(!sdfo))||continue_flag) begin
ready_flag<=1'b0;
continue_flag<=1'b1;
sdin<=sdin_ready[n:0];
end
end
endmodule |
|