求教各位大侠 帮帮小菜
看看这段ISA接口小程序为什么不对
本人的问题是,assign led_out=wr_data[11:0]; 从PC机发送过来的一个16位确定数data, led显示的
得到的是个不确定数;
如果不用iocs16=(addr[9:4]==basic_addr[9:4])?1'b0:1'bz 这段收到的8位数又是正确的
module ISA
(
clk,
reset,
led_out,
data,
addr,
iow,
ior,
iocs16,
basic_addr_set
);
input clk;
input reset;
input [3:0] basic_addr_set;
inout [15:0] data;
input [9:0] addr;
input iow;
input ior;
output iocs16;
output [11:0] led_out;
reg [15:0] wr_data;
wire [9:0] basic_addr={2'd2,basic_addr_set,4'd0}; //板卡基地址
tri iocs16=(addr[9:4]==basic_addr[9:4])?1'b0:1'bz;
assign led_out=wr_data[11:0];
always@(iow,addr,reset)
begin
if(reset)
begin
// pl_reg_h<=1'h0;
end
else if(!(iow)&&(addr==basic_addr))
begin
// pl_reg_h<=data[15];
end
else if(!(iow)&&(addr==(basic_addr+1)))
begin
wr_data<=data;
end
end
0