|
发送寄存器程序
`timescale 1 ns/100 ps
module iic_rreg(wrd_add,iic_rdata,iic_rdy,iic_act,ack_err,addr,data_o);
input [7:0] wrd_add;//iic word address
input [7:0] iic_rdata;//iic read data
input iic_rdy;//iic status bit
input iic_act;//iic cycle active
input ack_err;//ack error
input [1:0] addr;//cpu address
output [7:0] data_o;//muxed cpu data output
//寄存器型
reg[7:0] 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
|
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?我要注册
x
|