|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?注册
x
各位大虾,小弟刚刚接触verilog半个月,现在正在照着书上的例题练习。
看到实现一个uart接口时,那个例子里面用的是input load_tx_data;作为一个向发送缓冲区写入数据的标志位,只要load_tx_data==1,就向发送缓冲区写数据。我在想怎样能够实现不用标志位,因为用这种标志位发送还是半自动的,而是只要向缓冲区里写入数据就自动发送,不向里面写就不发送。就像单片机的uart一样,等到txrdy为1时就可以向发送缓冲区写入数据,然后自动发送,不写入数据就不发送。
我的想法是发送缓冲区初始值为8‘bzzzzzzzz,写入数据后状态就是确定的一个数值,并设置一个状态位load_tx_data =1,发送完成恢复为全高阻,load_tx_data = 0;
不知道这样写不行,也就是说缓冲区从高阻状态到确定的一个值的状态,用下面这种能不能实现??
always @(tx_buf)
begin
load_tx_data = 0;
if(tx_buf>=0||tx_buf<=255)
load_tx_data = 1;
end
就是这种组合逻辑能不能实现高阻到确定值,我对于z ,x这两个值很不清楚,不会判断,不知大侠怎样看。 |
|