aboutsummaryrefslogtreecommitdiffstats
path: root/ice40/chip.h
diff options
context:
space:
mode:
authorDavid Shah <davey1576@gmail.com>2018-06-10 13:24:48 +0200
committerDavid Shah <davey1576@gmail.com>2018-06-10 13:24:48 +0200
commit30e672313dc1dd1223b1641583ea509417ae9b61 (patch)
tree809b11dcd8709dfad82f4142e02f4531840703d6 /ice40/chip.h
parentd0bd657551e449aa14a3fcc04401cbd9efb9fb96 (diff)
downloadnextpnr-30e672313dc1dd1223b1641583ea509417ae9b61.tar.gz
nextpnr-30e672313dc1dd1223b1641583ea509417ae9b61.tar.bz2
nextpnr-30e672313dc1dd1223b1641583ea509417ae9b61.zip
ice40: Add IO config to bitstream
Signed-off-by: David Shah <davey1576@gmail.com>
Diffstat (limited to 'ice40/chip.h')
-rw-r--r--ice40/chip.h15
1 files changed, 12 insertions, 3 deletions
diff --git a/ice40/chip.h b/ice40/chip.h
index 1a978fcd..84b2196a 100644
--- a/ice40/chip.h
+++ b/ice40/chip.h
@@ -144,11 +144,18 @@ struct SwitchInfoPOD
ConfigBitPOD cbits[max_switch_bits];
};
+struct IerenInfoPOD
+{
+ int8_t iox, ioy, ioz;
+ int8_t ierx, iery, ierz;
+};
+
struct BitstreamInfoPOD
{
- int num_switches;
+ int num_switches, num_ierens;
TileInfoPOD *tiles_nonrouting;
SwitchInfoPOD *switches;
+ IerenInfoPOD *ierens;
};
struct ChipInfoPOD
@@ -563,7 +570,8 @@ struct Chip
pip_to_net[pip.index] = net;
// Optimise?
for (int i = 0; i < chip_info.num_pips; i++) {
- if (chip_info.pip_data[i].switch_index == chip_info.pip_data[pip.index].switch_index)
+ if (chip_info.pip_data[i].switch_index ==
+ chip_info.pip_data[pip.index].switch_index)
pips_locked[i] = true;
}
}
@@ -575,7 +583,8 @@ struct Chip
pip_to_net[pip.index] = IdString();
// Optimise?
for (int i = 0; i < chip_info.num_pips; i++) {
- if (chip_info.pip_data[i].switch_index == chip_info.pip_data[pip.index].switch_index)
+ if (chip_info.pip_data[i].switch_index ==
+ chip_info.pip_data[pip.index].switch_index)
pips_locked[i] = false;
}
}