Mik Igor
173e47ae45
Validate tech_name in config file iterating over technology dir
...
We're now validating the tech_name param specified by the user in the config file listing all the subfolders present in the technology folder. If the technology specified is not present as folder, we will emit an error and quit.
2023-10-27 01:29:27 +02:00
Mik Igor
5811c5ce99
FIX: scn3me_subm typo
...
Fixed incorrect tech_name "scn3m_subm" (correct is "scn3me_subm", note the 3mE).
2023-10-27 00:49:31 +02:00
Mik Igor
189824429c
Add freepdk45 to debug error in tech_name validation
...
Ooops, I forgot to add the freepdk45 mention in the debug.log string
2023-10-27 00:45:32 +02:00
Mik Igor
123e43e942
Add freepdk45 to tech_name validation in compiler/globals.py
...
Forgot to add the freepdk45 tech_name in validation
2023-10-27 00:40:55 +02:00
Mik Igor
ce2b11ebd9
Validate tech_name param in compiler/globals.py
...
We need to pre-validate the tech_name param in the config file or python will comply with a non-very-descriptive message that can confuse the user about where's the problem.
2023-10-26 23:53:03 +02:00
Eren Dogan
fe379297be
Add timestamps to the log file
2023-10-05 14:55:05 -07:00
Sam Crow
a5412902c6
all control logic tests pass now
2023-09-27 16:38:57 -07:00
Sam Crow
bf49ea744e
force multi-delay chain pinouts to be user configurable
2023-09-27 13:15:45 -07:00
Sam Crow
5b282df667
Revert "add drc style drc(full) to run_drc.sh on Tim Edwards recommondation"
...
This reverts commit c4a14b9354 .
2023-09-26 11:37:04 -07:00
Sam Crow
c4a14b9354
add drc style drc(full) to run_drc.sh on Tim Edwards recommondation
2023-09-25 14:14:27 -07:00
Eren Dogan
b3e1a163d0
Fix derouting wires in the gridless router
2023-09-09 13:32:16 -07:00
Eren Dogan
995cc4f60f
Fix typo
2023-09-06 21:38:19 -07:00
Eren Dogan
3f2d61a0fa
Prevent same file error when copying the config file ( VLSIDA/PrivateRAM#108 )
2023-09-03 18:21:31 -07:00
Eren Dogan
abb12bd785
Increase non-preferred direction cost in router
2023-09-02 08:00:58 -07:00
Eren Dogan
775922774a
Use bbox trees to iterate over shapes in routing region efficiently
2023-09-01 20:37:07 -07:00
Eren Dogan
d9004f6de6
Print more info for the routing processes
2023-08-31 19:03:31 -07:00
Eren Dogan
8a60684e51
Increase the routing region inflation to be safer
2023-08-31 18:26:45 -07:00
Eren Dogan
a9e63efad7
Increase via cost in router
2023-08-31 18:26:04 -07:00
Eren Dogan
56bee27ee3
Don't write/read gds files unnecessarily for router
2023-08-29 21:45:52 -07:00
Eren Dogan
e12ab68362
Simplify closest edge calculation in signal escape router
2023-08-28 10:38:53 -07:00
Eren Dogan
fa5de05be3
Merge branch 'dev' into gridless_router
2023-08-27 21:17:58 -07:00
Eren Dogan
53cc99f5c1
Perform signal escape routing in smaller regions
2023-08-27 21:16:34 -07:00
Eren Dogan
9df3c2ac59
Return the path in source-to-target order
2023-08-27 21:15:25 -07:00
Eren Dogan
141a4e3380
Don't scale the routing region if no path is found
2023-08-27 15:42:09 -07:00
Bugra Onal
230454d567
Merge changes from subprocess_fix
2023-08-10 16:21:45 -07:00
Bugra Onal
3f08c848d7
Force to use bash for simulators
2023-08-10 16:05:24 -07:00
Eren Dogan
ea02aae40f
Find blocked nodes and probes faster
2023-08-09 17:45:49 -07:00
Eren Dogan
9ac82060b9
Simplify 'remove' attribute of graph_node
2023-08-08 11:54:12 -07:00
Eren Dogan
fa1b2fc96e
Delete unused file
2023-08-02 21:54:45 -07:00
Eren Dogan
f8b2c1e9b9
Change OPTS.route_supplies option since there's only one router now
2023-08-02 21:48:29 -07:00
Eren Dogan
8fff4e2635
Organize imports of the new router
2023-08-02 21:35:13 -07:00
Eren Dogan
54fc34392d
Remove unnecessary imports
2023-08-02 21:28:21 -07:00
Eren Dogan
e1d0902680
Cleanup the new router
2023-08-02 21:26:24 -07:00
Eren Dogan
ba8e80d205
Replace layout pins in the new signal escape router
2023-08-02 19:33:48 -07:00
Eren Dogan
87eca6b7db
Use the initial bbox to route supply and signals
2023-08-02 18:01:09 -07:00
Eren Dogan
08dad81214
Use the same inflating rules for all shapes in router
2023-08-02 17:48:56 -07:00
Eren Dogan
5b0f97860a
Calculate bbox inside the router
2023-08-02 09:30:50 -07:00
Eren Dogan
937585d23c
Route signals to the perimeter in sorted order
2023-08-01 21:17:43 -07:00
Eren Dogan
877f20e071
Use the new routers in ROMs
2023-08-01 19:10:02 -07:00
Eren Dogan
887a66553b
Implement signal escape router using the new gridless router
2023-08-01 12:46:02 -07:00
Eren Dogan
dd152da5c2
Change signal escape router's high-level function name
2023-08-01 11:26:25 -07:00
Eren Dogan
42257fb7f8
Export router_tech again
2023-08-01 11:25:12 -07:00
Eren Dogan
993b47be4c
Remove old routers from sram_1bank
2023-08-01 11:22:50 -07:00
Eren Dogan
93a6549539
Fix typo
2023-08-01 11:10:32 -07:00
Eren Dogan
6c70396a05
Remove grid-based routers and replace them with the gridless router
2023-08-01 10:59:55 -07:00
Eren Dogan
da24c52c52
Cleanup graph router
2023-07-31 21:49:14 -07:00
Eren Dogan
db2a276077
Split graph router class to use it for signal escaping later
2023-07-31 19:43:09 -07:00
Eren Dogan
7be6f2783b
Refix logic mistake in graph router
2023-07-31 12:24:31 -07:00
Eren Dogan
4b2659a5e2
Fix another logic typo
2023-07-30 18:27:17 -07:00
Eren Dogan
5cf774b53e
Remove unnecessary lines
2023-07-30 10:09:13 -07:00
Eren Dogan
e5bc7b4e95
Fix logic typo
2023-07-30 10:08:57 -07:00
Eren Dogan
d487f788e3
Add constant cost for all non-preferred edges
2023-07-29 21:48:33 -07:00
Eren Dogan
821c763a1e
Cleanup graph router
2023-07-29 20:01:58 -07:00
Eren Dogan
3b0997e7cf
Implement custom add_route() for the graph router
2023-07-29 08:18:49 -07:00
Eren Dogan
4c73d3aa7c
Use safe regions to protect pin nodes
2023-07-29 08:17:00 -07:00
Eren Dogan
091d0f8775
Convert pins and blockages for graph router
2023-07-26 21:46:30 -07:00
Eren Dogan
8522e0108c
Add center nodes for existing vias
2023-07-26 21:45:35 -07:00
Eren Dogan
4d835e98b7
Simplify merging new shapes in graph router
2023-07-26 16:44:57 -07:00
Eren Dogan
53505e2ed2
Add "pin safe" functionality to is_node_blocked()
2023-07-26 16:41:46 -07:00
Eren Dogan
d609ef9243
Make sure via probes can also be blocked by other blockages
2023-07-25 22:21:26 -07:00
Eren Dogan
62a04ce874
Add get_lpp() function to router_tech
2023-07-25 21:01:32 -07:00
Eren Dogan
54ce1377c5
Merge branch 'dev' into gridless_router
2023-07-25 20:03:59 -07:00
Eren Dogan
6cda5415a4
Try routing in larger regions if no path is found
2023-07-25 18:40:07 -07:00
Bugra Onal
1de6b9a0f6
Add func random seed as input option and log out
2023-07-25 13:06:31 -07:00
Eren Dogan
ed404a3ad2
Rename 'inflated_from' to 'core'
2023-07-25 10:26:23 -07:00
Eren Dogan
47185f6085
Generate cartesian values for pins correctly
2023-07-25 10:18:43 -07:00
Eren Dogan
587d44e536
Include pins as blockages properly
2023-07-24 21:15:15 -07:00
Eren Dogan
2b15289daf
Enable power routing for failing FreePDK45 tests ( VLSIDA/PrivateRAM#97 )
2023-07-24 19:21:31 -07:00
Eren Dogan
fa74a45d8c
Fix spacing rule for wider blockages
2023-07-24 13:08:02 -07:00
Eren Dogan
5de7b9cda7
Make graph router the default supply router
2023-07-24 13:07:43 -07:00
Eren Dogan
947e94323d
Cleanup graph router
2023-07-24 08:03:08 -07:00
Eren Dogan
54f2e73214
Simplify inflating shapes in graph router
2023-07-23 21:09:15 -07:00
Eren Dogan
7119f9a131
Fix spacing rule for non-max-width layer in router_tech
2023-07-23 18:45:02 -07:00
Eren Dogan
542e1a5e03
Use half pin's size difference for new spacing rule
2023-07-23 18:43:26 -07:00
Eren Dogan
a90fd36f57
Change spacing rule for pins
2023-07-23 10:43:02 -07:00
Eren Dogan
7a7ddebcca
Add more spacing to inflated pins to prevent unroutables
2023-07-23 10:22:43 -07:00
Eren Dogan
1c274afa46
Include blockages in the routing area after generating nodes
2023-07-22 21:30:40 -07:00
Eren Dogan
06b8f3b2be
Prevent supply ring from overlapping existing pins
2023-07-22 19:25:26 -07:00
Eren Dogan
48b556c43a
Fix even more DRC errors in graph router
2023-07-22 14:07:27 -07:00
Eren Dogan
8354de654f
Fix precision of blockage node centers
2023-07-21 12:24:20 -07:00
Eren Dogan
3e3265c416
Add new snap_to_grid function for graph router
2023-07-21 09:55:36 -07:00
Eren Dogan
44b2e4589c
Don't use multiple when inflating shapes
2023-07-21 08:30:46 -07:00
Eren Dogan
7ee1dcef54
Simplify inflated_from logic
2023-07-21 08:26:54 -07:00
Bugra Onal
93182d525d
Added sky130 golden spice file
2023-07-20 15:20:15 -07:00
Bugra Onal
5b1544ad45
Sky130 tests will use 1 spare row and col
2023-07-20 15:18:32 -07:00
Bugra Onal
78e5b60380
Fix fake_sram bit sizes
2023-07-20 10:43:09 -07:00
mrg
f800b50813
Fix wrong bit size in fake_sram.
2023-07-20 10:11:49 -07:00
Eren Dogan
5ce193c2dd
Snap node vectors to grid to prevent precision errors
2023-07-19 18:32:22 -07:00
Bugra Onal
6751442d35
account for spare cols in char
2023-07-19 16:09:28 -07:00
Sam Crow
2051f54f70
Merge branch 'STA-refactor' into dev
2023-07-19 15:14:20 -07:00
Bugra Onal
0b2196a3e4
cleaned logs
2023-07-19 14:50:49 -07:00
Sam Crow
6e3e964c12
cleanup net_spice docstrings
2023-07-19 12:45:41 -07:00
Sam Crow
f41537b508
Merge branch 'char' into STA-refactor
2023-07-19 12:35:22 -07:00
Sam Crow
2ced895b32
add BIAS pin type back to valid types
2023-07-19 12:15:47 -07:00
Sam Crow
c67fdd8bd8
fix insts typo
2023-07-19 12:15:21 -07:00
Bugra Onal
d53353b5be
Merge branch 'dev' into char
2023-07-19 12:06:34 -07:00
Bugra Onal
9fa25690ce
Added pins for spare_cols
2023-07-19 11:35:09 -07:00
Sam Crow
2b9e70d318
remove line ending whitespace from comment
2023-07-19 10:51:19 -07:00
Eren Dogan
e8c3cf0a94
Remove nodes inside routables that can cause DRC errors
2023-07-18 22:36:14 -07:00
Sam Crow
bfabe64f33
fix pin/net dictionary deepcopy-ing
2023-07-18 16:14:38 -07:00