OpenCores
URL https://opencores.org/ocsvn/spacewire/spacewire/trunk

Subversion Repositories spacewire

[/] [spacewire/] [trunk/] [rtl/] [RegSpW.v] - Rev 27

Compare with Previous | Blame | View Log

//File name=RegSpW.v   no module(don't added this file in the design hiberarchy).   2005-04-07      btltz@mail.china.com    btltz from CASIC  
//Description:   Declare status/contrl registers for CODEC
//Abbreviations:      
//Origin:        SpaceWire Std - Draft-1 of ECSS(European Cooperation for Space Standardization),ESTEC,ESA.
//--     TODO:	  Make it easy to use (but enough flexibility)  
////////////////////////////////////////////////////////////////////////////////////
//
//
 
///////////////////////////////
// addr: 0x00 = ADDR_LOC_LOC //
reg [15:0] LOC_LOC;          // local device address in the SpW network. If enabled, HW will compare it with heads of packets
                             // [7:0] : local device location
                             // [8] : '1'enable/'0'disable addr compare
 
 
/////////////////////////////// CHANNEL 1 /////////////////////////////////////////////////
// addr: 0x01
reg [15:0] SPE_CTL1;         // transmitter speed control register
 
 
///////////////////////////////
// addr: 0x02 = ADDR_CTR_STA1// 
reg [31:28] STA_TX1;         // transmitter status    
                             // [31:30] : reserved;   [29] : tx is running;  [28] : tx buffer Afull; 
reg [27:16] STA_RX1;         // receiver status       
                             // [27:25] : reserved;    [24] : rx buffer empty;   
                             // [23:21]:(got NULL/FCT/Time/Nchar);  [20:16] : {err_par,err_esc,err_dsc,err_seq,err_crd};     
reg [15: 8] CTL_TX1;         // transmitter control
                             // [15] : SpW or GPIO; reset as SpW;  [14]: Direction of GPIO; [13]: data of IO 
                             // [12] : link_en; [11] : AUTO_START;  [10] : checksum_en 
reg [ 7: 0] CTL_RX1;         // receiver control
                             // [15] : SpW or GPIO; reset as SpW;  [14]: Direction of GPIO; [13]: data of IO 
 
//////////////////////////////CHANNEL 2/////////////////////////////////////////////////
// addr: 0x03
reg [15:0] SPE_CTL2;         // transmitter speed control register
 
 
///////////////////////////////
// addr: 0x04 = ADDR_CTR_STA2//
reg [31:28] STA_TX2;         // transmitter status   
                             // [31:30] : reserved;   [29] : tx is running;  [28] : tx buffer Afull; 
reg [27:16] STA_RX2;         // receiver status        
                             // [27:25] : reserved;    [24] : rx buffer empty;   
                             // [23:21]:(got NULL/FCT/Time/Nchar);  [20:16] : {err_par,err_esc,err_dsc,err_seq,err_crd};     
reg [15: 8] CTL_TX2;         // transmitter control
                             // [15] : SpW or GPIO; reset as SpW;  [14]: Direction of GPIO; [13]: data of IO 
                             // [12] : link_en; [11] : AUTO_START;  [10] : checksum_en 
reg [ 7: 0] CTL_RX2;         // receiver control
                             // [15] : SpW or GPIO; reset as SpW;  [14]: Direction of GPIO; [13]: data of IO 
 
//////////////////////////////CHANNEL 3/////////////////////////////////////////////////
// addr: 0x05
reg [15:0] SPE_CTL3;         // transmitter speed control register
 
 
///////////////////////////////
// addr: 0x06 = ADDR_CTR_STA3//
reg [31:28] STA_TX3;         // transmitter status     
                             //  [31:30] : reserved;   [29] : tx is running;  [28] : tx buffer Afull; 
reg [27:16] STA_RX3;         // receiver status        
                             // [27:25] : reserved;    [24] : rx buffer empty;   
                             // [23:21]:(got NULL/FCT/Time/Nchar);  [20:16] : {err_par,err_esc,err_dsc,err_seq,err_crd};     
reg [15: 8] CTL_TX3;         // transmitter control
                             // [15] : SpW or GPIO; reset as SpW;  [14]: Direction of GPIO; [13]: data of IO 
                             // [12] : link_en; [11] : AUTO_START;  [10] : checksum_en 
reg [ 7: 0] CTL_RX3;         // receiver control
                             // [15] : SpW or GPIO; reset as SpW;  [14]: Direction of GPIO; [13]: data of IO  
 
 
 
///////////////////////////////
// addr: 0x07 = ADDR_WB_CTR  //
reg [31:30] WB_CTR;          // WISHBONE Interface Control Register
                             // case([31:30])  2'b00 - HOCI operates as 8-bit   2'b01 - ..16-bit    2'b10 - ..32-bit(RESET)    2'b11 - ..64-bit
                     	     // [29:24] reserved
reg [23:20] COMI_ACR;        // COMI Arbitration Control Register . wait time between two accesses.   reset = 0x8;  
                             // 0x0==disable communication memory interface;  
                             // 0xF==Max clk cycles between two accesses; 
                             // [19:16] reserved
reg [15:14] PKT_SIZE;        // packet size.
                             // 0x0 : 8 byte (reset);  0x1 : 16 byte;  0x2 : 24 byte; other reserved
                             // [13:8] reserved
reg [7:6] COMI_CH_SEL;       // from COMI to wich channel
                             // 0x0 : reset;   0x1 : CH 1;   0x2: CH2;  0x3: CH3. 
                             // [5:4] reserved
reg [3:2] CM_AB2TX_GO;       // 2'b10: begin/end load data from COMI bank A to TX FIFO
                             // 2'b01: begin/end load data from COMI bank B to RX FIFO
reg [1:0] CM_RX2AB_GO;       // 2'b10: begin/end load data from RX to COMI bank A
                             // 2'b01: begin/end load data from RX to COMI bank B
 
 
 
//////////////////////////
// addr: 0x08 reserved
 
 
//////////////////////////
// addr: 0x09 reserved
 
//////////////////////////
// addr: 0x0A 
//       Channel 1 Tx FIFO
 
//////////////////////////
// addr: 0x0B
//       Channel 1 Rx FIFO
 
//////////////////////////
// addr: 0x0C 
//       Channel 2 Tx FIFO
 
//////////////////////////
// addr: 0x0D
//       Channel 2 Rx FIFO
 
//////////////////////////
// addr: 0x0E 
//       Channel 3 Tx FIFO
 
//////////////////////////
// addr: 0x0F
//       Channel 3 Rx FIFO
 
 
 
 
//////////////////////////
// addr: 0x10 reserved
 
 
 
 
 
 
///////////////////////////////
// addr: 0x11 = ADDR_CH1TXSE //
reg [31:16] CH1_TX_EAR;      // Channel 1 transmit End Address Register
reg [15:0]  CH1_TX_SAR;      // Channel 1 transmit Start Address  
 
///////////////////////////////
// addr: 0x12 = ADDR_CH1RXSE //
reg [31:16] CH1_RX_EAR;      // Channel 1 Receive End Address Register
reg [15:0]  CH1_RX_SAR;      // Channel 1 Receive Start Address 
 
//reg [15:0]  CH1_TX_CAR;      // Channel 1 Current Address. No mapped address
 
///////////////////////////////
// addr: 0x13 = ADDR_CH2TXSE //
reg [31:16] CH2_TX_EAR;      // Channel 2 transmit End Address
reg [15:0]  CH2_TX_SAR;      // Channel 2 transmit Start Address 
 
///////////////////////////////
// addr: 0x14 = ADDR_CH2RXSE //
reg [31:16] CH2_RX_EAR;      // Channel 2 Receive End Address
reg [15:0]  CH2_RX_SAR;      // Channel 2 Receive Start Address 
 
//reg [15:0]  CH2_TX_CAR;      // Channel 2 Current Address. No mapped address
 
///////////////////////////////
// addr: 0x15 = ADDR_CH3TXSE //
reg [31:16] CH3_TX_EAR;      // Channel 3 transmit End Address
reg [15:0]  CH3_TX_SAR;      // Channel 3 transmit Start Address 
 
///////////////////////////////
// addr: 0x16 = ADDR_CH3RXSE //
reg [31:16] CH3_RX_EAR;      // Channel 3 Receive End Address
reg [15:0]  CH3_RX_SAR;      // Channel 3 Receive Start Address 
 
//reg [15:0]  CH3_TX_CAR;      // Channel 3 Current Address. No mapped address
 
 
 
 
 
 
 
 
 
 
 

Compare with Previous | Blame | View Log

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.