Uri Shaked
47644b5d71
fix(configure): port detection breaks because of VPWR/VGND
...
also, doc generation is broken
2023-12-21 00:08:16 +02:00
Uri Shaked
3b25920db0
feat: reject modules with extra ports
...
also verify port directions
2023-11-26 00:12:12 +02:00
Uri Shaked
c3389a1e87
feat: 6x2 tile size support
2023-11-23 21:28:17 +02:00
Uri Shaked
7be3d03064
feat(docs): support new info.yaml/info.md format
2023-11-21 20:41:20 +02:00
Uri Shaked
ed28c2f373
feat(precheck): improve error reporting
2023-11-21 01:30:32 +02:00
Uri Shaked
2c969114d1
feat(tt_tool): add --print-top-module argument
2023-11-21 00:25:49 +02:00
Uri Shaked
6e13c146fc
feat: initial support for new info.yaml format
...
1. wokwi_id is now optional
2. remove the "picture" property (it's going away)
2023-11-20 20:18:44 +02:00
Uri Shaked
a97371e83a
feat(precheck): make top module name optional
...
if not given, just assume the top module name is the same at the base name of the given GDS file
2023-11-20 17:06:36 +02:00
Uri Shaked
192baef100
refactor(precheck): add missing types
2023-11-20 15:13:59 +02:00
Uri Shaked
2df21d6e92
feat: precheck ( #30 )
...
perform DRC checks on GDS files submitted to Tiny Tapeout
2023-11-20 15:02:41 +02:00
Uri Shaked
6702774d07
feat(rom): update config for latest OpenLane 2
...
DIE_AREA should be a list of numbers and not a string
2023-11-20 14:57:41 +02:00
Uri Shaked
d551a4cf5a
fix(rom): fails if shuttle_id longer than 4 chars
2023-11-20 14:57:41 +02:00
Uri Shaked
17f91aeca2
feat(rom): add "o" and "f" to the segment font
2023-11-20 14:57:41 +02:00
Uri Shaked
cbda91be2b
feat: preliminary openframe support
2023-11-20 14:57:41 +02:00
Uri Shaked
359dabc326
feat(docs): add chip map
2023-11-11 12:35:14 +02:00
Uri Shaked
a31ae37296
feat(docs): update for tt05 (WiP)
2023-11-09 17:00:59 +02:00
Uri Shaked
98e7cb27ac
fix: broken tt_tool
...
"power_gated" support broke tt_tool
2023-10-27 20:37:15 +03:00
Uri Shaked
89cd2e77e5
fix: "power_switch" is null in shuttle_index.json
2023-10-27 19:54:54 +03:00
Uri Shaked
765ae2df56
feat: support for "power_gated" property in commit_id.json
2023-10-27 19:44:47 +03:00
Uri Shaked
1822432015
feat(reharden): skip ROM and power gated projects
2023-10-26 22:40:08 +03:00
Uri Shaked
c3c940d202
fix(reharden): --clone should also update existing repos
2023-10-26 08:22:35 +03:00
Uri Shaked
7ffd198c55
feat: power gating + split spline mux support
...
1. Read mux indices from modules_placed.yaml instead of manually calculating them
2. Add "power_switch" and "analog" fields to shuttle_index.json
3. Copy the power gate macros (tt_pg_vdd_1, tt_pg_vdd_2) into to tt_top directory
2023-10-21 16:04:52 +03:00
Uri Shaked
e6940f63b4
docs(PINOUT): fix broken link
2023-10-20 10:58:07 +03:00
Uri Shaked
a221244401
feat: reharden script
2023-10-19 19:57:00 +03:00
Uri Shaked
1c969fe0f3
feat(docs): update README template
...
1. Include current shuttle name (instead of hard coded "Tiny Tapeout 03p5")
2. Include the git repo URL / commit hash
2023-10-17 10:00:30 +03:00
Uri Shaked
300a179400
fix: fails when project is missing synthesis-stats.txt
2023-10-13 12:03:57 +03:00
Uri Shaked
562ebd4f93
feat: update user module def files
...
to support tt-multiplexer with power gating. built from tt-multiplexer commit dfbcff452131ea42631f9e358687c22776daffdc
2023-10-12 22:37:09 +03:00
Uri Shaked
82720e4b84
feat: support for skipping designs
...
by specifying ` "skip": true ` in commit_id.json
2023-10-12 22:34:13 +03:00
Uri Shaked
e807454c33
fix: copy powered netlist when building tt_top
...
the new power gated tt-multiplexer requires powered netlist for the included macros.
2023-10-12 19:08:48 +03:00
Uri Shaked
462004f9e0
feat: generate gl includes for user projects
...
This enables running GL tests on the final GL netlist of the actual chip
2023-10-01 23:27:36 +03:00
Uri Shaked
5925525982
fix(datasheet): fails when "bidirectional" is empty
...
e.g.
```yaml
documentation:
...
# A description of what the inputs do (e.g. red button, SPI CLK, SPI MOSI, etc).
inputs:
- sclrn
- ser
- rck
- srck
- G
# A description of what the outputs do (e.g. status LED, SPI MISO, etc)
outputs:
- q[0]
- q[1]
- q[2]
- q[3]
- q[4]
- q[5]
- q[6]
- q[7]
# A description of what the bidirectional I/O pins do (e.g. I2C SDA, I2C SCL, etc)
bidirectional:
```
2023-09-30 07:58:45 +03:00
Uri Shaked
2387160df7
ci: lint job name
2023-09-21 22:31:37 +03:00
Uri Shaked
aa8f760375
style: fix lint errors + reformat source with black
2023-09-21 22:30:52 +03:00
Uri Shaked
7d48aab542
ci: add link-check action
2023-09-21 22:25:05 +03:00
Uri Shaked
5725713cbd
chore: set up flake8, isort and black with pre-commit
2023-09-21 22:21:59 +03:00
Uri Shaked
3f8a47659c
fix: path to openlane2 yosys synth log
2023-09-21 08:17:15 +03:00
Uri Shaked
77fcb0c98f
ci: fix broken mypy action
...
install required type packages
2023-09-19 20:55:52 +03:00
Uri Shaked
da14cd0502
ci: github action to check python types
2023-09-19 20:44:43 +03:00
Uri Shaked
ff0eea8794
refactor: add more types
2023-09-19 20:42:47 +03:00
Uri Shaked
3b469b9488
refactor: add types to project.py
2023-09-19 19:52:47 +03:00
Uri Shaked
8df6312688
refactor: add types to git_utils
2023-09-19 19:07:34 +03:00
Uri Shaked
e981222768
feat: add commit_date field to shuttle_index.json
...
The commit date provides an easy method to compare two shuttle_index.json files and detect which of the files relates to a newer commit. This enables us to prevent a situation where an earlier shuttle_index overrides a later one.
2023-09-14 15:13:59 +03:00
Uri Shaked
000002721f
docs: add qfn-64 pinout
2023-09-14 13:39:32 +03:00
Uri Shaked
b03ea5ab2e
feat: 3x2 tile size support
2023-09-13 13:58:21 +03:00
Uri Shaked
23da39ba14
feat: include chip ROM when running in verification mode (--test)
2023-09-11 15:35:24 +03:00
Uri Shaked
b02cc19e78
fix: shuttle config fails as tt_um_chip_rom verilog is missing
...
The Chip ROM is now auto generated, so the GL verilog only exists after we configure the shuttle
2023-09-10 20:23:48 +03:00
Uri Shaked
cadbfbcd25
feat: Chip ROM auto generation with OpenLane 2
...
So we can generate the ROM while building the shuttle's GDS
2023-09-10 20:17:58 +03:00
Uri Shaked
5e863fc333
fix: final GDS file name no longer includes ".magic"
...
The final GDS file name has changed in recent OpenLane2 and is now {module}.gds instead of {module}.magic.gds.
2023-09-10 12:56:17 +03:00
Uri Shaked
acb6b6b4c3
refactor: caravel.py -> shuttle.py
2023-09-09 21:45:01 +03:00
Uri Shaked
cc1b5806b2
fix: correct project gl path when running configure.py
2023-09-09 21:39:08 +03:00
Uri Shaked
340b747e4a
Merge pull request #26 from htfab/tt04
...
Allow svg and pdf images in the datasheet
2023-09-09 20:37:58 +03:00
Uri Shaked
1da6923f8c
fix: wrong extension for .lef file in efabless submission artifact
2023-09-08 23:59:38 +03:00
Uri Shaked
e7ea59f4d0
feat(datasheet): roses are red, links are blue
...
add color to links so they stand out
2023-09-07 21:36:46 +03:00
Uri Shaked
010cebe7d6
fix(datasheet): remove outdated STA / Verification sections
2023-09-07 20:53:56 +03:00
Uri Shaked
af58bde8be
fix: missing commit_id.json in openlane2 projects
2023-09-06 19:36:15 +03:00
Uri Shaked
fd29f74a1a
feat: initial support for openlane2 user projects
2023-09-06 18:04:02 +03:00
Uri Shaked
da5f3cb1f8
fix(datasheet): broken links to git / extra docs
2023-09-06 10:02:13 +03:00
Uri Shaked
09c57b7938
fix(datasheet): blackslash characters still break the datasheet
...
applied a bruteforce workaround (replace every backslash with `\mbox{\\textbackslash}`) so we can still get the datasheet generated
2023-09-06 10:02:08 +03:00
Uri Shaked
3f55bd709a
feat: copy spef / gl netlists of tt_ctrl/tt_mux
2023-09-05 12:23:37 +03:00
Uri Shaked
ae0f2483ba
fix(datasheet): backslash characters in project description break the datasheet
...
e.g. the "description" field of the following info.yaml would break the datasheet generation:
```yaml
documentation:
author: "Sarthak Raheja and Bittu N" # Your name
title: "Simple Piano" # Project title
language: "Verilog" # other examples include Verilog, Amaranth, VHDL, etc
# Short description of what your project does
description: |
The input clock is divided into a series of frequencies to mimic a piano having only 12 keys of one octave. User can choose from a choice of 3-5 octaves. Additionally, few pre-defined tunes have been included using RTTTL logic\n
```
2023-09-05 10:13:21 +03:00
Uri Shaked
dac3f4a0a4
fix: disable ROM vmem file generation
...
it breaks the tiny tapeout staging repo, and we don't use the ROM vmem file yet anyway (the ROM content is hardened as part of the tt-chip-rom repo)
2023-08-06 18:05:39 +03:00
Uri Shaked
64d21511b0
Merge pull request #24 from marnovandermaas/fix_documentation_margin
...
Increase the bottom margin to show page number
2023-08-01 18:21:20 +03:00
Uri Shaked
24c15519e8
fix(datasheet): broken user module pictures / diagrams
...
close #22
2023-07-31 09:02:16 +03:00
Uri Shaked
1aa125fdd5
fix(datasheet): broken images, replace scanchain info with mux
...
- fix some of the broken images
- render the mux's info doc in place of the scanchain doc
2023-07-30 23:09:31 +03:00
Uri Shaked
7842384b6a
fix(datasheet): markdown headings break the datasheet
...
close #23
2023-07-30 22:21:00 +03:00
Uri Shaked
6034820170
fix(datasheet): use shuttle name from config
...
also, dynamically figure out the repo URL (instead of using an hardcoded value)
2023-07-30 09:40:16 +03:00
Uri Shaked
e56503e9c3
docs: remove outdated hardening doc
2023-07-29 23:00:51 +03:00
Uri Shaked
769cc65983
feat(datasheet): include mux addresses
2023-07-29 22:48:53 +03:00
Uri Shaked
c83c2cd3c7
feat(datasheet): add bidrectional pins
...
close #11
2023-07-29 22:28:15 +03:00
Uri Shaked
ab9897699f
feat: sort projects by sort_id in commit_id.json
...
Sorting helps preventing projects shifting around as the shuttle fills up. "sort_id" is provided by the tt-app.
2023-07-24 22:12:18 +03:00
Uri Shaked
016ed6e8c1
fix: multi tile projects not placed correctly
2023-07-22 22:51:54 +03:00
Uri Shaked
849e644627
fix: wrong shuttle_index.json format
...
Each user project info object was wrapped with an extra array. Also added "tiles" property for each user project.
2023-07-22 22:38:46 +03:00
Uri Shaked
26785bea0e
feat: support submissions from app.tinytapeout.com ( #21 )
...
* feat: copy_macros and copy_final_results commands
* feat: generate shuttle index JSON
includes information about all projects:
- repo
- commit
- mux index
- mux position (X/Y)
* feat: add --create-efabless-submission option
2023-07-21 15:52:04 +03:00
Uri Shaked
bb58ee1fae
fix(rom): remove a debug print
2023-07-20 09:34:49 +03:00
Uri Shaked
56dd62478b
refactor: rename commit-id.json to commit_id.json
...
better match existing file name conventions
2023-07-19 20:31:52 +03:00
Uri Shaked
b920aef0e2
feat: update user module def files
...
increase single tile dimensions, reduce spacing between tiles.
2023-07-19 14:10:57 +03:00
Uri Shaked
3a6a7d3a2c
feat(rom): inital ROM data writer code
2023-07-13 17:54:11 +03:00
Uri Shaked
a84161582e
fix: create_user_config fails for wokwi projects
...
close #20
2023-06-27 16:41:04 +03:00
Uri Shaked
887e208b86
cleanup: remove tt03 config.yaml
2023-06-25 22:06:27 +03:00
Uri Shaked
df6b703380
feat: store user project commit hash next to the GDS files
...
close #19
2023-06-25 21:37:12 +03:00
Uri Shaked
6fb355fc59
refactor: migrate from yosys to yowasp-yosys
...
yowasp-yosys can be installed from pip, so we no longer require the user to install yosys separately.
also freeze requirements.txt versions for reproducible builds
2023-06-25 20:49:36 +03:00
Uri Shaked
0d6fa67ae5
feat: check for missing ports on user module
...
also improve error messages for user module checks
2023-06-25 20:47:42 +03:00
Uri Shaked
25488cf0df
fix: remove openlane1 config generator
...
it's no longer needed for OpenLane2
2023-06-17 23:07:39 +03:00
Uri Shaked
8549004599
fix: remove stray debug print
2023-06-15 23:03:26 +03:00
Uri Shaked
7b6d93c086
feat: support for openlane2 mux verification
2023-06-03 14:58:17 +03:00
Uri Shaked
c42a11023f
fix: missing pdn macro hook for SRAM macro
2023-06-02 23:48:45 +03:00
Uri Shaked
ceb3a796bc
Merge pull request #17 from dlmiles/dlm-gh_token
...
git_utils.py: headers_try_to_add_authorization_from_environment(headers: dict)
2023-06-02 16:36:52 +03:00
Uri Shaked
63645d47c9
feat: sram support
2023-06-01 21:26:06 +03:00
Uri Shaked
7be8332134
feat: initial support for openlane 2 mux
2023-05-30 23:29:22 +03:00
Uri Shaked
9656aead78
fix: remove tt_um_test from default caravel config
...
it'll be added by configure.py as needed
2023-05-29 22:15:09 +03:00
Uri Shaked
1f8961c859
docs: update tt version in README
2023-05-27 19:30:52 +03:00
Uri Shaked
96362ae28e
feat: validate that top module name starts with "tt_um"
2023-05-27 17:35:54 +03:00
Uri Shaked
a4137038c4
cleanup: remove old scanchain related code
2023-05-27 17:31:18 +03:00
Uri Shaked
072140ac0b
fix: hardening wokwi modules fail
...
rename `user_module_<wokwi_id>` to `tt_um_<wokwi_id>`
2023-05-26 21:55:28 +03:00
Uri Shaked
9298cac154
Update submission tools for mux
...
1. don't generate user_project_wrapper.v, as it's now static
2. don't generate macros.cfg, as gen_macro_cfg.py does it (eventually, we'll want to integrate it into tt-support-tools)
3. don't generate PDN hooks config. Instead, we're using a wildcard to match all user macros.
4. remove the "layout" section from config.yaml, and scanchain related stuff from generate config.json
2023-05-25 20:59:15 +03:00
Uri Shaked
fc3279a64d
tiles support in --create-user-config
2023-05-25 20:59:12 +03:00
Uri Shaked
59358055c3
feat: def files for multiplexer user modules
2023-05-25 20:40:07 +03:00
Uri Shaked
c6239b038b
add --print-wokwi-id flag for use in testbench
2023-03-02 18:49:30 +02:00