Commit Graph

760 Commits

Author SHA1 Message Date
Ian Zhang 4377b1f605
Fix outdated empty analog project wrapper url (#19) 2022-04-21 04:38:16 -07:00
Anton Blanchard 660c9f4189
Don't compress git files in caravel and mgmt_core_wrapper repos (#77)
make compress is trying to compress a large file in mgmt_core_wrapper
.git dir.
2022-04-20 14:31:59 -07:00
R. Timothy Edwards 8aafe0cff6
Fixes an error in the gen_gpio_defaults.py script (#79)
* Fixes an error in the gen_gpio_defaults.py script that is incompatible
with the use of indexed arrays for five of the gpio_defaults_block
instances.  Previously this was handled by manually changing the names
in the layout file.  This script avoids the need for manual modification
by directly handling the indexed notation.  Also, this extends the
modifications made to the layout to include the first five defaults
blocks;  otherwise, the first five defaults blocks are not changed and
the defaults will be wrong for the housekeeping SPI pins.

* Apply automatic changes to Manifest and README.rst

Co-authored-by: RTimothyEdwards <RTimothyEdwards@users.noreply.github.com>
2022-04-20 10:31:15 -04:00
R. Timothy Edwards 99518acd15
Numerous bug fixes, ending in clean full LVS for both caravel and caravan. (#76)
* (1) Modified the .magicrc file to set a default for PDK if not set in the
environment.  (2) Fixed the user ID programming layout to not leave holes
behind when the script moves the vias around (similar to the handling of
the GPIO defaults block).  (3) Added substrate isolation to gpio_control_block
and fixed the path references to the standard cells.  (4) Fixed the four
missing routes on the Caravan top level.  (5) Reinstated the large rendered
labels for the pads on both caravel and caravan.  (6) Corrected the top
level gate-level netlist for caravan to add the missing pins to the
management core wrapper.  (7) Did the same for the caravan top level RTL.
(8) Created scripts to run full LVS including extracting the management
core wrapper and reading all gate-level verilog submodules.  (9) Moved all
of the LVS scripts to the scripts directory.

* Apply automatic changes to Manifest and README.rst

* Made the changes from pull request #73 as they did not get merged
successfully, and if merged now they will generate conflicts with
this pull request in scripts/set_user_id.py.  So it's easier to
just manually add them to this pull request.

* Apply automatic changes to Manifest and README.rst

Co-authored-by: RTimothyEdwards <RTimothyEdwards@users.noreply.github.com>
2022-04-19 19:05:27 -07:00
Mitch Bailey 6f99301588
Changes that correct mgmt_core references and user_id_programming generation. (#73)
* Create lvs-cvc.rst

* user_project_analog_wrapper -> user_analog_project_wrapper

* Added table

* Update lvs-cvc.rst

* Create lvs_cvc_mpw4.rst

Initial steps for LVS and CVC-RV for MPW-4 slot-002

* Update lvs_cvc_mpw4.rst

diode and short errors

* daily progress

`simple_por` changes to `caravel.v`

* Update lvs_cvc_mpw4.rst

* Remove old local documentation.

* Changes that correct gpio_default_block, user_id_programming, and mgmt_core references.

mgmt_core_wrapper
  Use absolute path instead of relative path.

user_id_programming
  Remove GDS references as GDS is no longer modified.
  Corrected string concatenation.
  Corrected mag data replacement.
  Corrected verilog data replacement.

gpio_default_block
  Rename instances for gpio_default_blocks 0-4 in caravel.mag and caravan.mag.
  Change replace range in gen_gpio_defaults.py to handle gpio_default_blocks 0-4.

* Revert changes related to gpio_default_block.

* Changed mgmt_core_wrapper absolute path from UPRJ_ROOT to MCW_ROOT.

* Corrected MCW_ROOT path (includes mgmt_core_wrapper)
2022-04-18 20:24:11 -07:00
Jeff DiCorpo ae6bfcc107
Update Makefile
Update open_pdks commit for mpw-5 tapeout
2022-04-15 12:24:52 -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
ef-gps c0f0ab4666
Merge pull request #64 from efabless/fix_set_user_script
Fix set user script
2022-04-12 13:16:44 -07:00
RTimothyEdwards 027adee904 Apply automatic changes to Manifest and README.rst 2022-04-12 19:50:03 +00:00
Tim Edwards 078aabbfeb Corrected the set_user_id.py script. 2022-04-12 15:48:14 -04:00
Marwan Abbas c39cbeeb08
Change default pdk variable (#63) 2022-04-12 09:41:40 -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
Tim Edwards c52cd9b1e5 Added other blocks that were modified to put in the isolated
substrate regions, although this does not completely resolve
the substrate-related LVS error.
2022-04-09 14:29:19 -04:00
Tim Edwards 680353f7a7 This corrects a shorted net in the caravel top level layout.
Still evaluating why the layout does not pass LVS like it did
previously, although all current LVS errors appear to be related
to magic's extraction of the isolated substrates, and do not
imply functional issues.  Also, LVS has only been done on the
top level.
2022-04-09 14:23:19 -04:00
Marwan Abbas 14142eb2a1
Fix syntax error in gpio_control_block (#60)
* Fix syntax error in gpio_control_block

Fixed syntax error that was only visible when running iverilog for simulation

* Apply automatic changes to Manifest and README.rst

Co-authored-by: marwaneltoukhy <marwaneltoukhy@users.noreply.github.com>
2022-04-09 00:24:51 -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
Marwan Abbas 26b937b58b
Remove openlane dependency from volare (#56)
* remove openlane dependency from pdk-with-volare

* minor fix to remove openlane dependecy

Co-authored-by: Marwan Abbas <marwan@ciic.c.catx-ext-efabless.internal>
2022-04-08 07:47:05 -07:00
Marwan Abbas 72513ffcbd
remove openlane dependency from pdk-with-volare (#55)
Co-authored-by: Marwan Abbas <marwan@ciic.c.catx-ext-efabless.internal>
2022-04-07 08:53:48 -07:00
Anton Blanchard f2cf19d6f2
Fix GPIO digital mode 010 description (#21)
From looking at the firmware defines, it looks like 010 should be
pull-down, not pull-up.
2022-04-07 07:46:20 -07:00
R. Timothy Edwards ab85f607e9
Corrected the definitions for the pullup and pulldown input modes (#51)
in "defs.h" per the github issue #15 posted by Sylvain Munaut.
2022-04-07 07:46:02 -07:00
R. Timothy Edwards 07012ce2aa
Corrected the issue reported on the github issue tracker (#34) (#50)
* Corrected the issue reported on the github issue tracker (#34)
in which the use of "clocking" as an instance name in caravel and
caravan conflicts with the system verilog keyword of the same
name.

* Apply automatic changes to Manifest and README.rst

Co-authored-by: RTimothyEdwards <RTimothyEdwards@users.noreply.github.com>
2022-04-07 07:44:57 -07:00
Marwan Abbas a54fa37c43
Volare integration (#53)
* new target pdk-with-volare

* minor change

* added volare update

* minor modifications
2022-04-07 07:31:07 -07:00
Jeff DiCorpo 5d8b579b6c
Merge pull request #49 from efabless/fix_user_id_prog
This commit fixes the issue with the user ID programming block not
2022-03-22 09:36:06 -07:00
Jeff DiCorpo e93c6cc16b
Merge pull request #52 from efabless/kareefardi-patch-1
fix wrong cell name
2022-03-22 08:29:07 -07:00
kareefardi 374deaec62 Apply automatic changes to Manifest and README.rst 2022-03-22 15:03:30 +00:00
Kareem Farid 8e02ea79d8
fix wrong cell name
`sky130_fd_sc_hd__dlygate4sd2` is called `sky130_fd_sc_hd__dlygate4sd2_1`
2022-03-22 17:02:36 +02:00
Jeff DiCorpo 880b499d18
Merge pull request #46 from d-m-bailey/gpio_34
Correct gpio_defaults_block_34 instance name in caravel.mag
2022-03-22 07:53:53 -07:00
RTimothyEdwards 7663c2762b Apply automatic changes to Manifest and README.rst 2022-03-22 14:29:52 +00:00
Tim Edwards 53abff5bbf This commit fixes the issue with the user ID programming block not
getting changed by "make ship" because the build is done in a place
where the path pointer to the user_id_programming GDS still points
back to the original caravel repository, not the user project
repository.  The user_id_programming GDS was removed (no longer used),
the user_id_programming.mag file was modified to remove the path
pointer to the GDS, and the set_user_id.py script was modified to
make changes directly to the user_id_programming.mag file instead of
the GDS.  An additional method was added to the set_user_id.py script
to modify the gate-level verilog/gl/user_id_programming.v to make
the user ID correct for gate-level testbench simulations.
2022-03-22 10:25:25 -04:00
Jeff DiCorpo cac2b1d101
Merge pull request #48 from efabless/gpio_block_mitigate_hold
Gpio block mitigate hold
2022-03-21 12:16:24 -07:00
RTimothyEdwards c4355c86fd Apply automatic changes to Manifest and README.rst 2022-03-21 16:09:27 +00:00
Tim Edwards be56cb19ed Modified the GPIO control block to put additional delay on the data
output of each GPIO block to overcome any wiring delays between
GPIO blocks that could potentially cause hold violations.
2022-03-21 12:07:12 -04:00
Jeff DiCorpo 191139bf0e
Merge pull request #42 from efabless/RTimothyEdwards-patch-1
Update maximum-ratings.rst
2022-03-16 16:23:55 -07:00
D. Mitch Bailey 35781987e1 Correct gpio_defaults_block_34 instance name in caravel.mag 2022-03-14 15:04:14 -07:00
R. Timothy Edwards a61fc8b15d
Update maximum-ratings.rst
Added min/max ratings for GPIO voltage and frequency
2022-03-08 08:38:11 -05:00
Jeff DiCorpo dab0e6a31f
Merge pull request #37 from efabless/jeffdi-patch-1
Update Makefile
2022-02-26 09:44:51 -08:00
Jeff DiCorpo 71372cc14e
Update Makefile 2022-02-25 17:55:26 -08:00
Jeff DiCorpo b17579dc6c
Merge pull request #36 from kareefardi/makefile-squashed
makefiles and tag updates
2022-02-25 17:44:02 -08:00
kareem f595ab9aec bump litex tag to 5c 2022-02-25 10:50:17 -08: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
Jeff DiCorpo ff403f5d9b
Merge pull request #35 from kareefardi/pdk-non-root-install
avoid building the pdk with docker as root user
2022-02-22 09:17:44 -08:00
kareem ddab259ead pass PDK_ROOT to docker 2022-02-22 07:35:11 -08:00
kareem ffd8563e37 - set user id and groupd
- set GIT_COMMITTER_NAME and GIT_COMMITTER_EMAIL to workaround old git
  version inside magic container
2022-02-22 07:30:01 -08:00