
Figure 1 – MIL-STD-1553B Interface System Diagram
The 1553B Interface Core is comprised of several blocks which are shown in the following block diagram. All signals on the bottom go to the user application. All signals on the left go to the 1553B Transceiver.
The 1553B core has been designed to allow for easy integration into custom user applications. A simple processor bus interface is provided to access control/status registers, FIFOs, and RAMs. This simple processor interface can also be replaced with an AXI-Lite processor interface.
A programmable interrupt controller is included with full enable, masking, and status capability to allow for interrupt driven or polled detection of events.
The 1553B core contains the following three major functions.
These functions can be used independently, or in conjunction based on the users needs. The design is capable of switching from BC to RT mode and back, on the fly. To support 1553 communication, the BC, RT, and BM share one Manchester II Differential Encoder, and two Manchester II Differential Decoders.
Detailed operation of the design is provided in the User Guide.
Figure 2 – MIL-STD-1553B Core Diagram
The 1553 design is fully synchronous to the system clock (clk_local), and the 1553 bus over-sample clock (clk_ovs). The design uses two main synchronous resets (srst_local and srst_ovs). The polarity of the resets are generically configurable. These resets should be synchronized to the appropriate clock domain in the top level of your design. Synchronous enables are also available for each function of the design (BC, RT, BM).
Clk_ovs is used by the design to drive 1553B bus logic. A rate of 40 MHz is typical (but not required) to obtain perfect timing for all 1553 timers. The only requirement is that clk_ovs be an even numbered frequency such as 20,22,24,… 40,42,44,… 50,52,54,… 98,100,102 MHz+. Upon purchase of the core, DDC will configure the IP to the frequency you choose. This allows the user the flexibility of choosing a clock rate other than 40 MHz.
Clk_local is used by the design to drive the main controllers, interrupt controller, and processor interface. The design is capable of 100 MHz+ local side operation, in FPGA implementations, with no stress on synthesis/place and route tools.
All interactions between clock domains are handled by FIFOs and synchronization logic.
Detailed clock and reset descriptions and requirements are available in the User Guide.
The 1553B Interface will detect and generate eleven different interrupts to the user application.
These are
Mode command interrupts in RT mode are supplied when a software action may be required. Some mode commands are handled completely by software. Others are handled partially by hardware and notify software of an event. For example, if software indicates that it will accept the bus for the Dynamic Bus Control mode command, then the hardware will accept the bus in the status response, reset the RT, enable the BC, and set the interrupt to notify software that the bus has been accepted and the Bus Controller is operational. If an interrupt is not provided for a mode command, then the mode command is handled completely and automatically by hardware.
Each of the above interrupts can be independently enabled, and masked. These events can be enabled by writing to the Enable Register (FF3_IER). Enabling an interrupt will allow its status to appear in the Status Register (FF3_ISR). Furthermore, if an interrupt is enabled, is can also be unmasked. This is done by clearing bits in the Mask Register (FF3_IMR). If an interrupt is unmasked, it will cause the external interrupt output pin to go high and stay high until cleared. Interrupts can be cleared by writing a ‘1’ to the FF3_ISR in the correct bit position of the interrupt that is to be cleared.
Detailed descriptions of each interrupt condition and processing steps are available in the User Guide.
The Bus Controller is capable of sending and receiving responses for all mode commands.
The Remote terminal supports all mode commands and handles them automatically in hardware when applicable.
The Bus Monitor will log all mode commands and the responses.
Detailed descriptions of each mode command and the processing steps are available in the User Guide.
The 1553 Core comes complete with a unit level testbench. The testbench is fully automated and self checking.
The testbench can be used as a demonstration of how the interface is programmed by software. Examples of most 1553 transactions are provided as part of the test suite.
As part of the testbench, you will receive task calls to operate the local side bus interface. Automatic check routines are provided which provide checks of all aspects of a transaction. Easy to understand terminal output is provided to follow the flow and results of all transactions.
The 1553B Core is not limited to any vendor specific implementation. Versions are available for all major FPGA vendors, and can be created for any custom ASIC application. A table at the end of this document shows typical resource requirements for various Xilinx implementations.
The following resource numbers are presented for various Xilinx devices. The DDC 1553 IP has results that are very close to the following numbers across all device families.
Virtex4
Capability | FFs | LUTs | BRAMs (18K) |
---|---|---|---|
BC/RT/BM | 1974 | 4638 | 26 |
BC only | 886 | 1836 | 7 |
RT only | 1430 | 3241 | 12 |
BM only | 664 | 1668 | 11 |
Virtex5
Capability | FFs | LUTs | BRAMs (18K) | BRAMs (36K) |
---|---|---|---|---|
BC/RT/BM | 1970 | 3827 | 3 | 9 |
BC only | 884 | 1541 | 2 | 1 |
RT only | 1426 | 2623 | 1 | 4 |
BM only | 665 | 1426 | 0 | 4 |
Virtex6
Capability | FFs | LUTs | BRAMs (18K) | BRAMs (36K) |
---|---|---|---|---|
BC/RT/BM | 1959 | 4341 | 3 | 9 |
BC only | 898 | 1742 | 2 | 1 |
RT only | 1413 | 3039 | 1 | 4 |
BM only | 691 | 1525 | 0 | 4 |
Ultrascale
Capability | FFs | LUTs | BRAMs (18K) | BRAMs (36K) |
---|---|---|---|---|
BC/RT/BM | 2463 | 3195 | 3 | 9 |
BC only | 1217 | 1449 | 2 | 1 |
RT only | 1613 | 2111 | 1 | 4 |
BM only | 873 | 1127 | 0 | 4 |
Spartan6
Capability | FFs | LUTs | BRAMs (9K) | BRAMs (18K) |
---|---|---|---|---|
BC/RT/BM | 2584 | 3432 | 2 | 19 |
BC only | 1239 | 1521 | 2 | 2 |
RT only | 1712 | 2274 | 0 | 9 |
BM only | 749 | 1154 | 0 | 8 |
Virtex5Q = Space Grade – XQR5VFX130
Capability | FFs | LUTs | BRAMs (36K) SDP w/ ECC |
---|---|---|---|
XQR5VFX130 | 81920 | 81920 | 298 |
BC/RT/BM | 2730/3% | 4303/5% | 36/12% |
BC only | 1247/1% | 1675/2% | 9/3% |
RT only | 1808/2% | 2814/3% | 20/6% |
BM only | 810/1% | 1333/1% | 11/1% |
Virtex7
Capability | FFs | LUTs | BRAMs (18K) | BRAMs (36K) |
---|---|---|---|---|
BC/RT/BM | 2462 | 3228 | 3 | 9 |
BC only | 1217 | 1458 | 2 | 1 |
RT only | 1613 | 2152 | 1 | 4 |
BM only | 873 | 1112 | 0 | 4 |
Agilex 5
Capability | ALMs | FFs | LUTs | BRAMs (20K) |
---|---|---|---|---|
BC/RT/BM | 3037 | 2881 | 4517 | 30 |
BC only | 1395 | 1364 | 2038 | 7 |
RT only | 2073 | 1940 | 3008 | 20 |
BM only | 916 | 852 | 1286 | 10 |