Commit Graph

193 Commits

Author SHA1 Message Date
Jeff DiCorpo 610a874a82
Merge branch 'main' into remove_depency_over_power 2023-10-23 07:50:12 -07:00
Jeff DiCorpo d42e78e3dd
Merge pull request #491 from efabless/fix_openframe_netlists
Modified the verilog/rtl/openframe_netlists.v.
2023-10-23 07:47:47 -07:00
Jeff DiCorpo eab35f8af3
Merge pull request #504 from efabless/cocotb
update cocotb top rtl to work with cheetah soc
2023-10-23 07:46:16 -07:00
Tim Edwards 4cd9d9cf2a Added pins "vddio" and "vssio" to the openframe and openframe project
wrapper RTL netlists and and openframe project wrapper GL netlist.
2023-10-18 12:47:56 -04:00
M0stafaRady 6b5829181a
Merge pull request #506 from efabless/main
merge from main to cocotb
2023-10-03 10:02:58 +03:00
Tim Edwards 31c8f54f24 Modified the openframe padframe so that the GPIO "wrapped"
cells are replaced with the base cells.  Routing to pins
is instead done in the "gpio_connects" cells while
improving on the original routing (fewer cross-overs,
multiple vias per contact, wider buses for the analog
signals).  Made small adjustments to many of the openframe
wrapper pins to keep them all on a 10nm grid.  Moved the
connections previously from the "wrapped" GPIO cell back
from the openframe project border, so that the border can
be clear of all blockages.  Added the DEF file of the
wrapper (previously only in the openframe example repo)
to the def/ directory.  Note:  The modified LVS scripts
depend on the gate-level netlists of the frame, which
have been committed in a prior pull request.  This pull
request does not conflict with those files.
2023-09-25 19:26:09 -04:00
M0stafaRady 0848d6b8f5 Remove includes and add define macro to make it possible for new project to add logic 2023-09-13 06:20:15 -07:00
Tim Edwards 4a84427ec8 Modified the verilog/rtl/openframe_netlists.v.
This file indicates which verilog files to include for openframe
simulations.  Noted that there were references in the file to
GL versions of user_id_programming.v, chip_io_openframe.v, and
caravel_openframe.v.  All three of these are already structural
verilog and do not have versions in the gl/ directory.
2023-08-29 20:54:36 -04:00
M0stafaRady 58a568c4fe
remove duplicate declaration from caravan_core.v 2023-08-23 11:35:05 +03:00
M0stafaRady 0ec7994476 update caravan netlist with correct risc-v and some missing files 2023-08-07 13:32:37 +03:00
M0stafaRady b9ee241db9
fix compilation error at caravan core caught by iverilog 2023-07-25 13:08:35 +03:00
M0stafaRady de15fea0af update toplevel_cocotb to match the latest updates to compile 1 time 2023-07-05 03:41:30 -07:00
M0stafaRady 1d99f81955 fix path to sdf files 2023-06-21 04:26:25 -07:00
M0stafaRady 33218a99ac add top level for cocotb 2023-06-18 04:18:07 -07:00
M0stafaRady e90895bca6 fix indentation 2023-06-13 00:11:33 -07:00
M0stafaRady 7414a48187 Fix power guards for caravan and openframe 2023-06-13 00:09:17 -07:00
M0stafaRady 082e52c41d Fix power guards 2023-06-12 09:28:56 -07:00
Jeff DiCorpo f04c58a8c9
Merge pull request #467 from efabless/caravan-mpw9
Caravan mpw9
2023-06-01 10:25:33 -07:00
Passant e88f5abf4f ~ update `caravan` mag and openlane config with the `caravan` specific logo, motto, and copyright 2023-06-01 10:10:11 -07:00
mo-hosni e076718887 add `/// sta-blackbox` in the modules that will be blackboxed in STA 2023-05-22 05:52:27 -07:00
mo-hosni 6b5aa27297 harden `housekeeping_alt` that will be integrated in `caravan_core` 2023-05-22 05:38:41 -07:00
mo-hosni 5339ed15b6 Merge branch 'caravan-mpw9-PnR' of github.com:efabless/caravel into caravan-mpw9-PnR 2023-05-22 02:34:33 -07:00
mo-hosni 4086fb7130 add PnR empty macros to act as placement obstructions 2023-05-22 02:33:57 -07:00
Tim Edwards e2cc50bae3 Copied housekeeping.v to housekeeping_alt.v and extended the
function for clock routing to include GPIO[30] and GPIO[31], for
use with the caravan chip, which does not have GPIO in locations
14 and 15.  This restores the clock monitoring capability for
caravan.  Eventually, the housekeeping_alt module should become
the only housekeeping module, extending the clock monitoring
function for caravel and allowing the same module to be used for
both caravel and caravan.
2023-05-19 10:54:18 -04:00
M0stafaRady c5d251bc08 fix some syntax error in caravan 2023-05-17 00:23:41 -07:00
mo-hosni 1b4692cd68 add `verilog/rtl/caravan_core.v` and modified the hierarchy in `verilog/rtl/caravan.v` 2023-05-16 01:18:27 -07:00
Tim Edwards e6169aaf8c Copied files from the original pull request into a new one. Includes
a few layout updates since the original pull request.  The openframe
design matches the user example in caravel_openframe_project.
2023-05-08 16:29:24 -04:00
mo-hosni 25e96c9d62 reharden caravel. 2023-02-27 10:39:51 -08:00
mo-hosni 7067304fd9 Added manual_power_connections. 2023-02-27 08:15:35 -08:00
mo-hosni 0952575c9d Add empty_macro which acts as a placement obstruction. 2023-02-27 08:14:55 -08:00
Passant b463e533ec update caravel rtl/hierarchy:
+ add `mprj_io_buffer` module that is used to guide the router and buffer signals going to the IOs far from the housekeeping
+ add `caravel_core` rtl that includes all the macros of caravel
~ restructure caravel to `caravel_core` and `chip_io` that includes the padframe
~ update `caravel_clocking` rtl to include `porb` input reset signal from power-on-reset
~ update `gpio_control_block` rtl to buffer `serial_clock` and `serial_load` siganls
2023-02-26 13:43:37 +02:00
Jeff DiCorpo bde8c9ef5e
Merge pull request #391 from efabless/fix_housekeeping_serial_fsm
Update serial configuration fsm to reset the transfer bit
2023-01-05 22:19:18 -08:00
Anton Blanchard 25e5e27f9d Fix issues with port definitions
Caravel fails to build with recent Icarus Verilog versions because some of
the port definitions are not valid.
2023-01-05 20:53:17 +11:00
M0stafaRady c23af382ae Update serial configuration fsm to reset the transfer bit 2022-11-20 04:27:40 -08:00
Tim Edwards d1f47cc451 Fixes the user defines configuration values for pullup and pulldown
modes to match the correct ones that are in defs.h in the management
SoC LiteX repository.  See caravel issue #380.
2022-11-16 09:36:01 -05:00
Jeff DiCorpo 748fbed12e
Merge pull request #377 from d-m-bailey/gpio_doc_fix
fixed documentation for gpio's used in caravan
2022-11-15 12:26:11 -08:00
D. Mitch Bailey 2c099c099e fixed documentation for gpio's used in caravan 2022-11-11 08:22:20 -08:00
Kareem Farid 44ffff2811 bugfix: remove extra comma after the last port in the decaps declaration 2022-11-07 13:00:00 +02:00
Kareem Farid d14035d8a2 gpio_signal_buffering rtl decaps
+ add sky130_ef_sc_hd__decap_12 decaps in the rtl of gpio_signal_buffering
+ add sky130_ef_sc_hd__decap_12 stub file for openlane; there is no
yosys-parseable verilog model for sky130_ef_sc_hd__decap_12
~ change config of gpio_signal_buffering* to add sky130_ef_sc_hd__decap_12
~ regenerate the gl netlist based on the above changes
2022-11-01 19:16:53 +02:00
R. Timothy Edwards d9260dc533
Fixes to caravan for LVS and ERC (#330)
* Corrected missing part of porb_h route in the caravan chip_io_alt
layout.  Correcting the indexing of the "mprj_io_one" connections
to "mgmt_io_oeb" on the left-hand side of caravan, as they were
connecting back to the right side and making a mess of wiring,
instead of being wired locally directly to the nearest I/O.

* Apply automatic changes to Manifest and README.rst

* Corrected the unconnected mgmt_io_in inputs to housekeeping on
the caravan chip (which correspond to the GPIOs that do not exist
in caravan) by connecting them to the "zero" outputs of the
closest GPIO control blocks.

* Apply automatic changes to Manifest and README.rst

Co-authored-by: RTimothyEdwards <RTimothyEdwards@users.noreply.github.com>
2022-10-21 14:28:53 -07:00
R. Timothy Edwards 5029d71df6
Syntax changes that are non-functional from a synthesis perspective. (#324)
* Syntax changes that are non-functional from a synthesis perspective.
There are a few errors that are caught by commercial tools and halt
synthesis, which are handled more gracefully by the open source
tool flow.  In housekeeping.v:  Some wires declared after they are
used.  In housekeeping_spi.v:  A non-blocking "=" assignment used
where a blocking "<-" assignment was intended.

* Apply automatic changes to Manifest and README.rst

Co-authored-by: RTimothyEdwards <RTimothyEdwards@users.noreply.github.com>
2022-10-21 10:10:20 -07:00
M0stafaRady 096f5035f5
cocotb - updates related to enable simulating caraval using iverilog (#320)
* cocotb - updates related to enable simulating caraval using iverilog

* Apply automatic changes to Manifest and README.rst

Co-authored-by: M0stafaRady <M0stafaRady@users.noreply.github.com>
2022-10-21 07:43:34 -07:00
Jeff DiCorpo 4192c34f4b
Caravan redesign (#321)
* Fixed caravan top level power routing and updated views for mag, gds and lef

* caravan(rtl): updates

~ typos fix
- remove unused pin in chip_io_alt
+ add caravan_power_routing verilog

* Apply automatic changes to Manifest and README.rst

* ~ update caravan openlane configs to add extra cell references
~ correct placment and cell names of some macro in caravan interactive script

* reharden: caravan

+ add non functional blocks
+ add an initial iteration of caravan

* Apply automatic changes to Manifest and README.rst

* Revert "Fixed caravan top level power routing and updated views for mag, gds and lef"

This reverts commit 70628f748a.

* fixed caravan top level power routing

* reharden: caravan

based on new power routing
~ guard rtl chip_io power pins in the power macro guard

* Apply automatic changes to Manifest and README.rst

* fixed caravan top level power routing

* rehadren: caravan

+ add caravan signal routing to openlane run
~ change rtl to guard power and analog against routing by
openlane by ifndef TOP_ROUTING
~ add pr bounadry for caravan signal routing to fix origin issues

* Apply automatic changes to Manifest and README.rst

* fix power connection in buffering block and regenerate gl

* Apply automatic changes to Manifest and README.rst

* updated views for caravan

* Added extract unique to lvs-gds-cell target. (#313)

* This fixes errors in the top level RTL of caravan that failed to
hook up the buffers through the SoC correctly.

* Apply automatic changes to Manifest and README.rst

* reharden: caravan

~ rtl updated

* fixed caravan mag top level

* updated views for caravan + signoff

* fixed top level cell name

* fix syntax error related to signal initialization place in caravan (#319)

* fix syntax error related to signal initialization place in caravan- fixed in caravel in another commit

* Apply automatic changes to Manifest and README.rst

Co-authored-by: M0stafaRady <M0stafaRady@users.noreply.github.com>

* Apply automatic changes to Manifest and README.rst

Co-authored-by: Marwan Abbas <marwaneltoukhy@aucegypt.edu>
Co-authored-by: kareem <kareem.farid@efabless.com>
Co-authored-by: kareefardi <kareefardi@users.noreply.github.com>
Co-authored-by: Mitch Bailey <d-m-bailey@users.noreply.github.com>
Co-authored-by: Tim Edwards <tim@opencircuitdesign.com>
Co-authored-by: RTimothyEdwards <RTimothyEdwards@users.noreply.github.com>
Co-authored-by: Marwan Abbas <67271180+marwaneltoukhy@users.noreply.github.com>
Co-authored-by: M0stafaRady <107422726+M0stafaRady@users.noreply.github.com>
Co-authored-by: M0stafaRady <M0stafaRady@users.noreply.github.com>
Co-authored-by: jeffdi <jeffdi@users.noreply.github.com>
2022-10-21 07:37:41 -07:00
M0stafaRady 98d089ed08 Move decleration of some signal in caravel.v to fix error in iverilog 2022-10-20 06:26:55 -07:00
Mohamed Shalan 3fbc52ecbf
Merge pull request #276 from efabless/caravel_redesign-digital_pll-fanout
reharden!: digital_pll
2022-10-17 20:50:01 +02:00
mo-hosni 2d147966b9 Update housekeeping views and openlane configuration 2022-10-17 11:37:24 -07:00
kareem e5d9788a43 reharden!: digital_pll
~ enable synth buffering to fix fanout
~ add *buf_1* to no synth list
~ add attribute (* keep *) to the oscillator as dont
touch for yosys

!need to verify that the oscillator remains untouched
2022-10-17 10:56:01 -07:00
Passant 9c3fea9a4d update caravel top-level rtl to not buffer `porb_h` through the `mgmt_core_wrapper` 2022-10-17 10:46:31 -07:00
kareem a8794dff4b reharden: caravel
~ reharden with updated pdn
~ add stubs for non functional blocks
2022-10-17 03:59:28 -07:00
marwaneltoukhy 2d28c973ee added views for caravel with power routing 2022-10-16 19:08:56 -07:00