Commit Graph

1614 Commits

Author SHA1 Message Date
tangxifan 8bca3d79be [core] fixed a bug where tap points of clock network cannot reach perimeter cb 2024-07-08 15:17:24 -07:00
tangxifan 7bd60f5f7d [core] support perimeter cb when identify pins of I/Os tiles 2024-07-08 12:39:54 -07:00
tangxifan 5c9c4d93c5 [core] typo 2024-07-08 10:46:47 -07:00
tangxifan cdd477ad80 [core] remove restrictions on cb clock nodes 2024-07-08 10:14:39 -07:00
tangxifan 8449da0143 [core] typo 2024-07-07 23:36:13 -07:00
tangxifan 7996de3fe6 [core] now support perimeter cb in programmable clock network arch 2024-07-07 14:57:05 -07:00
tangxifan 703cbddc9e [core] code format 2024-07-06 12:14:57 -07:00
tangxifan 6024e35f89 [core] fixed a bug 2024-07-05 18:50:14 -07:00
tangxifan 1f7fbfef64 [core] fixed a bug on inter-tile connections in top module 2024-07-05 18:19:22 -07:00
tangxifan e95b264965 [core] debugging 2024-07-05 18:08:48 -07:00
tangxifan cca9fb4756 [core] fixed a bug on bottom left tile organization 2024-07-05 17:55:19 -07:00
tangxifan 46d916f0a0 [core] fixed the bugs in fabric tile build-up 2024-07-05 16:59:08 -07:00
tangxifan a41f437109 [core] now netlist look ok 2024-07-05 12:36:47 -07:00
tangxifan 283aa3a1c9 [core] debug 2024-07-05 12:21:17 -07:00
tangxifan 46e3b4b071 [core] debug 2024-07-05 11:50:41 -07:00
tangxifan fdbc427f70 [core] debug 2024-07-05 11:17:05 -07:00
tangxifan f6adca1545 [core] fixed a bug 2024-07-05 11:02:01 -07:00
tangxifan 1dc602a849 [core] syntax 2024-07-05 10:38:26 -07:00
tangxifan 266c2686d4 [core] adapt new gsb coordinate system 2024-07-05 10:32:33 -07:00
tangxifan 1f8c2436ef [core] now constant_undriven_inputs are force to enable when perimeter_cb is selected 2024-07-04 20:46:38 -07:00
tangxifan 72ee39f178 [core] add new command line option 'constant_undriven_inputs' 2024-07-04 20:39:02 -07:00
tangxifan 4e21bbb3f1 [core] now support constant undriven local wires in verilog writer 2024-07-04 20:32:56 -07:00
tangxifan 1dd03d0fdd [core] on a new feature to connect undriven pins to ground 2024-07-04 18:34:39 -07:00
tangxifan 6d798897fd [lib] update vtr 2024-07-04 14:46:57 -07:00
tangxifan f560fb8381 [core] more verbose 2024-07-04 14:27:17 -07:00
tangxifan a8850d4f0f [core] now verbose mode is applicable to more build top module cb instances 2024-07-04 14:22:30 -07:00
tangxifan 4b53e57c92 [core] fixed a bug 2024-07-04 13:33:04 -07:00
tangxifan d2a68ff9c5 [core] now corner tile are considered as config child 2024-07-04 13:25:57 -07:00
tangxifan b80ed8d15c [core] fixed a bug 2024-07-04 12:58:16 -07:00
tangxifan a3723b33b3 [core] fixed a minor bug 2024-07-04 12:52:29 -07:00
tangxifan a717882304 [core] now when perimeter_cb is on, I/O pins can access three sides of routing tracks 2024-07-04 12:44:48 -07:00
tangxifan 724c14d1f7 [core] fixed a bug on build top module connections on perimeter gsb when cbs occur 2024-07-04 11:09:01 -07:00
tangxifan 550ce0c390 [core] fixed the bug on build gsb when cbs are on perimeters 2024-07-04 10:58:44 -07:00
tangxifan bc94e08c77 [lib] update vtr and fixing some bugs in annotate gsb when perimeter_cb is enabled 2024-07-03 22:28:22 -07:00
tangxifan a27325d987 [core] code format 2024-07-03 17:05:27 -07:00
tangxifan f681c6a903 [core] update API call due to vtr upgrade 2024-07-03 17:04:06 -07:00
tangxifan a85a6f1674 [core] code format 2024-07-01 17:57:10 -07:00
tangxifan 70428fd969 [lib] add sanity checks on global port name and clock network's global port name 2024-07-01 17:56:29 -07:00
tangxifan 3afb92d6a5 [core] code format 2024-06-30 22:48:15 -07:00
tangxifan 1fd974d544 [core] fixed a bug where clock network size cannot impact global port on top module 2024-06-29 17:35:47 -07:00
tangxifan 4f787a5cfc [core] add more debugging message 2024-06-29 10:54:08 -07:00
tangxifan 5fa674be24 [core] fixed the bug on matching global net from pcf 2024-06-29 10:51:45 -07:00
tangxifan 8bc37080fa [core] debuggging 2024-06-28 23:06:21 -07:00
tangxifan 1c69365938 [core] debugging 2024-06-28 18:17:38 -07:00
tangxifan 0de3ff3eb8 [core] debugging 2024-06-28 17:16:33 -07:00
tangxifan e0b9f7860b [core] fixed a bug where counter for gnets are not activated 2024-06-28 14:10:14 -07:00
tangxifan 5cfd23747b [core] code format 2024-06-28 13:47:03 -07:00
tangxifan f5b6774eb0 [core] add code comments and fixed some bugs 2024-06-28 12:21:33 -07:00
tangxifan 53ba2f0c29 [core] fixed a critical bug where some switching points are missing 2024-06-27 15:53:17 -07:00
tangxifan 5a7f618f29 [core] debugging 2024-06-27 15:44:17 -07:00
tangxifan f4f487099d [core] syntax 2024-06-27 15:07:48 -07:00
tangxifan 4185235a69 [core] now clock routing is based on tree expansion. Unused part can be disconnected 2024-06-27 15:02:20 -07:00
tangxifan e75fd57af2 [core] refactor codes 2024-06-27 12:39:18 -07:00
tangxifan 7892c2340c [core] add a new option 'disable_unused_trees' to route clock rr graph 2024-06-27 12:01:54 -07:00
tangxifan 6fceb81110 [core] code format 2024-06-27 10:19:40 -07:00
tangxifan 64a7a4ce26 [core] syntax 2024-06-27 10:19:14 -07:00
tangxifan 9ce552495a [core] now internal drivers can be routed in dedicated clock network 2024-06-27 10:17:08 -07:00
tangxifan ac1ad52795 [core] code format 2024-06-26 22:47:29 -07:00
tangxifan 5d0b0b9a8c [core] now global nets mapping are applied to clock routing 2024-06-26 22:46:12 -07:00
tangxifan d5d9531eec [core] comment out buggy codes where global net mapping is not annotated in OpenFPGA 2024-06-26 21:52:45 -07:00
tangxifan 59be95b227 [core] code format 2024-06-26 17:58:26 -07:00
tangxifan 59404e5487 [core] add verbose output 2024-06-26 17:55:23 -07:00
tangxifan 576a861b8d [core] now skip routing any unused clock tree. Only connect to desired clock pin at programmable blocks 2024-06-26 17:54:31 -07:00
tangxifan 3efa97b84e [core] support coordinate on clock taps 2024-06-26 17:40:11 -07:00
tangxifan fbece49047 [core] fixed a bug where unexpected OPINs are added as internal drivers 2024-06-25 12:07:19 -07:00
tangxifan 7bcbd8a88b [core] code format 2024-06-25 11:44:50 -07:00
tangxifan 3b2c13402a [core] syntax 2024-06-25 11:44:25 -07:00
tangxifan 31d4b4c402 [core] now support add internal drivers to clock tree 2024-06-25 11:27:22 -07:00
tangxifan d2053db21c [core] removing the restrictions on only 1 clock tree is supported in programmable clock network 2024-06-21 19:00:01 -07:00
tangxifan 2193f108ee [core] add debugging messages 2024-06-21 18:42:35 -07:00
tangxifan 3f08b83b3a [core] remove restrictions on 1 clock tree definition 2024-06-21 17:12:10 -07:00
tangxifan ecd31955b1 [core] code format 2024-06-21 17:11:32 -07:00
tangxifan 486cd01c15 [core] now clock graph builder supports two types of switches 2024-06-21 16:54:22 -07:00
tangxifan ad8ad25250 [core] format 2024-05-31 19:44:40 -07:00
tangxifan 93ebbef851 [core] fixed a bug 2024-05-31 19:42:50 -07:00
tangxifan 514ec2f02e [core] code format 2024-05-31 18:02:46 -07:00
tangxifan 2d10be9edb [core] code comments 2024-05-31 18:00:24 -07:00
tangxifan f9cd01636d [core] fixed the bug where there is only 1 routing trace for a net which should be ignored (due to treated as global). This net should not be ignored unless there are >1 routing traces on the top-level pb. Then we can merge one. 2024-05-31 17:57:36 -07:00
tangxifan 212abecc27 [core] syntax 2024-05-31 17:41:49 -07:00
tangxifan 348d474bfd [core] more debuggin messages 2024-05-31 17:40:19 -07:00
tangxifan c565264e7d [core] more debuggin messages 2024-05-31 17:14:42 -07:00
tangxifan 6dc31bf892 [core] fixed a bug on missing net sync up during repack 2024-05-31 16:53:59 -07:00
tangxifan 5b35f567d2 [core] detailed messages to trace why some nets are no sync 2024-05-31 16:00:10 -07:00
tangxifan 5adc1be204 [core] syntax 2024-05-31 15:50:27 -07:00
tangxifan a9ccc277bd [core] more debugging message 2024-05-31 15:49:34 -07:00
tangxifan 937e279c59 [core] adding more debugging messages 2024-05-31 15:43:51 -07:00
tangxifan 7a7fc679a8 [core] enable more debugging message in repacker 2024-05-31 14:52:59 -07:00
tangxifan edb50f1b4d [core] update debug messages 2024-05-31 14:37:46 -07:00
tangxifan 48c0b4b219 [core] fixed a bug where net name is not shown correctly on wire LUTs 2024-05-31 12:45:12 -07:00
tangxifan 74e94b855e [core] fixed a bug where gsb OPIN name does not match the switch block module 2024-05-29 10:27:10 -07:00
tangxifan 52ae484a7c [core] fixed a bug on messed up wire connections for OPINs 2024-05-20 13:50:31 -07:00
tangxifan ca6e2f9831 [core] code format 2024-05-20 13:41:35 -07:00
tangxifan 4a791249bf [core] fixed a bug on requirement wire model for direction connection which is part of a cb 2024-05-20 12:52:07 -07:00
tangxifan b554a3d855 [core] code format 2024-05-19 17:24:38 -07:00
tangxifan 56aaa6a1f4 [core] sytax 2024-05-19 17:23:48 -07:00
tangxifan 065d77c679 [core] supporting opin connection to cb in tiles 2024-05-19 17:04:24 -07:00
tangxifan 9079056871 [core] now connect OPIN to CB in top-level module 2024-05-19 14:27:36 -07:00
tangxifan 918bf79ca3 [core] update vtr and developing caches for OPIN lists just for connection blocks 2024-05-19 14:10:00 -07:00
tangxifan 772da3006b [core] code format 2024-05-18 22:19:17 -07:00
tangxifan 304f34525e [core] syntax 2024-05-18 22:17:52 -07:00
tangxifan b533ea4060 [core] now cb module include OPIN nodes 2024-05-18 22:00:02 -07:00
tangxifan 926b9e9739 [core] code format 2024-05-18 12:33:19 -07:00
tangxifan 3b93bea3d1 [core] syntax 2024-05-18 12:29:38 -07:00
tangxifan 0d8c21ca84 [core] add new type 'part_of_cb' for tile direct connections 2024-05-17 18:59:53 -07:00
tangxifan 7848bdaeac [core] code format 2024-05-09 22:50:49 -07:00
tangxifan 5f37d63061 [core] fixed a bug where incoming edges are not built after loading rr_graph in vpr 2024-05-09 19:38:26 -07:00
tangxifan 7dc2c4951c [core] add missing header required by clang-11+ 2024-05-05 21:56:56 -07:00
tangxifan 3d8107487c [core] code format 2024-05-03 10:21:39 -07:00
tangxifan c7501cb9b7 [core] fixed the bugs when there are module renaming 2024-05-03 10:20:19 -07:00
tangxifan f41a5e8b89 [core] fixed some bugs 2024-05-02 22:49:06 -07:00
tangxifan c557b0104a [core] avoid unwanted tab 2024-05-02 21:34:12 -07:00
tangxifan b85ec28eb8 [core] code format 2024-05-02 21:17:17 -07:00
tangxifan d3b1e562ad [core] fixed some bugs on format 2024-05-02 21:11:20 -07:00
tangxifan bf24382f19 [core] code format 2024-05-02 18:33:07 -07:00
tangxifan a2fb84dfa9 [core] add fabric hierarchy writer 2024-05-02 18:30:20 -07:00
tangxifan 4d3447f773 [core] rework fabric hierarchy writer 2024-05-02 18:05:38 -07:00
chungshien dd577e37e0
LUTRAM Support (#1595)
* BRAM preload data - generic way to extract data from design

* Add docs and support special __layout__ case

* Add test

* Fix warning

* Change none-fabric to non-fabric

* LUTRAM Support Phase 1

* Add Test

* Add more protocol checking to enable LUTRAM feature

* Move the config setting under config protocol

* Revert any changes

---------

Co-authored-by: chungshien-chai <chungshien.chai@gmail.com>
2024-04-19 14:46:38 -07:00
tangxifan 08bd6d00d3 [core] code format 2024-04-11 15:04:08 -07:00
tangxifan 79970719b4 [core] fixed a bug where regex breaks 2024-04-11 14:59:14 -07:00
tangxifan f63ea06c4e [core] now support regular expression in module name for fabric pin physical location output 2024-04-11 14:30:27 -07:00
tangxifan 5960cc14aa [core] fixed a bug 2024-04-11 13:04:47 -07:00
tangxifan 6f94399767 [core] code format 2024-04-10 22:53:52 -07:00
tangxifan 971f0e8838 [core] add a new option '--show_invalid_side' 2024-04-10 22:52:36 -07:00
tangxifan 58708ff727 [core] syntax 2024-04-10 20:08:02 -07:00
tangxifan 435e83c530 [core] add port side to tile ports 2024-04-10 17:38:02 -07:00
tangxifan f9f7d42d93 [core] add port side attribute and set them when buidling grid/cb/sb modules 2024-04-10 17:10:06 -07:00
tangxifan d156de060e [core] adding pin side attribute to module manager 2024-04-10 16:19:28 -07:00
tangxifan b0be9fe75d [core] developing xml writer for fabric pin phy loc 2024-04-10 15:51:26 -07:00
tangxifan 47baaff94c [core] rename command name to 'write_fabric_pin_physical_location`` and start developing exec func 2024-04-10 13:30:02 -07:00
tangxifan f1334645db [core] added a new command write_pin_physical_location 2024-04-10 13:07:49 -07:00
tangxifan 0a7915aa77 [core] typo 2024-03-29 12:03:23 -07:00
tangxifan 6a5d3c7cdc [code] syntax 2024-03-29 11:03:48 -07:00
tangxifan 00de794967 [core] code format 2024-03-29 10:58:48 -07:00
tangxifan 981828c39c [core] add a new opton ``--dump_waveform`` to command ``write_preconfigured_fabric_wrapper`` 2024-03-29 10:57:45 -07:00
chungshien 4365d160ff
Support extracting data that is not affecting fabric bitstream (#1566)
* BRAM preload data - generic way to extract data from design

* Add docs and support special __layout__ case

* Add test

* Fix warning

* Change none-fabric to non-fabric
2024-03-09 17:38:31 -08:00
tangxifan 59deb97d5d [core] code format 2024-01-12 14:17:10 -08:00
tangxifan f1e3d53da6 [core] fixed a bug where pb pin fixup may fail when subtile capacities are not same 2024-01-12 14:16:07 -08:00
tangxifan bacd845139 [core] code format 2023-12-08 13:41:41 -08:00
tangxifan 5e181cbe72 [core] add a new option for simulator type to verilog full testbench generator 2023-12-08 13:07:25 -08:00
tangxifan 0e945d6e71 [core] fix a bug in ql memory bank tb where VCS failed 2023-12-08 11:36:54 -08:00
Yitian4Debug 8a24b1ba8c
Update repack_option.h
code clean up
2023-12-05 10:17:52 -08:00
Yitian4Debug 94f7b2f4e2
Update repack.cpp
code clean up
2023-12-05 10:16:10 -08:00
Yitian4Debug d2379cfff6
Update repack_option.h 2023-12-05 09:34:34 -08:00
Yitian4Debug 231cb0f89b
Update repack_option.cpp 2023-12-05 09:30:32 -08:00
Yitian4Debug 83fdaea13d
Update repack.cpp 2023-12-05 09:28:27 -08:00
Yitian4Debug 5ca928efda
Merge branch 'master' into repack_debug 2023-12-04 13:21:10 -08:00
chungshien c18f4d7f44 Issue:1466 - Fix WL ordering in bitstream generation 2023-11-29 21:55:53 -08:00
ubuntu d28f024b61 minor change 2023-11-29 01:53:18 -08:00
tangxifan 1aac6681bc
Merge branch 'master' into repack_debug 2023-11-22 10:48:59 -08:00
ubuntu e3682ac955 reformate the code 2023-11-22 01:15:55 -08:00
ubuntu 93d5b850f0 reset the error flag in each parsing iteration 2023-11-22 00:04:51 -08:00
ubuntu 8f9161b438 format the code 2023-11-21 22:28:37 -08:00
ubuntu ee392f1b46 add ignore_net to repackdesign constraint 2023-11-21 21:47:03 -08:00
tangxifan b780f0a552 [core] code format 2023-11-03 14:39:49 -07:00
tangxifan e48de682ed [core] fixed som ebugs 2023-11-03 14:39:28 -07:00
tangxifan b2e1eb30c7 [core] code format 2023-11-03 13:50:04 -07:00
tangxifan 21813eb59f [core] now full testbench uses bitstream in different sizes 2023-11-03 13:48:21 -07:00
tangxifan 2cd3453629 [core] fixed the bug in ccff v2 on config enable signal drivers 2023-11-03 10:25:12 -07:00
tangxifan 8bee65853c [core] add missing files 2023-11-02 19:01:25 -07:00
tangxifan 649d44b2d8 [core] code format 2023-11-02 16:33:55 -07:00
tangxifan 36fa020c15 [core] syntax 2023-11-02 16:33:19 -07:00
tangxifan 75e9e98e5d [core] add two new commands to output testbench parts 2023-11-02 16:06:48 -07:00
tangxifan 3d4f1505b6 [core] code format 2023-10-20 22:02:56 -07:00
tangxifan 66c3226fad [core] now follow module unique index when naming grouped configuration memories 2023-10-20 22:01:19 -07:00
tangxifan e4b204f2e4 [core] code format 2023-10-20 21:14:07 -07:00
tangxifan 76a4b8a82b [core] remove the prefix of grouped memory blocks 2023-10-20 21:13:37 -07:00
tangxifan 5bae2bf54d [core] code format 2023-10-19 23:05:49 -07:00
tangxifan 4b00651a46 [core] now name indexing is applied to netlist names 2023-10-19 23:03:48 -07:00
tangxifan 7ba6795fe2 [core] fixed a bug 2023-10-06 18:50:26 -07:00
tangxifan 83ef35b2da [core] fixed a bug 2023-10-06 18:47:20 -07:00
tangxifan 3440768840 [core] code format 2023-10-06 18:37:54 -07:00
tangxifan e102c9bddc [core] fixed a bug 2023-10-06 18:37:28 -07:00
tangxifan 93cbbf2045 [core] code format 2023-10-06 18:20:55 -07:00
tangxifan b07111497c [core] enable options in xml writers 2023-10-06 18:20:17 -07:00
tangxifan ae63c9d441 [core] code format 2023-10-06 17:28:25 -07:00
tangxifan 1e8bf1cece [core] deploy options 2023-10-06 17:28:02 -07:00
tangxifan f30663f708 [core] code format 2023-10-06 14:08:09 -07:00
tangxifan 108bbad8d4 [core] syntax 2023-10-06 14:07:44 -07:00
tangxifan 80856f1b70 [core] adding new options and rewrite options for bitfile writer 2023-10-06 13:54:29 -07:00
tangxifan a15db83267 [core] code format 2023-09-26 11:41:11 -07:00
tangxifan ea91182216 [core] check option conflicts 2023-09-26 11:40:42 -07:00
tangxifan c4bce834e4 [core] code format 2023-09-25 22:34:39 -07:00
tangxifan 5aa206e616 [core] fixed some bugs 2023-09-25 22:27:24 -07:00
tangxifan 1624dc9764 [core] code format 2023-09-25 21:13:50 -07:00
tangxifan 76f446caec [core] fixed a bug 2023-09-25 21:13:11 -07:00
tangxifan dbd466cdec [core] now support tile port merge 2023-09-25 18:16:24 -07:00
tangxifan 3adf81046a [core] code format 2023-09-25 17:22:26 -07:00
tangxifan 5e269e8bc4 [core] support port merging at grid modules 2023-09-25 17:21:58 -07:00
tangxifan edb0e687f1 [core] code format 2023-09-23 12:15:53 -07:00
tangxifan 11de8965a8 [core] fixed some bugs 2023-09-23 12:15:31 -07:00
tangxifan 860cfd53c6 [core] fixed critical bugs in renaming modules 2023-09-23 11:51:31 -07:00
tangxifan ca3617a029 [core] code format 2023-09-20 20:37:27 -07:00
tangxifan 1ef38b6a64 [core] now name the port of tiles using the relative index of the subblocks in each tile, rather than the unique index of subblocks across a complete fabric. This avoids all the conflicts in naming 2023-09-20 20:34:21 -07:00
tangxifan c105b56bf0 [core] code format 2023-09-18 23:31:27 -07:00
tangxifan 43fd08a3fe [core] fixed a bug 2023-09-18 23:31:09 -07:00
tangxifan 4d11f73471 [core] fixed a bug 2023-09-18 20:43:15 -07:00
tangxifan a1e609c901 [core] fixed some bugs 2023-09-18 16:39:07 -07:00
tangxifan 1daabb990e [core] code format 2023-09-18 15:35:13 -07:00
tangxifan 110301a2e4 [core] now tile port naming can follow index 2023-09-18 15:34:40 -07:00
tangxifan e46e58527a [core] code format 2023-09-17 23:16:38 -07:00