forked from TinyTapeout/tt04-submission-template
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathinfo.yaml
75 lines (65 loc) · 4.78 KB
/
info.yaml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
---
# TinyTapeout project information
project:
wokwi_id: 0 # If using wokwi, set this to your project's ID
# If using an HDL, set wokwi_id as 0 and uncomment and list your source files here.
# Source files must be in ./src and you must list each source file separately
source_files:
- tt_um_experiment_number_six.v
- transforms.v
- transformer.v
top_module: "tt_um_phansel_laplace_lut" # Put the name of your top module here, must start with "tt_um_". Make it unique by including your github username
# How many tiles your design occupies? A single tile is about 167x108 uM.
tiles: "2x2" # Valid values: 1x1, 1x2, 2x2, 4x2 or 8x2
# Keep a track of the submission yaml
yaml_version: 4
# As everyone will have access to all designs, try to make it easy for someone new to your design to know what
# it does and how to operate it. This info will be automatically collected and used to make a datasheet for the chip.
#
# Here is a great example: https://github.com/davidsiaw/tt02-davidsiaw-stackcalc/blob/38c5647f83aad2aec675d566aa3d67b98f0aac81/info.yaml
documentation:
author: "Paul Hansel"
title: "Experiment Number Six: Laplace LUT"
language: "Verilog"
description: "ASCII ROM encoding the LaTeX characters needed to typeset the Laplace transforms of a few specialized functions."
# Longer description of how the project works. You can use standard markdown format.
how_it_works: "This project provides an ASCII encoding of the LaTeX code to typeset a few dozen Laplace transforms of common functions. When the user sets the lower ui_in pins to a number, asserts reset and then asserts ui_in 6 high, the project will begin clocking out the transform char-by-char, with uio_out showing F(s) = L{f(t)} and uo_out showing f(t) itself. If either one is shorter than the other for a particular transform, empty space characters are appended.\ It uses two different address spaces to do this: mem_addr, which maps each pair of concatenated ASCII characters (function, transformed function) from all transforms back-to-back as 16-bit values to a linear 10-bit address space, and pointer_addr, which maps the concatenated start address and length of each row (within mem_addr space) as 20-bit values to that row's line number in an 8-bit address space (with only 6 bits used).\ The read-only Verilog containing the actual ASCII data is generated by a python script that reads the LaTeX source directly. Verification is achieved in the same way."
# Instructions on how someone could test your project, include things like what buttons do what and how to set the clock if needed
how_to_test: "Program a number onto ui_in[5:0] between 0 and 43. Toggle reset_n (high/low/high), then toggle ui_in[6] high to start printing. Watch uo_out and uio_out for the resulting ASCII characters.\ The input address bus accepts a number (0-45) corresponding to an arbitrary Laplace tranform encoding; it must be set before asserting start. The active-high character output enable signal must be high to start or continue character output. The clock divider disable input must be high to run at full speed or low to run at 1 character per 5x10^7 clocks."
# A description of what the inputs do (e.g. red button, SPI CLK, SPI MOSI, etc).
inputs:
- "Address bit 0"
- "Address bit 1"
- "Address bit 2"
- "Address bit 3"
- "Address bit 4"
- "Address bit 5"
- "Character output enable"
- "Clock divider disable"
# A description of what the outputs do (e.g. status LED, SPI MISO, etc)
outputs:
- "RHS_BIT_0"
- "RHS_BIT_1"
- "RHS_BIT_2"
- "RHS_BIT_3"
- "RHS_BIT_4"
- "RHS_BIT_5"
- "RHS_BIT_6"
- "RHS_BIT_7"
# A description of what the bidirectional I/O pins do (e.g. I2C SDA, I2C SCL, etc)
bidirectional:
- "LHS_BIT_0"
- "LHS_BIT_1"
- "LHS_BIT_2"
- "LHS_BIT_3"
- "LHS_BIT_4"
- "LHS_BIT_5"
- "LHS_BIT_6"
- "LHS_BIT_7"
# The following fields are optional
tag: "memory, laplace, mathematics, LaTeX" # comma separated list of tags: test, encryption, experiment, clock, animation, utility, industrial, pwm, fpga, alu, microprocessor, risc, riscv, sensor, signal generator, fft, filter, music, bcd, sound, serial, timer, random number generator, calculator, decoder, counter, puzzle, multiplier, game, oscillator,
external_hw: "" # Describe any external hardware needed
discord: "paulhansel" # Your discord handle, used for communication and automatically assigning tapeout role after a submission
doc_link: "" # URL to longer form documentation, eg the README.md in your repository
clock_hz: 1 # Clock frequency in Hz (if required)
picture: "src/tex/tt04.jpg" # relative path to a picture in your repository (must be 512kb or less)