Commit Graph

22 Commits

Author SHA1 Message Date
Tim Edwards 078aabbfeb Corrected the set_user_id.py script. 2022-04-12 15:48:14 -04: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
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
Tim Edwards 2f6fe69b36 Corrected the gen_gpio_defaults.py script so that it behaves
correctly no matter how the "gpio_defaults_block.mag" and
"gl/gpio_defaults_block.v" are defined.  Previously it assumed
that they both defined all bits as zero, which was not the case
for the layout.  Now both define bit value 0x0402 and the script
can flip bits either direction as needed in both verilog and
layout
2021-12-29 15:42:41 -05:00
Tim Edwards 3246e64407 Correction to the gen_gpio_defaults.py file, which was accidentally
overwriting the top-level gate-level verilog netlist with the
modified layout file contents.
2021-12-04 12:41:06 -05:00
Tim Edwards 024801ab56 Extended the gen_gpio_defaults.py script to handle modifying the
verilog gate-level netlists to match the correct GPIO default
value assignments, and modify the top level gate-level caravel.v
and caravan.v netlists to match.
2021-12-02 16:04:51 -05:00
Tim Edwards 6482c1e011 Corrected the set_user_id.py script to (1) reverse the position of
characters in the user_id_textblock layout, which was backwards,
and (2) add a path reference to "hexdigits" for each new character
layout encountered in the file, so that the text block layouts
are found even if "addpath hexdigits" has not been specified.
There were some other corrections to handling gzipped files that
probably does not apply in practice, where "make uncompress" has
been run prior to the set_user_id.py script.
2021-12-02 09:35:13 -05:00
jeffdi 73343aed18 correcting magicrc file and pdkpath issues 2021-12-01 21:59:03 -08:00
jeffdi aa64579d63 fix pdkpath in generate_fill.py and compositor.py 2021-12-01 21:45:48 -08:00
jeffdi 547709b619 fix rcfile reference in generate_fill.py and compositor.py 2021-12-01 21:05:46 -08:00
jeffdi 0a09f3b5ac added missing scripts 2021-12-01 11:03:45 -08:00
jeffdi 91b94ad919 test gen_gpio_defaults.py 2021-11-26 15:32:13 -08:00
jeffdi fd81e0814b test gen_gpio_defaults.py 2021-11-26 15:28:03 -08:00
jeffdi b3320b7500 test gen_gpio_defaults.py 2021-11-26 14:04:00 -08:00
jeffdi 2ce03a196c test gen_gpio_defaults.py 2021-11-26 14:03:03 -08:00
jeffdi 2bd7c40946 test gen_gpio_defaults.py 2021-11-26 14:01:12 -08:00
jeffdi f996157088 test gen_gpio_defaults.py 2021-11-26 13:57:18 -08:00
Tim Edwards b0d3217280 Replaced the gpio_defaults_block_0000.mag layout with gpio_defaults_block.mag
so that it contains a valid layout after processing by Openlane (since the
verilog module is named gpio_defaults_block).  Corrected the orientation of
the defaults block layouts on the right side of Caravel and erased the
incorrect routing there.  Reinstated the copyright, user ID text, open source
logo, and Caravel logo.  Revised the gen_gpio_defaults.py script to handle
the first five GPIOs in the same way as the others, although as fixed entries
which cannot be modified by the user project designer.
2021-11-20 13:43:49 -05:00
Tim Edwards f18a219be4 Modified the set_user_id script so that if it happens to be run on
a repository where the user_id_programming GDS has been compressed,
it will handle it correctly.
2021-11-15 16:41:04 -05:00
Tim Edwards 4a27ea4c6b Finished first draft of the gen_gpio_defaults.py script, which now
makes backup copies of caravel and caravan layouts and replaces the
cell name of any gpio defaults block that is changed from the
contents of user_defines.v.  NOTE:  user_defines.v ultimately must
reside in the user project.  The Makefile should copy the user's
version into the caravel directory space before running the script,
or else the script should be rewritten to reference the user's
project area when reading user_defines.v.
2021-11-07 21:51:00 -05:00
Tim Edwards 6a93ea582d Added a script which parses the file "user_defines.v" in
verilog/rtl/, and creates all the layout files needed to represent
all unique combinations of defaults used in the file.  Not done:
Modifying the top level layout to use the correct defaults (because
the top level layout does not yet exist).
2021-11-06 21:19:42 -04:00
Tim Edwards a67cbcb01c Added back a couple more files related to the user ID programming block. 2021-10-26 10:40:55 -04:00