看看 TestBench 文件哪里有问题? 读txt 文件,仿真时全是“0
看看 TestBench 文件哪里有问题? 读txt 文件,仿真时全是“0”,但是我txt 文件里有数据的呀,ISE自带模拟器
moduleUARTAutomatic_Tb();
reg Clk ;
reg RSTn ;
reg Rxd;
wire Txd ;
reg RxdMem ;
reg TxdMem ;
reg TxdClk ;
parameter BAUDRATE = 9600 ;
parameter SAMPLECLKPERIOD = 1_000_000_000/BAUDRATE/16 ;
parameter SYSCLKPERIOD = 20 ;
//parameter SAMPLECLKPERIOD = 50_000_000/BAUDRATE/16 ;
parameter TXDCLK = 1_000_000_000/BAUDRATE ;
task HarwareReset ;
input HoldLowTime ;
begin
RSTn = 1'b1;
wait (Clk !== 1'bx);
@ (negedge Clk);
RSTn <= 1'b0;
repeat(HoldLowTime)
@ (negedge Clk);
RSTn <= 1'b1;
end
endtask
task RxdData ; //声明的输入端口,调用任务时,需传递参数
input DataNum ;
integer i; //任务内部变量,modelsim无法查看
begin
i = 0 ;
repeat(DataNum)
begin
@ (posedge TxdClk);
Rxd = 0 ;
repeat(8)
begin
@ (posedge TxdClk);
Rxd = RxdMem ;
RxdMem = {1'b0,RxdMem} ;
end
@ (posedge TxdClk) ;
Rxd = 1 ;
i = i + 1 ;
end
end
endtask
initial
begin
Clk = 0 ;
TxdClk= 0 ;
RSTn = 1 ;
Rxd = 1 ;
HarwareReset(4) ;
$readmemh("E:/ise/myUart/rtl/RxdMem.txt",RxdMem) ;
$readmemh("/TxdMem.txt",TxdMem) ;
RxdData(9) ;
end
always
#(SYSCLKPERIOD/2) Clk = ~Clk ;
//always
//#TXDCLK TxdClk= ~TxdClk ;
initial
begin
#13
forever
#(TXDCLK/2) TxdClk= ~TxdClk ;
end
UARTAutomatic UARTAutomaticEx01
(
.Clk ( Clk ),
.RSTn ( RSTn ),
.Rxd ( Rxd ),
.Txd ( Txd )
);
endmodule
页:
[1]