Commit Graph

94 Commits

Author SHA1 Message Date
kareem 6452f14de0 reimplement caravel with latest blocks updates and a buffer macro 2022-10-13 13:34:47 -07:00
Marwan Abbas f7299933ee
Merge pull request #217 from mo-hosni/buff_flash_clkrst
Buff flash clkrst
2022-10-13 20:53:18 +02:00
Marwan Abbas 14856fea6d
Merge pull request #216 from mo-hosni/housekeeping_final_views
Housekeeping final views
2022-10-13 20:47:09 +02:00
Marwan Abbas e72f819020
Merge pull request #210 from mo-hosni/final_views
mgmt_protect final views
2022-10-13 20:33:57 +02:00
Marwan Abbas 08ac55bed8
Merge pull request #214 from efabless/caravel_clocking-buffering
Caravel clocking reharden
2022-10-13 20:13:45 +02:00
kareem c922241c3f reharden: caravel_clocking
+ add custom interactive script to insert a buffer on user_clk output
and have a large buffer on core_clk
~ change pdn config to match top level
~ change sdc
~ change openlane configuration
2022-10-13 10:54:04 -07:00
mo-hosni 889aa7e308 add buff_flash_clkrst 2022-10-13 10:35:51 -07:00
mo-hosni 0389423ea6 add housekeeping 2022-10-13 10:15:05 -07:00
mo-hosni 1aaebf5cbb add mgmt_protect 2022-10-13 10:11:45 -07:00
kareem 0eed96f33f reharden: digital_pll
~ reimplement digital_pll using updated RTL
~ changes in config to generate same PDN
~ change deprecated variables
2022-10-13 06:21:08 -07:00
Passant 3cdacf2fef Merge remote-tracking branch 'origin/caravel_redesign' into dirs_cleanup 2022-10-12 07:50:34 -07:00
Marwan Abbas 2393abee04
Merge pull request #182 from efabless/openlane-makefile
fix a typo in openlane makefile run tag variable and flag
2022-10-12 16:36:23 +02:00
Passant 78cec109cc add signoff sdc dir
move sdc generated from openlane to signoff/<design name>/openlane-signoff
rearrange spef directory with RC corners spefs
2022-10-12 07:28:32 -07:00
kareem 6a4ab04d86 fix a typo in openlane run tag variable and flag 2022-10-12 06:35:17 -07:00
kareem 9ccb0ff2ed reharden!: caravel
~ reimplement based on updated views of the macros
~ change interactive script to call label_macro_pins
~ extract all spef and sdf corners using timing-scripts repo

!important same work arounds as before
2022-10-12 04:45:08 -07:00
mo-hosni db2cc848b2 Added constant block openlane files and powered gl and modified housekeeping config.tcl 2022-10-12 04:12:27 -07:00
mo-hosni 76f8d37496 Rehardened housekeeping to fix Antenna violations. 2022-10-11 16:41:50 -07:00
marwaneltoukhy c0f47b6404 updated openlane and open_pdks commit 2022-10-11 10:15:41 -07:00
kareem b0abb4e164 add chip_io gl
~ update interactive script for chip_io.v for recent openlane
~ update config.tcl for recent openlane
~ add a verilog stub for sky130_fd_io__top_xres4v2 as
the io verilog models are not readable by yosys
2022-10-11 07:35:13 -07:00
Mohamed Shalan 344f806980
Merge pull request #166 from efabless/gpio_control_block-sparecell
gpio_control_block sparecell
2022-10-11 10:39:50 +02:00
Passant ddbf9a15df update signoff sdc of the re-implemented macros 2022-10-10 15:46:02 -07:00
kareem f4218ddde9 reharden!: gpio_control_block
- reimplement using a sparecell
- reimplement using newest open_pdks

!important using openlane pre odb with some local patches which
most if not all are merged in the current head of openlane however
still takes effort to update the interactive script to be latest
openlane compatible

!important override abstract lef generated by openlane. openlane
 generates lef and mag that contain def BLOCKAGE layers that cause
congestions during top level routing
2022-10-10 05:42:29 -07:00
kareem 285ef6b642 reharden!: caravel
~ update the following views:
def
mag
verilog
spef(all corners)
+ add the ability to override the interactive script filename
+ add the ability to run openlane regression using regression.config
file
~ change GRT ADJUSTMENT values
~ change pointers to some files for workarounds

!important the interactive script still needs updates
!important this was done using old openlane v0.22 and its matching
pdk
!important known workarounds:
- a custom techlef is used where large metal spacing rules are the
only ones present to avoid violations by the router
- some odd behaviour happening when a macro has a lef view
with a non zero origin. so the power routing cell is (temporarily)
modified to have a zero origin and its placement has been shifted
which doesn't match the power routing mag.
- the old openlane doesn't generate multi spef corners. they
are generated using timing-scripts repo
2022-10-10 04:51:05 -07:00
Passant 36b1f0d62f add signoff `sdc` for top level caravel and
submodules: housekeeping and `gpio_control_block`
2022-10-09 03:12:36 -07:00
mo-hosni d6ca7f9091 rehardened housekeeping after rtl update, and fixed all hold and transition violations. 2022-10-07 16:59:01 -07:00
Mohamed Hosni 5c38e38767
Merge branch 'efabless:caravel_redesign' into caravel_redesign 2022-10-07 16:52:16 -07:00
kareem 6d1d618974 reharden!: gpio_control_block
- rtl updated
~ add one column to the right to pass placement congestion
~ density adjusted (probably has no effect)
+ manually add isosubstrate layer in mag and gds from older iterations

!important still need to run dynamic simulations
!important depends on some updates to openlane
!important need to be able to recreate using newer openlane versions
2022-10-07 05:02:14 -07:00
mo-hosni 9c850bf94b rehardened housekeeping 2022-10-05 12:35:03 -07:00
mo-hosni fcc009e65a rehardeneded mgmt_protect 2022-10-05 12:26:24 -07:00
kareem aaa3b863e5 reharden!: gpio_control_clock
- add met5 obs to avoid drc with the top level pdn

!important: still need to use the latest openlane to replicate
2022-10-05 07:03:11 -07:00
kareem 7c524edd31 openlane(wip)!: housekeeping
~ fix typo in referencing variables in sdc file
~ fine tune parameters to get the design to route
with cts and diode insertion

!important:
depends on SAVE_LIB patch from openlane
2022-09-29 05:30:03 -07:00
Kareem Farid 0a56c1c4eb update housekeeping sdc 2022-09-29 12:54:28 +02:00
kareem 53950bb206 openlane: update gpio_control_block config
- point to the right template file
- add skiptrim flag
2022-09-28 01:03:00 -07:00
kareem 85f7f86c4e reharden!: gpio_control_block
- high level changes:
* add larger buffers on output ports
* add buffers on input ports
* adjust sdc file increasing output load and setting a high transition

- detailed changes:
* add interactive script for openlane where the order of events is a bit shuffled
	- to add obstruction before pdn
	- to manually insert buffers on some ports
	- to manually remove buffers inserted by synthesis on for example serial_clock_out
* change openlane config adding extra row and columns to increase the space and fit the
added buffers
* change config to enable buffering
* increase density for better placement?
* change the cell exclude list. some excluded cells didn't make sense
* ef decap cells break dynamic sims?
* add custom pdn script for to duplicate the old pdn

- misc changes:
* fix openlane makefile to properly detect interactive script

!important still need to run dynamic simulations
!important depends on some updates to openlane
2022-09-27 07:09:26 -07:00
kareem c1e0d5ba06 openlane!: reharden gpio_control_block
update gpio_control_block config for new openlane versions:
- disable `SYNTH_BUFFERING` and `SYNTH_SIZING` to limit the design size
and fit the floorplan
- change `SYNTH_STRATEGY` to `AREA 0` to minimize design cells
- disable `PL_RESIZER_TIMING_OPTIMIZATIONS` and
enable `GLB_RESIZER_TIMING_OPTIMIZATIONS`
- remove `FP_IO_*` and replace them with `FP_DEF_TEMPLATE` for io placement
- set `DECAP_CELL` to not use ef decaps.. i think that was for simulations?
- enable some turned off `QUIT_*` variables
- replace deprecated variables such as `GLB_RT_*`
- customize `pdn.tcl` to force pdn straps to follow the old pattern
- replace `$script_dir` with `$::env(DESIGN_DIR)`

!IMPORTANT - still need to run dynamic simulations
2022-09-14 11:06:23 -07:00
kareem ac1928a45b harden: gpio_control_block with updated rtl
TODO: run full verification
2022-08-15 02:29:01 -07:00
Anton Blanchard 562405a302
Fix upstream breakage due to missing docker mount (#80) 2022-04-21 05:34:37 -07:00
Kareem Farid 9ddb806293
gpio_control_block constrains fix (#69)
Co-authored-by: Marwan Abbas <marwan@ciic.c.catx-ext-efabless.internal>
2022-04-15 11:50:54 -07:00
R. Timothy Edwards 71600440bc
Caravan top lvs (#67)
* - update caravan configuration
* change correct gpio_default blocks instance names
* implement powerrouting work around
* place spare logic blocks
* keep the history of runs and sym link last/final one

* - update caravan mag, def and gl views
- add fake power routing cell in the rtl as a placeholder for openlane
  to prevent routing on that cell
- fix some syntax errors in chip_io_alt
- match simple_por lef pins with mag by regenerating it

* Apply automatic changes to Manifest and README.rst

* add caravan power routing lef

* - update mag and def view of caravan
- add_macro_placement for fake cell

* Added back the power routing to Caravan, fixed DRC errors, ran LVS,
corrected placement of isolated substrate regions, and replaced the
signal routing for the analog lines.  Be aware that merging with
main may cause issues with the mgmt_protect.mag file and its
subcells mprj2_logic_high.mag and mprj_logic_high.mag.  It may be
worth cherry-picking the files to merge and exclude those layouts.

Co-authored-by: kareem <kareem.farid@efabless.com>
Co-authored-by: kareefardi <kareefardi@users.noreply.github.com>
Co-authored-by: Jeff DiCorpo <42048757+jeffdi@users.noreply.github.com>
2022-04-14 15:05:16 -07:00
Jeff DiCorpo b707fbd9b9
Update Makefile (#65)
fix openlane/Makefile to work around pdk version check
2022-04-13 12:38:06 -07:00
Jeff DiCorpo 456f49da48
Update Makefile (#62) 2022-04-11 21:18:36 -07:00
Jeff DiCorpo 2957357ce5
avoid pdk version checking in openlane (#61)
* Update Makefile

Update to workaround pdk version matching in Openlane

* Update Makefile

updated OPENLANE_TAG
2022-04-11 16:38:49 -07:00
Kareem Farid c84e1393e7
updates to top level caravel (#59)
* REVERT ME: temporarily match simple_por pin in verilog with lef

* - update configs
- add patch file for power routing def

* - update the following caravel toplevel views
    - gl
    - mag
    - def
- add caravel power routing def

* Apply automatic changes to Manifest and README.rst

* update gl mag and def for caravel

* Revert "REVERT ME: temporarily match simple_por pin in verilog with lef"

This reverts commit b70c27c69f.

* update caravel gds

* Apply automatic changes to Manifest and README.rst

* Added text and logo cells back into the caravel top level.  Put an
isolated ground marker layer on the xres_buf layout.  Corrected
the power supply pin names on the gate level verilog netlist of
simple_por in caravel.v.  Updated the copyright block text.
Corrected DRC errors in the top level routing.

Co-authored-by: Tim Edwards <tim@opencircuitdesign.com>
2022-04-08 09:31:33 -07:00
Kareem Farid dcebeed7e7
Mgmt protect update (#58)
* - add openlane patch file to for input buffering workaround
- update configuration of mgmt protect

* mgmt_protect updated

* mgmt_protect updated

* remove some via3 to fix power shorts

Co-authored-by: Marwan Abbas <marwan@ciic.c.catx-ext-efabless.internal>
2022-04-08 09:29:49 -07:00
Kareem Farid e3b9a99154
- update gpio_control_block config (#57)
- update gpio_control_block views
- gitignore gds/*gds
2022-04-08 09:27:51 -07:00
Marwan Abbas e9f023f9fa
Introduction of PDK variable (#39)
* added PDK_VARIENT variable

* changed variable name to PDK

* resolve issue

Co-authored-by: Marwan Abbas <marwan@ciic.c.catx-ext-efabless.internal>
2022-04-08 09:05:58 -07:00
kareem 449cb47360 fix comment typo 2022-02-25 10:47:04 -08:00
kareem 0f04a43f58 - change litex tag to mpw-5c
- warn before deleting when rerunning these targets:
    install_mcw openlane pdk
- clone litex with depth=1 and single branch
- simplified pdk targets by removing these targets:
    skywater-timing build-pdk skywater-library
- add clean-pdk and clean-openlane
- add make prerequisites in pdk (not sure if that's needed)
- run openlane docker non interactive
- export OPENLANE_IMAGE_NAME when running openlane docker
- add check-openlane-env target

Squashed commit of the following:

commit b7904e08ae
Author: kareem <kareem.farid@efabless.com>
Date:   Thu Feb 24 13:32:36 2022 -0800

    typo

commit 8507bcf1ee
Author: kareem <kareem.farid@efabless.com>
Date:   Thu Feb 24 11:51:42 2022 -0800

    undo tag for testing

commit 12114e08d2
Author: kareem <kareem.farid@efabless.com>
Date:   Thu Feb 24 11:50:41 2022 -0800

    typo

commit 1a15d4646a
Author: kareem <kareem.farid@efabless.com>
Date:   Thu Feb 24 11:47:26 2022 -0800

    fix folder not found check

commit addf24a8b6
Author: kareem <kareem.farid@efabless.com>
Date:   Thu Feb 24 11:03:31 2022 -0800

    remove export path and ls that were for testing

commit 91a305f365
Author: kareem <kareem.farid@efabless.com>
Date:   Thu Feb 24 10:57:39 2022 -0800

    typo

commit 00c249db5c
Author: kareem <kareem.farid@efabless.com>
Date:   Thu Feb 24 10:50:28 2022 -0800

    - use tag for MCW_BRANCH
    - non phony install_mcw
    - clone with depth 1

commit ba14b7a6aa
Author: kareem <kareem.farid@efabless.com>
Date:   Thu Feb 24 10:39:59 2022 -0800

    the return of non phony

commit f5657bbabf
Author: kareem <kareem.farid@efabless.com>
Date:   Thu Feb 24 05:04:51 2022 -0800

    revert commit ids of openpdks, magic and openlane (we are going to set them in caravel_user_project)

commit 0fc8c4dacd
Author: kareem <kareem.farid@efabless.com>
Date:   Thu Feb 24 04:46:37 2022 -0800

    gen-source for sky130B

commit c875a7b058
Merge: 801b3dc ff403f5
Author: kareem <kareem.farid@efabless.com>
Date:   Wed Feb 23 14:16:25 2022 -0800

    Merge remote-tracking branch 'upstream/main' into makefile

commit 801b3dc28d
Author: kareem <kareem.farid@efabless.com>
Date:   Wed Feb 23 14:15:25 2022 -0800

    also update openlane, magic, openpdks commit id

commit 47091c6fba
Author: kareem <kareem.farid@efabless.com>
Date:   Tue Feb 22 13:35:07 2022 -0800

    more changes

commit 67a49b0aa2
Author: kareem <kareem.farid@efabless.com>
Date:   Thu Feb 17 11:56:56 2022 -0800

    WIP actual usage of make targets
2022-02-25 10:39:11 -08:00
Donn 89629b357f Change `make openlane` to `make pull-openlane` in the OpenLane Target
Merging the image from scratch doesn't work anymore due to a dependency break.

Also, add pdk-with-sram target.
2022-02-03 18:10:53 +00:00
Jeff DiCorpo e2f00e2770
Merge pull request #14 from Manarabdelaty/doc
Documentation Updates
2022-01-18 23:13:26 -08:00