Line 42... |
Line 42... |
//////////////////////////////////////////////////////////////////////
|
//////////////////////////////////////////////////////////////////////
|
//
|
//
|
// CVS Revision History
|
// CVS Revision History
|
//
|
//
|
// $Log: not supported by cvs2svn $
|
// $Log: not supported by cvs2svn $
|
|
// Revision 1.11 2003/04/09 15:49:42 simont
|
|
// Register oc8051_sfr dato output, add signal wait_data.
|
|
//
|
// Revision 1.10 2003/04/07 14:58:02 simont
|
// Revision 1.10 2003/04/07 14:58:02 simont
|
// change sfr's interface.
|
// change sfr's interface.
|
//
|
//
|
// Revision 1.9 2003/01/13 14:14:40 simont
|
// Revision 1.9 2003/01/13 14:14:40 simont
|
// replace some modules
|
// replace some modules
|
Line 71... |
Line 74... |
wr, wr_bit, wr_addr,
|
wr, wr_bit, wr_addr,
|
p, wr_sfr);
|
p, wr_sfr);
|
|
|
|
|
input clk, rst, wr, wr_bit, bit_in;
|
input clk, rst, wr, wr_bit, bit_in;
|
input [2:0] wr_sfr;
|
input [1:0] wr_sfr;
|
input [7:0] wr_addr, data_in, data2_in;
|
input [7:0] wr_addr, data_in, data2_in;
|
|
|
output p;
|
output p;
|
output [7:0] data_out;
|
output [7:0] data_out;
|
|
|
Line 86... |
Line 89... |
//
|
//
|
//calculates parity
|
//calculates parity
|
assign p = ^acc;
|
assign p = ^acc;
|
|
|
assign wr_acc = (wr_sfr==`OC8051_WRS_ACC1) | (wr & !wr_bit & (wr_addr==`OC8051_SFR_ACC));
|
assign wr_acc = (wr_sfr==`OC8051_WRS_ACC1) | (wr & !wr_bit & (wr_addr==`OC8051_SFR_ACC));
|
assign wr2_acc = (wr_sfr==`OC8051_WRS_ACC2) | (wr_sfr==`OC8051_WRS_BA);
|
assign wr2_acc = (wr_sfr==`OC8051_WRS_ACC2);
|
assign wr_bit_acc = (wr & wr_bit & (wr_addr[7:3]==`OC8051_SFR_B_ACC));
|
assign wr_bit_acc = (wr & wr_bit & (wr_addr[7:3]==`OC8051_SFR_B_ACC));
|
//
|
//
|
//writing to acc
|
//writing to acc
|
always @(wr_sfr or data2_in or wr2_acc or wr_acc or wr_bit_acc or wr_addr[2:0] or data_in or bit_in or data_out)
|
always @(wr_sfr or data2_in or wr2_acc or wr_acc or wr_bit_acc or wr_addr[2:0] or data_in or bit_in or data_out)
|
begin
|
begin
|