|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?注册
x
拿这个例子作为Input Delay 时序设置的例子,
我的程序如下,但是设置输入延时就不会了,因为涉及到外部器件的一个虚拟时钟的问题,
能有人讲讲怎么对付这个输入最大,最小延时的设置吗?
/*
串口发送模块,发送rom_8 数据到串口,实现波特率9600
*/
module mul_(clk,rst,rom_8,clk_tx);
input clk,rst;
input [8:1]rom_8;
output clk_tx;
reg clk_96t;
reg [32:1]cnt_5208t;
reg [4:1]statet;
reg clk_tx;
reg [8:1]rom_t;
/////////////////clk_96t ,cnt_5208t
always @(posedge clk or negedge rst )
begin
if(!rst)
cnt_5208t<=0;
else
if(cnt_5208t<32'd5207)
cnt_5208t<=cnt_5208t+1;
else
cnt_5208t<=0;
end
///////////////////////clk_96t
always @(posedge clk )
begin
if(cnt_5208t<32'd2604)
clk_96t<=0;
else
clk_96t<=1;
end
//////////////////////statet
always @(negedge clk_96t or negedge rst)
begin
if(!rst)
statet<=0;
else
if(statet<4'd11)
statet<=statet+1;
else
statet<=0;
end
///////////////////////////////////tx
always @(posedge clk_96t)
begin
case (statet)
4'd1:clk_tx<=0;
4'd2:clk_tx<=rom_t[1];
4'd3:clk_tx<=rom_t[2];
4'd4:clk_tx<=rom_t[3];
4'd5:clk_tx<=rom_t[4];
4'd6:clk_tx<=rom_t[5];
4'd7:clk_tx<=rom_t[6];
4'd8:clk_tx<=rom_t[7];
4'd9:clk_tx<=rom_t[8];
default clk_tx<=1;
endcase
end
////////////////////
always @(negedge clk_96t)
begin
if(statet==4'd11)
rom_t<=rom_8;
end |
|