下面是用来做AD时序控制的程序,控制CS、RC、FIFOWR。第一个always做的240倍分频,在第二个always中直接应用第一个的分频时钟。但仿真的时候只有分频可以出来,CS、RC、FIFOWR信号始终为高电平,请问高手指教,谢谢!
`timescale 1ns/1ns
module div(CLK,CLK_OUT,rst_n,CS,RC,FIFOWR);
input CLK;
input rst_n;
output CS,RC,FIFOWR,CLK_OUT;
//reg CLK_OUT;
reg [6:0]cnt;
reg clk_out_t;
reg CS,RC,FIFOWR;
[email=always@(posedge]always @ ( posedge[/email] CLK )
begin
if (!rst_n)begin
cnt<=0;
clk_out_t<=0;
end
if (cnt==7'b1110111) begin
cnt<=7'b0000000;
clk_out_t<=~clk_out_t;
end
else begin
cnt<=cnt+7'b0000001;
end
end
assign CLK_OUT=clk_out_t;
always @(posedge CLK_OUT)
begin
RC=0;
#1;
CS=0;
#2;
CS=1;
#1;
RC=1;
#216; //9US
CS=0;
FIFOWR=0;
#2;
CS=1;
#18; //totle #240=10us
FIFOWR=1;
end
endmodule |