发送寄存器程序
发送寄存器程序`timescale 1 ns/100 ps
module iic_rreg(wrd_add,iic_rdata,iic_rdy,iic_act,ack_err,addr,data_o);
input wrd_add;//iic word address
input iic_rdata;//iic read data
input iic_rdy;//iic status bit
input iic_act;//iic cycle active
input ack_err;//ack error
input addr;//cpu address
output data_o;//muxed cpu data output
//寄存器型
reg data_o;//muxed cpu data output
//参数
Parameter w_add=2'b00;//字地址寄存器
parameter d_add=2'b01;//数据寄存器
parameter s_add=2'b10;//状态寄存器
//数据多用输出
always@(addr or wrd_add or ack_err or iic_rdata or iic_rdy)
case(addr)
w_add::data_o<= #1 wrd_add;
d_add::data_o<= #1 iic_rdata;
s_add:data_o<= #1{iic_rdy,ack_err,5'b0,iic_act};
default:data_o<= #1{iic_rdy,ack_err,5'b0,iic_act};
endcase
endmodule
页:
[1]