Uri Shaked
316141d73a
fix(ci): mypy check fails
...
upgrade python from 3.9 to 3.11
2024-03-19 11:47:36 +02:00
Uri Shaked
ef5539b7a0
feat: new format for shuttle_index
...
1. Bump "version" to 3
2. Rename "shuttle" to "name"
2. Rename "mux" to "projects", and turn it from a dict into a list
3. Project entries: add "address" (which was previously the key of the "mux" dict), remove "features" and add optional "analog_pins" with a list of analog pin assignment.
2024-03-18 01:16:22 +02:00
Uri Shaked
b1a2a3bb98
feat(configure): initial support for analog module placement
2024-03-16 23:26:56 +02:00
Uri Shaked
8cd1ef73cb
ci: upgrade volare action
2024-03-16 23:17:47 +02:00
Uri Shaked
51bb1d0bf5
fix: don't generate pg_vdd property in tt-multiplexer's modules.yaml
...
All user macros are now power gated by default
2024-03-13 23:03:07 +02:00
Uri Shaked
12c79b065c
fix(tt_tool): broken PNG render for openlane projects
2024-03-01 15:43:45 +02:00
Uri Shaked
49b8e8724c
feat(tt_tool): support for specifying custom GDS file for PNG render
...
tinytapeout/tt-gds-action#12
2024-02-29 22:38:35 +02:00
Uri Shaked
f6fae279c1
fix: projects that manually instantiate standard cells fail
...
remove an assestion that causes these projects to fail
fix #31
2024-02-21 15:31:28 +02:00
Uri Shaked
e8c5040dc5
fix(tt_tool): fails on non-analog projects
2024-02-01 13:06:19 +02:00
Uri Shaked
7126553f3c
feat: analog project support
...
handle ua[7:0] pins in analog modules
2024-01-30 21:43:04 +02:00
Uri Shaked
65a2a24087
feat: tt_block def file for analog projects
...
They add eight analog pins (`ua[7:0]`) in addition to the standard Tiny Tapeout digital pins.
2024-01-30 17:28:10 +02:00
Uri Shaked
ad9184ec8a
chore: remove start_date from config.yaml
...
we don't use it
2024-01-29 10:41:05 +02:00
Uri Shaked
67529a8120
feat(tt_tool): require that clock_hz be an integer
2024-01-23 14:49:41 +02:00
Uri Shaked
87bc6c0738
fix(configure): running with --update-shuttle fails
...
We're looking for the RTL source file instead of the GL files
2024-01-23 14:23:58 +02:00
Uri Shaked
66e1fc3ff0
feat: update tt_block def files for tt06
...
The tile sizes have slightly changed as we plan using the openframe caravel variant, as well as power gating all the projects on the shuttle.
2023-12-31 23:58:59 +02:00
Uri Shaked
9d802fbe8c
fix(tt_tool): fails on Wokwi projects
2023-12-26 15:06:28 +02:00
Uri Shaked
b45db8f5e1
fix(docs): limit_markdown_headings fails
2023-12-24 00:26:33 +02:00
Uri Shaked
1a154feba2
fix(tt_tool): fails to load info.yaml
...
also --check-docs fails
2023-12-23 22:42:47 +02:00
Uri Shaked
45633298e8
fix(docs): update code to support new info.yaml format
2023-12-23 22:37:55 +02:00
Uri Shaked
c2c0d8ffbd
refactor: add more types
...
include types for the new info.yaml
2023-12-23 21:27:22 +02:00
Uri Shaked
0ea5cec65d
feat(docs): rename generated markdown index to shuttle_index.md
2023-12-23 13:04:18 +02:00
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