Commit Graph

253 Commits

Author SHA1 Message Date
gatecat
0353c1c1dc ng_ultra: Expand bounding box further for left-edge IO
Signed-off-by: gatecat <gatecat@ds0.me>
2024-11-26 10:58:38 +01:00
Miodrag Milanovic
4e0243d3e4 Support latest Impulse 2024-11-26 10:58:38 +01:00
Miodrag Milanovic
ed415e853f Place CSS and SCC only on allowed locations 2024-11-26 10:58:38 +01:00
Miodrag Milanovic
7cc833aacc Support NX_BFF 2024-11-26 10:58:38 +01:00
Miodrag Milanovic
fb4171a63d Support post-routing CSC and SCC 2024-11-26 10:58:38 +01:00
Miodrag Milanovic
9ba4e1381d Addressed review comments 2024-11-26 10:58:38 +01:00
Miodrag Milanovic
6ff846dbe6 make all location helper arrays static 2024-11-26 10:58:38 +01:00
Miodrag Milanovic
bcb2a4a7df remove scale factor 2024-11-26 10:58:38 +01:00
Miodrag Milanovic
ca214d4d5d cleanup 2024-11-26 10:58:38 +01:00
Miodrag Milanovic
1f96a5f5d7 Expose private members for unit tests 2024-11-26 10:58:38 +01:00
Miodrag Milanovic
f3e098bbde Move helper routines 2024-11-26 10:58:38 +01:00
Miodrag Milanovic
69ad2b87f0 Review issues addressed 2024-11-26 10:58:38 +01:00
Miodrag Milanovic
438b6af40d Cleanup bitstream code 2024-11-26 10:58:38 +01:00
Miodrag Milanovic
0a62392bb6 Cleanup 2024-11-26 10:58:38 +01:00
Miodrag Milanovic
7869140621 Route dfr clock properly 2024-11-26 10:58:38 +01:00
Miodrag Milanovic
d1207b10c0 Handle DFR 2024-11-26 10:58:38 +01:00
Miodrag Milanovic
f7c446e930 detect cascaded GCKs 2024-11-26 10:58:38 +01:00
Miodrag Milanovic
a9c47a3e60 Fix wfb 2024-11-26 10:58:38 +01:00
Miodrag Milanovic
e95f2804be cleanup code a bit 2024-11-26 10:58:38 +01:00
Miodrag Milanovic
26239797ba Add more signals and use lowskew name 2024-11-26 10:58:38 +01:00
Miodrag Milanovic
97ad92537e cleanup 2024-11-26 10:58:38 +01:00
Miodrag Milanovic
8df830d21c cleanup 2024-11-26 10:58:38 +01:00
Miodrag Milanovic
9baf87e2a6 Implement GCK limitations 2024-11-26 10:58:38 +01:00
Miodrag Milanovic
e1837b781b Fix for latest version of JSON format 2024-11-26 10:58:38 +01:00
Miodrag Milanovic
95abf13ada RRSTO and WRSTO are not used on XFIFO 2024-11-26 10:58:38 +01:00
Miodrag Milanovic
120a3685a0 Properly duplicate GCKs 2024-11-26 10:58:38 +01:00
Miodrag Milanovic
7b929650ee Fix statistics 2024-11-26 10:58:38 +01:00
Miodrag Milanovic
37dadd121a Initial XLUT support 2024-11-26 10:58:38 +01:00
Miodrag Milanovic
294e97babf cleanup 2024-11-26 10:58:38 +01:00
Miodrag Milanovic
bc18683cb4 enable pll by default 2024-11-26 10:58:38 +01:00
Miodrag Milanovic
a11d5d25c2 map rest of FIFO ports 2024-11-26 10:58:38 +01:00
Miodrag Milanovic
120ca6950a place FIFO 2024-11-26 10:58:38 +01:00
Miodrag Milanovic
392f100948 add more sinks 2024-11-26 10:58:38 +01:00
Miodrag Milanovic
61073f5aa7 CDC packing 2024-11-26 10:58:38 +01:00
Miodrag Milanovic
50485371fa export all the rest for bitstream 2024-11-26 10:58:38 +01:00
Miodrag Milanovic
987d7099e2 wip 2024-11-26 10:58:38 +01:00
Miodrag Milanovic
a5582f59bf existing gck 2024-11-26 10:58:38 +01:00
Miodrag Milanovic
3066fd921a Check mandatory parameters for DSP 2024-11-26 10:58:38 +01:00
Miodrag Milanovic
3fa68b4a96 DSP cascading 2024-11-26 10:58:38 +01:00
Miodrag Milanovic
db5d26c129 Validate DSPs 2024-11-26 10:58:38 +01:00
Miodrag Milanovic
1e08d7b931 wip 2024-11-26 10:58:38 +01:00
Miodrag Milanovic
243384d31c wip 2024-11-26 10:58:38 +01:00
Miodrag Milanovic
8fb85fc44a notes 2024-11-26 10:58:38 +01:00
Miodrag Milanovic
dddfcec4b9 wip 2024-11-26 10:58:38 +01:00
Miodrag Milanovic
d19702d1a8 wip 2024-11-26 10:58:38 +01:00
Miodrag Milanovic
d14efa1c9b Pack and export DSP 2024-11-26 10:58:38 +01:00
Miodrag Milanovic
d3d3b56b25 Place at LOC 2024-11-26 10:58:38 +01:00
Miodrag Milanovic
c2ce766503 Constraing to location if provided 2024-11-26 10:58:38 +01:00
Miodrag Milanovic
5d5be7df63 Cover more global routing cases 2024-11-26 10:58:38 +01:00
Miodrag Milanovic
ca2751277d pack and export GCK, WFG and PLL 2024-11-26 10:58:38 +01:00
Miodrag Milanovic
744c0303b6 Address comments for PR 2024-11-26 10:58:38 +01:00
Miodrag Milanovic
936d658283 Post placement optimization for CY 2024-11-26 10:58:38 +01:00
Miodrag Milanovic
cfbd6f1967 Change how constants are handled on CY 2024-11-26 10:58:38 +01:00
Miodrag Milanovic
bb34a6fa8f Fix CY packing 2024-11-26 10:58:38 +01:00
Miodrag Milanovic
2da92d0d7e Fix IOM packing 2024-11-26 10:58:38 +01:00
Miodrag Milanovic
e8f7bc3663 warn if RAM ports are not actually used 2024-11-26 10:58:38 +01:00
Miodrag Milanovic
d9b437d705 Use ctx->idf where applicable 2024-11-26 10:58:38 +01:00
Miodrag Milanovic
e4a23b6691 Fix for latest version of tools 2024-11-26 10:58:38 +01:00
Miodrag Milanovic
c493c989f0 Validations and fixes for RAM I/Os 2024-11-26 10:58:38 +01:00
Miodrag Milanovic
bca3197979 Fail early due to NX tools limitation for now 2024-11-26 10:58:38 +01:00
Miodrag Milanovic
c9dc9e6a70 Hande IO termination input 2024-11-26 10:58:38 +01:00
Miodrag Milanovic
d9e66bfb98 Added more crossbar wire type 2024-11-26 10:58:38 +01:00
Miodrag Milanovic
1469a31a1a Commented too restrictive placement 2024-11-26 10:58:38 +01:00
Miodrag Milanovic
f98253e1f5 Validation check fixes 2024-11-26 10:58:38 +01:00
Miodrag Milanovic
00efe96b08 Add clock sinks for other cell types 2024-11-26 10:58:38 +01:00
Miodrag Milanovic
1c596ada4d Use cell type where applicable 2024-11-26 10:58:38 +01:00
Miodrag Milanovic
04653621e8 Add structure for clock sinks 2024-11-26 10:58:38 +01:00
Miodrag Milanovic
13e323d2cf Proper port used only on RFB 2024-11-26 10:58:38 +01:00
Miodrag Milanovic
119d325d51 Remove ports that must not be used 2024-11-26 10:58:38 +01:00
Miodrag Milanovic
7fd2122614 Add RFB/RAM context support for latest release 2024-11-26 10:58:38 +01:00
Miodrag Milanovic
4e552c8ea3 cleanup 2024-11-26 10:58:38 +01:00
Miodrag Milanovic
ae8abb2f9b Disconnect non available ports for NX_RAM 2024-11-26 10:58:38 +01:00
Miodrag Milanovic
45bca49b2e RF placement and legalization 2024-11-26 10:58:38 +01:00
Miodrag Milanovic
741f690848 fix 2024-11-26 10:58:38 +01:00
Miodrag Milanovic
ba805f67be Better RF/XRF handling 2024-11-26 10:58:38 +01:00
Miodrag Milanovic
1437f1c209 Initial memory support 2024-11-26 10:58:38 +01:00
Miodrag Milanovic
de090c7a77 Fix IOM case 2024-11-26 10:58:38 +01:00
Miodrag Milanovic
ccda0dc28d Add bypass for CSC mode of GCK 2024-11-26 10:58:38 +01:00
Miodrag Milanovic
eef97d5e73 Add LUT bypass to improve routability 2024-11-26 10:58:38 +01:00
Miodrag Milanovic
e8a1b51eec Block certain pips depending of DDFR mode 2024-11-26 10:58:38 +01:00
Miodrag Milanovic
8322bbd5ef Cleanup 2024-11-26 10:58:38 +01:00
Miodrag Milanovic
3dedb11434 Add IOM insertion 2024-11-26 10:58:38 +01:00
Miodrag Milanovic
f8680e413d Create BFRs properly 2024-11-26 10:58:38 +01:00
Miodrag Milanovic
0140b2e831 cleanup 2024-11-26 10:58:38 +01:00
Miodrag Milanovic
3ccf72139d Add support for bidirectional IOs 2024-11-26 10:58:38 +01:00
Miodrag Milanovic
30858569bc Save memory by directly outputing json 2024-11-26 10:58:38 +01:00
Miodrag Milanovic
8dbd7dda8f Support for nxdesignsuite-24.0.0.0-20240429T102300 2024-11-26 10:58:38 +01:00
Miodrag Milanovic
0a4cfb77db Implementation as in D2 deliverable 2024-11-26 10:57:30 +01:00
Lofty
c504212b59 ng-ultra: new architecture 2024-11-26 10:57:30 +01:00
Miodrag Milanović
55035465aa
Himbaechel GUI (#1295)
* Extend Himbaechel API with gfx drawing methods

* Add bel drawing in example uarch

* changed API and added tile wire id in db

* extend API so we can distinguish CLK wires

* added bit more wires

* less horrid way of handling gfx ids

* loop wire range

* removed not needed brackets

* bump database version to 5

* Removed not used GfxFlags
2024-11-21 15:13:22 +01:00
YRabbit
9c2d96f86e
Gowin. FFs placement. (#1386)
* Gowin. FFs placement.

* Allow clusters to be created from FFs and LUTs;

* Immediately create pass-through LUTs from free LUTs adjacent to FF - at the same time ensure alternating use of LUT inputs;

* In case of constant networks, such pass-through LUTs are disconnected from networks altogether;

* Allow FF to be placed directly into SSRAM slides - this is useful when using synchronous reading.

Signed-off-by: YRabbit <rabbit@yrabbit.cyou>

* Gowin. Fix aux name creation

Signed-off-by: YRabbit <rabbit@yrabbit.cyou>

* Gowin. Use I3 for pass-trough LUTs

Signed-off-by: YRabbit <rabbit@yrabbit.cyou>

---------

Signed-off-by: YRabbit <rabbit@yrabbit.cyou>
2024-10-22 12:49:44 +02:00
Pepijn de Vos
028be1462a
apicula: add support for magic sip pins (#1370)
* apicula: add support for magic sip pins

* fix nullptr check

* DDR fix by xiwang

* WIP support for setting the iostd

* add iostd
2024-10-09 15:16:36 +02:00
YRabbit
65cf6d8da7
Gowin. Fix the port check for connectivity. (#1376)
* Gowin. Fix the port check for connectivity.

What happens is that it's not enough to check for a network, we also
need to make sure that the network is functional: has src and sinks.

And the style edits - they get automatically when I make sure to run
clang-format10.

Signed-off-by: YRabbit <rabbit@yrabbit.cyou>

* Gowin. Fix the port check for connectivity.

What happens is that it's not enough to check for a network, we also
need to make sure that the network is functional: has src and sinks

Signed-off-by: YRabbit <rabbit@yrabbit.cyou>

---------

Signed-off-by: YRabbit <rabbit@yrabbit.cyou>
2024-10-02 22:36:36 +02:00
Adrien Prost-Boucle
7f33329fe1 Himbaechel Xilinx : XDC commands : Also search nets with lowercase for better interoperability with other synthesis tools and RTL languages 2024-10-01 15:24:40 +02:00
Adrien Prost-Boucle
3d00b97e0a Himbaechel Xilinx : Support get_nets with braces around net name in XDC commands 2024-10-01 15:24:40 +02:00
Adrien Prost-Boucle
a9cc7f453d Himbaechel Xilinx : Support multiple nets per command 2024-10-01 15:24:40 +02:00
Adrien Prost-Boucle
ff9ba9e090 Himbaechel Xilinx : More warning messages about unsupported things in XDC file 2024-10-01 15:24:40 +02:00
gatecat
9b51c6e337 clangformat
Signed-off-by: gatecat <gatecat@ds0.me>
2024-09-30 14:51:33 +02:00
gatecat
1967db170d xilinx: Support for complex IOLOGIC
Signed-off-by: gatecat <gatecat@ds0.me>
2024-09-27 17:37:46 +02:00
gatecat
24fc33c014 xilinx: Basic I/ODDR support
Signed-off-by: gatecat <gatecat@ds0.me>
2024-09-27 17:09:15 +02:00