verilog的一个问题

[复制链接]
2211|6
 楼主| dobypig 发表于 2012-5-15 10:58 | 显示全部楼层 |阅读模式
[email=always@(posedge]always@(posedge[/email] clk or negedge rst_n)begin
if(!rst_n)begin
   bps_start_r <= 1'bz;  //特权的例程,这里为什么是1'bz而不是1'b0?(bps_start_r作为输出寄存器会传送到另外一个模块里,另外一个模块会检测sps_start是1还是0)
   tx_en <= 1'b0;
   tx_data <= 8'd0;
  end
else if(pos_rx_int)begin
   bps_start_r <= 1'b1;
   tx_data <= rx_data; //将数据送入发送寄存器
   tx_en <= 1'b1;         //进入发送数据状态
  end
else if(num == 4'd11)begin //发送数据完成
   bps_start_r <= 1'b0;
   tx_en <= 1'b0;
  end
end
kdurant 发表于 2012-5-15 12:25 | 显示全部楼层
复位的时候高阻
和工作时没有关系
 楼主| dobypig 发表于 2012-5-15 12:37 | 显示全部楼层
复位成0不可以吗? 2# kdurant
kdurant 发表于 2012-5-15 14:51 | 显示全部楼层
随便你
 楼主| dobypig 发表于 2012-5-15 16:33 | 显示全部楼层
那你说他这个例程这么写当初是怎么想的呢? 4# kdurant
Backkom80 发表于 2012-5-15 18:17 | 显示全部楼层
代码和硬件是相联的,这个你要问特权同学他的硬件了,嘻嘻:lol
可木 发表于 2012-5-18 00:02 | 显示全部楼层
您需要登录后才可以回帖 登录 | 注册

本版积分规则

5

主题

75

帖子

1

粉丝
快速回复 在线客服 返回列表 返回顶部