我用verilog语言写了一个串口模块,其中
sys_clk是系统时钟;rst_n是复位信号;
rx_data是接收数据的传输线;
rx_reg1和rx_reg2是给rx_data打拍子的第一拍和第二拍;
start是为了检测rx_data下降沿,由rx_reg1和rx_reg2产生的使能信号;
rx_flag是允许信号传输的标志信号;
cnt是计算发送一个bit所需要的时;
cnt_bit是计算rx_flag高电平情况下,一共发送了多少bit;
rx_done是信号发送结束的标志信号,在cnt_bit记到第九位时,rx_done产生一个高电平信号,此时rx_flag拉低,不允许发送数据;
uart_data是要发送的数据,当rx_done拉高的时候,把之前接受的数据发送出去。

我对着讲解看了,我检查不出哪里有问题,可是 现在我遇到的问题是:我写的仿真文件里面rx_reg1,rx_reg2,rx_flag,start ,rx_done,全部都是高阻态,而uart_data是未知态,这是怎么回事呢??
下面这个是我的测试文件:

下面这个是仿真结果:

下面试我想实现的时序结果:
