Commit Graph

376 Commits

Author SHA1 Message Date
tangxifan 6ecbbb3a94 [core] fixed a bug in fabric bitgen due to tile modules 2023-07-25 14:49:12 -07:00
tangxifan 64698443c9 [core] fixed a bug on io location map for tile modules 2023-07-24 22:11:57 -07:00
tangxifan 2105abdbca [core] fixed a bug 2023-07-24 21:26:29 -07:00
tangxifan e7d714b94d [core] fixed a bug on the tile module port addition: some grid output was not pulled out 2023-07-24 21:21:25 -07:00
tangxifan b8d080b08e [core] fixed a bug where undriven cb ports are not connected to tile 2023-07-24 20:40:25 -07:00
tangxifan 3745897ff6 [core] fixed a few bugs 2023-07-24 16:10:29 -07:00
tangxifan 48b0ba8b78 [core] format 2023-07-24 15:00:26 -07:00
tangxifan 4294914987 [core] fixed compiler warnings 2023-07-24 14:59:43 -07:00
tangxifan 812473ef04 [core] fixed the bug on io location map for tiled top module 2023-07-24 14:50:39 -07:00
tangxifan da36b735c6 [core] syntax 2023-07-24 12:13:45 -07:00
tangxifan f031148959 [core] syntax 2023-07-23 22:39:36 -07:00
tangxifan f551188d0f [core] developed tile directs to support tile modules 2023-07-23 21:45:45 -07:00
tangxifan 14666f3ae5 [core] sync 2023-07-23 20:45:59 -07:00
tangxifan 0b3b7b5472 [core] hotfix 2023-07-23 13:39:06 -07:00
tangxifan 1ee7448070 [core] supporting tile annotation (for global port) in tile modules 2023-07-23 13:38:16 -07:00
tangxifan 399259ea1d [core] adding prog clock arch support for tile modules 2023-07-23 13:11:13 -07:00
tangxifan 0f3f4b0d81 [core] now tile module use unique port name (for heterogeneous blocks) 2023-07-22 23:55:54 -07:00
tangxifan 003d9515ff [core] developing tile-based top module builder 2023-07-22 17:13:30 -07:00
tangxifan 93c5a68592 [core] developing top-level nets for tiles 2023-07-21 23:21:53 -07:00
tangxifan fcf308fcd6 [core] developing inter-tile connections for top module 2023-07-20 23:00:35 -07:00
tangxifan b70f7fb1b6 [core] now option conflicts in command 'build_fabric' can error out 2023-07-20 21:22:07 -07:00
tangxifan 6b92299e39 [core] start working on the net build-up for tile instances under the top-level module 2023-07-20 17:38:13 -07:00
tangxifan 88c5d122ca [core] syntax 2023-07-20 17:12:10 -07:00
tangxifan db179ec4bb [core] split tile instance builder and the classic fine-grained builder 2023-07-20 17:07:07 -07:00
tangxifan ef214f4590 [core] code format 2023-07-20 17:00:29 -07:00
tangxifan 6458580e3e [core] move child instance builder to a separated source file as these codes are expanding in size 2023-07-20 16:59:39 -07:00
tangxifan bd265334b5 [core] added tile instances to top module builder 2023-07-19 23:26:55 -07:00
tangxifan a06b9a0f48 [core] now start to develop the tile instances under the top module 2023-07-19 22:22:07 -07:00
tangxifan 2e69eebea0 [core] now tile module builder is working 2023-07-19 17:23:44 -07:00
tangxifan 0d03d7b483 [core] now fabric tile cache both grid and gsb coord for pb 2023-07-19 17:20:53 -07:00
tangxifan 778d03610c [core] debugging 2023-07-19 15:27:05 -07:00
tangxifan 001b3b3f8b [core] debugging 2023-07-19 14:38:07 -07:00
tangxifan d03fa92ddf [core] debugging 2023-07-19 12:49:35 -07:00
tangxifan 48e207d3e4 [core] debugging 2023-07-19 12:22:57 -07:00
tangxifan 6607bb7e48 [core] now fpga verilog supports tile modules 2023-07-18 22:35:22 -07:00
tangxifan 5ae146bd86 [core] finish up tile module builder 2023-07-18 21:17:40 -07:00
tangxifan 0dcec9d8e5 [core] finishing up tile module builder 2023-07-18 17:56:27 -07:00
tangxifan 403ed4ea60 [core] still developing tile module port and net builder 2023-07-18 16:03:47 -07:00
tangxifan aabcc25567 [core] developing tile module port and net builder 2023-07-17 23:06:55 -07:00
tangxifan ba4b7e3522 [core] developing tile module builder 2023-07-16 15:18:09 -07:00
tangxifan 98c598cec2 [core] unique tile identifier done 2023-07-15 22:54:33 -07:00
tangxifan ea8d128789 [core] syntax 2023-07-15 20:29:21 -07:00
tangxifan c2ef5ca408 [core] developing top-left style tile info 2023-07-14 22:48:44 -07:00
tangxifan 3de4d3fc09 [core] add a new command 'write_fabric_key' and now writer supports module-level keys 2023-07-08 18:12:51 -07:00
tangxifan 433391eec4 [core] move new functions to a separated source file 2023-07-07 15:03:03 -07:00
tangxifan d3aa4c53d0 [core] now support rebuild configuarable children for ccff submodules 2023-07-07 14:51:21 -07:00
tangxifan d3109ee88b [core] developing configurable children reloading from fabric key 2023-07-06 21:53:22 -07:00
tangxifan 987a562e0f [core] fixed the bug when checking mapping status of fpga core ports 2023-06-23 17:21:52 -07:00
tangxifan 463332c77a [core] code complete for adding nets between top and core module 2023-06-23 13:21:25 -07:00
tangxifan b30148f8fb [core] apply more sanity checks on top module port 2023-06-23 12:37:46 -07:00
tangxifan 2484150ab6 [core] working on port addition to top module 2023-06-23 12:21:47 -07:00
tangxifan 8bd9ae02fd [core] io name map now supports dummy port direction 2023-06-23 11:09:33 -07:00
tangxifan 7961223eac [core] enabling io naming rules in fabric builder 2023-06-22 22:18:09 -07:00
tangxifan a4f26798b0 [core] fixed the bug which causes wrong fpga top connections and failed in fpga sdc 2023-06-19 11:59:48 -07:00
tangxifan 63ee0c980e [core] fixed some bugs 2023-06-18 22:12:54 -07:00
tangxifan d9499f2b40 [core] now fpga bitstream supports the wrapper module 2023-06-18 21:58:36 -07:00
tangxifan c7ade72200 [core] code complete for the core wrapper creator. Start debugging 2023-06-18 19:17:42 -07:00
tangxifan 8bc70b590a [core] developing fpga_core insertion 2023-06-17 23:42:45 -07:00
tangxifan ee59bdb675 [core] code format 2023-06-07 18:55:34 -07:00
tangxifan 327f7f4dab [core] now adapt to latest API of DeviceGrid 2023-06-07 18:54:48 -07:00
tangxifan dab89322b3 [core] fixed the bug in I/O location map build-up when supporting subtiles 2023-05-04 09:51:05 +08:00
tangxifan cb0e6b9e17 [core] fixed a critical bug 2023-05-03 21:46:35 +08:00
tangxifan 6c48c57421 [core] fixed some bugs in the subtile support 2023-05-03 21:23:52 +08:00
tangxifan 7bedc965ac [core] supporting subtile 2023-05-03 17:30:58 +08:00
tangxifan 28b7a12f68 [core] code format 2023-04-23 14:31:35 +08:00
tangxifan bd511ba515 [core] fixed syntax errors 2023-04-23 14:26:08 +08:00
tangxifan 592765af48 [core] code complete for upgrading netlist generator w.r.t. ccff v2 2023-04-23 13:57:37 +08:00
tangxifan 5500b9a289 [core] upgrading netlist generator 2023-04-22 16:27:27 +08:00
tangxifan 46510388be [core] now fabric generator can wire clock ports to routing blocks 2023-03-02 12:33:26 -08:00
tangxifan 974263f0fa [core] dev 2023-03-01 23:27:29 -08:00
tangxifan 099d9f32f4 [core] dev 2023-03-01 16:08:15 -08:00
tangxifan afdc071c4c [engine] apply code format 2022-10-06 18:13:33 -07:00
tangxifan e2debd2dde [engine] add missing header files after coding formatter sorts the include files 2022-10-06 18:08:57 -07:00
tangxifan 6d31b319a2 [engine] update source files subject to code formatting rules 2022-10-06 17:08:50 -07:00
tangxifan 90ddd2ce32 [engine] now get incoming edges for IPINs only from GSB 2022-09-19 14:02:13 -07:00
tangxifan 373566416c Merge branch 'master' of https://github.com/lnis-uofu/OpenFPGA into vtr_upgrade 2022-09-16 16:47:21 -07:00
tangxifan f0fe781dbc [engine] fixed a bug 2022-09-16 10:45:27 -07:00
tangxifan bba5b7b070 [engine] syntax 2022-09-15 23:04:37 -07:00
tangxifan cbc71c75c4 [engine] now io indexing follows a natural way 2022-09-15 23:01:35 -07:00
tangxifan 8378ad4bf3 [engine] fixed a bug on mistakenly adding I/O child modules for direct connections 2022-09-14 17:13:23 -07:00
tangxifan 036933dc14 [engine] fixed more bugs due to the extra modules added to top-level module when using memory bank or frame-based protocols 2022-09-14 16:46:10 -07:00
tangxifan 0425b00af5 [engine] fixed a bug for frame-based protocols 2022-09-14 16:41:30 -07:00
tangxifan cb89488f76 [engine] now support a custom list for indexing I/O children in each module 2022-09-14 15:54:55 -07:00
tangxifan eb8b7e6901 [engine] fixed a bug in i/o indexing 2022-09-14 11:30:34 -07:00
tangxifan 9e1abf5898
Merge branch 'master' into vtr_upgrade 2022-09-01 21:39:14 -07:00
tangxifan d3f08a893c [engine] now frame view will not build nets for configuration bus 2022-09-01 20:02:00 -07:00
tangxifan 0c2b49ddb9 [engine] remove debugging log output 2022-08-27 13:06:05 -07:00
tangxifan b3e4a06969 [engine] adapt vpr wrapper to the latest main.cpp from vtr 2022-08-23 14:28:05 -07:00
tangxifan 892770a8fb [engine] debugging subtile index failures 2022-08-23 14:13:10 -07:00
tangxifan 0a6b794ef0 [engine] fixed bugs in subtiles. Revisited the usage of client functions 2022-08-23 12:35:04 -07:00
tangxifan 019e663e12 [engine] fixing the bugs on building global nets to sub tile pins 2022-08-23 11:58:44 -07:00
tangxifan e0ae851e28 [engine] correcting compilation errors due to vpr upgrade 2022-08-17 16:25:12 -07:00
tangxifan ce32c3b30b [engine] fixing api errors 2022-08-17 14:47:14 -07:00
tangxifan 3c2bf5159b [engine] use new API to get node side 2022-08-17 14:38:40 -07:00
tangxifan 8f1aac885e [engine] fixing mismatches in APIs 2022-08-17 14:19:02 -07:00
tangxifan 0c329866da [engine] Use RRGraphView in openfpga source codes 2022-08-16 16:48:32 -07:00
tangxifan 4d67864c2c [Engine] Now global port can be connected partial pins of a tile port 2022-03-20 11:36:03 +08:00
tangxifan 6586ea7816 [Engine] Bug fix for fabric key writer which errors out when there is no BL/WL banks in the architecture 2021-10-11 09:40:02 -07:00
tangxifan b9c540ec3f [Engine] Upgrade fabric key writer to support BL/WL shift register banks 2021-10-10 21:14:14 -07:00
tangxifan 34575f7222 [FPGA-Bitstream] Upgrade bitstream generator to support multiple shift register banks in a configuration region for QuickLogic memory bank 2021-10-09 20:39:45 -07:00
tangxifan aac74d9163 [Engine] Bug fix 2021-10-09 18:46:20 -07:00
tangxifan fa08f44107 [Engine] Bug fix 2021-10-09 16:58:56 -07:00
tangxifan 19a551e641 [Engine] Upgrade fabric generator to support multiple shift register banks in a configuration region 2021-10-09 16:44:04 -07:00
tangxifan 932beb480a [Engine] Add fast look-up to the shift register bank data structure 2021-10-08 22:00:01 -07:00
tangxifan e3ff40d9e0 [Engine] Add missing return value 2021-10-08 20:17:55 -07:00
tangxifan 39a69e0d88 [Engine] Upgrading fabric generator to support customizable shift register banks from fabric key and configuration protocols 2021-10-08 17:58:06 -07:00
tangxifan 8f5f30792f [Engine] Now the MemoryBankShiftRegisterBanks data structure combines both BL/WL data structures as the unified interface 2021-10-08 15:25:37 -07:00
tangxifan f7484d4323 [Engine] Update the key memory data structure to contain shift register bank general information 2021-10-08 10:42:18 -07:00
tangxifan 3efd6840a8 [Engine] Bug fix for missing WLR ports in auto-generated shift register banks 2021-10-04 16:58:01 -07:00
tangxifan 28904ff526 [Engine] Bug fix on wrong port type for shift register chains 2021-10-03 12:31:58 -07:00
tangxifan 477c1cd062 [Engine] Fixed a critical bug which causes undriven BL/WLs between shift register banks and child modules at the top-level module 2021-10-01 17:38:26 -07:00
tangxifan 977d81679d [Engine] Upgrade check codes for WL CCFF 2021-10-01 17:23:10 -07:00
tangxifan cf96d9ff01 [Engine] Add programming shift register clock to internal global port data structure 2021-10-01 11:05:31 -07:00
tangxifan 7b010ba0f4 [Engine] Support programming shift register clock in XML syntax 2021-10-01 11:00:38 -07:00
tangxifan 4bdff1554d [Engine] Fixed a critical bug which cause BL/WL sharing in shift-register-based memory bank broken 2021-09-30 21:20:56 -07:00
tangxifan 33972fc0ec [FPGA-Bitstream] Upgraded bitstream writer to support QuickLogic memory bank using shift registers 2021-09-30 21:05:41 -07:00
tangxifan f456c7e236 [Engine] Add a new API to the MemoryBankShiftRegisterBank to access all the unique modules 2021-09-29 20:34:25 -07:00
tangxifan b87b7a99c5 [Engine] Add MemoryBankShiftRegisterBanks to openfpga context because their contents are required by netlist writers as well as bitstream generators 2021-09-29 20:21:46 -07:00
tangxifan 8f0ae937bc [Engine] Upgraded fabric generator to support single shift register bank per configuration region for QuickLogic memory bank 2021-09-29 16:57:49 -07:00
tangxifan ac6268d9ae [Engine] Bug fix on compilation errors 2021-09-29 16:24:36 -07:00
tangxifan c5ae93f177 [Engine] Upgraded fabric generator to support shifter register banks in Quicklogic memory bank 2021-09-29 16:17:40 -07:00
tangxifan 5da8f1db73 [Engine] Upgrading fabric generator to connect nets between top module and BL/WL shift register modules 2021-09-28 23:27:47 -07:00
tangxifan 7723e00e6c [Engine] Adding the function that builds a shift register module for BL/WLs 2021-09-28 22:49:24 -07:00
tangxifan 834bdd2b07 [Engine] Updating fabric generator to support BL/WL shift registers. Still WIP 2021-09-28 17:29:03 -07:00
tangxifan 0d72e115ac [Engine] Bug fix for the undriven WLR nets in top-level modules 2021-09-28 11:53:38 -07:00
tangxifan e06ac11630 [Engine] Bug fix 2021-09-25 19:21:16 -07:00
tangxifan 2de4a460a8 [Engine] Rework the function that counts the number of configurable children for fabric key writer and bitstream generator 2021-09-24 15:15:32 -07:00
tangxifan 74ffc8578f [Engine] Upgraded fabric generator to support flatten BL/WL bus for memory banks 2021-09-24 15:05:25 -07:00
tangxifan be4c850d2d [Engine] Split the function to add BL/WL configuration bus connections for support flatten BL/WLs 2021-09-24 12:03:35 -07:00
tangxifan 18257b3fa1 [Engine] Update BL/WL port addition for the top-level module in fabric generator 2021-09-24 11:07:58 -07:00
tangxifan 7e27c0caf3 [Engine] Upgrading top-module fabric generation to support QL memory bank with flatten BL/WLs 2021-09-23 16:16:39 -07:00
tangxifan 962acda810 [Engine] Bug fix in fabric key generation when computing configurable children 2021-09-22 11:09:46 -07:00
tangxifan b0a471bdc9 [Engine] Bug fix in outputting fabric key with coordinates 2021-09-21 15:55:11 -07:00
tangxifan 7688c0570f [Engine] Support coordinate definition in fabric key file format; Now QL memory bank can accept fabric key 2021-09-21 15:08:08 -07:00
tangxifan c84c0d4a3f [FPGA-Verilog] Upgrade fpga-verilog to support decoders with WLR 2021-09-20 17:07:26 -07:00
tangxifan 36a4da863c [Engine] Support WLR port in OpenFPGA architecture file and fabric generator 2021-09-20 16:05:36 -07:00
tangxifan 26b1e48723 [Engine] Merge BL/WLs in the Grid/CB/SB modules 2021-09-15 11:27:55 -07:00
tangxifan 4af6413c97 [Engine] Fixed a critical bug on WL arrangement; Previously we always consider squart of a local tile. Now we apply global optimization where the number of WLs are determined by the max. number of BLs per column 2021-09-10 17:03:44 -07:00
tangxifan ba1e277dc9 [Engine] Fix a few bugs in the BL/WL arrangement and now bitstream generator is working fine 2021-09-10 15:05:46 -07:00
tangxifan 35c7b09888 [Engine] Bug fix for mistakes in calculating number of BLs/WLs for QL memory bank 2021-09-09 15:23:29 -07:00
tangxifan b787c4e100 [Engine] Register QL memory bank as a legal protocol 2021-09-09 15:06:51 -07:00
tangxifan 1085e468e2 [Engine] Move most utilized functions for memory bank configuration protocol to a separated source file 2021-09-05 20:45:56 -07:00
tangxifan 475ce2c6d9 [Engine] Upgrade fabric generator in support QL memory bank connections 2021-09-05 17:49:01 -07:00
tangxifan ed80d6b3f4 [Engine] Place QL memory bank source codes in a separated source file so that integration to OpenFPGA open-source version is easier 2021-09-05 13:23:38 -07:00
tangxifan cf2e479d18 [Engine] Refactor the TopModuleNumConfigBits data structure 2021-09-05 12:01:38 -07:00
tangxifan f75456e304 [Engine] Update BL/WL estimation function for QL memory bank protocol 2021-09-05 11:53:33 -07:00
tangxifan 5759f5f35b [Engine] Start developing QL memory bank: upgrade infrastructures of fabric builder 2021-09-03 17:55:23 -07:00
tangxifan cbbf601edc [Tool] Fix a compiler warning due to uninitialized data structure 2021-06-18 16:20:13 -06:00
tangxifan c8d41b4e69 [Tool] Change routing module port naming to include architecture port names 2021-03-14 19:35:49 -06:00
tangxifan 956b9aca01 [Tool] Trim dead codes in port naming function 2021-03-13 20:23:08 -07:00