From 64e3c1a9cd81e61d9a3b163c9e9f9390fa4c5c21 Mon Sep 17 00:00:00 2001
From: David Shah
However, there are some locations where configuration bits are swapped between DSP tiles and IPConnect tiles. For example, DSP1 (0, 16) CBIT[4:3] is used - for the internal oscillator, and the DSP configuration bits are then located in IPConnect tile (0, 19) CBIT[6:5].
-The exact permutations are not yet known, but a script will be developed to find them.
+However, there is one location where configuration bits are swapped between DSP tiles and IPConnect tiles. In DSP1 (0, 16) CBIT[4:1] are used + for IP such as the internal oscillator, and the DSP configuration bits are then located in IPConnect tile (0, 19) CBIT[6:3].
+The full list of configuration bits, including the changes for the DSP at (0, 15) are described in the table below.
+ +| Parameter | Normal Position | DSP (0, 15) Changes |
|---|---|---|
| C_REG | DSP0.CBIT_0 | |
| A_REG | DSP0.CBIT_1 | |
| B_REG | DSP0.CBIT_2 | |
| D_REG | DSP0.CBIT_3 | |
| TOP_8x8_MULT_REG | DSP0.CBIT_4 | |
| BOT_8x8_MULT_REG | DSP0.CBIT_5 | |
| PIPELINE_16x16_MULT_REG1 | DSP0.CBIT_6 | |
| PIPELINE_16x16_MULT_REG2 | DSP0.CBIT_7 | |
| TOPOUTPUT_SELECT[0] | DSP1.CBIT_0 | |
| TOPOUTPUT_SELECT[1] | DSP1.CBIT_1 | (0, 19).CBIT_3 |
| TOPADDSUB_LOWERINPUT[1:0] | DSP1.CBIT_[3:2] | (0, 19).CBIT_[5:4] |
| TOPADDSUB_UPPERINUT | DSP1.CBIT_4 | (0, 19).CBIT_6 |
| TOPADDSUB_CARRYSELECT[1:0] | DSP1.CBIT_[6:5] | |
| BOTOUTPUT_SELECT[0] | DSP1.CBIT_7 | |
| BOTOUTPUT_SELECT[1] | DSP2.CBIT_0 | |
| BOTADDSUB_LOWERINPUT[1:0] | DSP2.CBIT_[2:1] | |
| BOTADDSUB_UPPERINPUT | DSP2.CBIT_3 | |
| BOTADDSUB_CARRYSELECT | DSP2.CBIT_[5:4] | |
| MODE_8x8 | DSP2.CBIT_6 | |
| A_SIGNED | DSP2.CBIT_7 | |
| B_SIGNED | DSP3.CBIT_0 |
Lattice document a limited number of supported configurations in the ICE Technology Library document, and Lattice's EDIF parser will + reject designs not following a supported configuration. It is not yet known whether unsupported configurations (such as mixed + signed and unsigned) function correctly or not. +
Other Implementation Notes
-- cgit v1.2.3