Overview
Describes the asynchronous digital logic of a serial router's transmitter and receiver.
Dependencies
The logic has been coded up in the Asynchronous Compiler Tools (ACT) language. The following tools, mentioned here and here work with ACT:
cflat
flattens ACT code into a set of production rules and net name definitionsprsim
performas a discrete event simulation of the production rules generated bycflat
netgen
generates a SPICE netlist from an ACT file
Run
To set up environment variables, run the following: For bash:
source setup.bash
For tcsh or csh:
source setup.csh
Afterwards, you should be able to simply run make
to descend into the source tree and compile
and run the suite of tests.
Repository structure
.
├── aer // directory containing overall design
│ ├── layout // files that generate the layout
│ ├── spice // files for spice simulations
│ ├── test // files for prsim testing
│ └── test_brainstorm // for prsim testing of design in context of brainstorm
├── aerv // directory for receiver design
│ ├── benchmark
│ ├── layout
│ ├── spice
│ ├── test
│ └── test_brainstorm
├── aext // directory for transmitter design
│ ├── benchmark
│ ├── layout
│ ├── spice
│ ├── test
│ └── test_brainstorm
├── doc // design documentation
├── interface // interface designs
│ ├── layout
│ ├── spice
│ ├── test
│ └── test_brainstorm
├── lib // commonly used components
│ ├── layout
│ ├── spice
│ └── test
├── mem // neuron config memory design
├── scripts // utility scripts
├── serial // basic serial components
│ ├── benchmark
│ └── test
└── spice // spice simulations of basic elements