完成下图所示图形:
逻辑功能描述
control 模块接收到tx_done信号之后给send模块发出en使能信号和8位data。
send 模块当en使能为高的时候,开始将输入的数据一位一位的传输给tx(output), 当八位数据输出完成之后tx_done=1;
tx_done之后延时5 us
写一个top level来调用control 和send 模块
注意
如果control不发en信号,那么send 模块就不会工作,
如果send 模块不工作,那么tx_done一直为0,
如果tx_done 一直为0, 那么control 模块也不会工作
==> 所以在初始的时候,control模块要先发出en使能信号给send 模块,使send 模块先工作。
在control 模块里面写一个状态机
- S0 为初始状态,这个时候给send 模块发送使能信号en, 进入S1 wait 状态,
- 然后等send模块的tx_done之后,进入延时模块S2,同时将延时模块的cnt_en使能置为1,延时模块开始计数,将send 模块的使能,en拉低。
- 延时模块结束(delay_done=1),回到初始状态,将cnt_en使能拉低