Skip to content
/ cadr4 Public

CADR4 -- accurate model of the MIT CADR

License

Notifications You must be signed in to change notification settings

ams/cadr4

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

cadr4

Experiments of the third kind... This is an attempt at making a faithful and accurate HDL implementation of CADR. There will be no attempt at making this synthesizable!

Random chit-chat

There is a IRC channel on irc.libera.net, ##lispm for random chit-chat. Feel free to send bugs directly to [email protected].

Setup

Prerequisites:

  • Fossil

  • Git

  • GNU Make

  • GHDL

    Ideally using the GCC or LLVM code generator, since at some point there will be a simulatd UART to talk to the core.

  • GTKWave, vcd or some other VCD viewer.

cd ~/
fossil open https://tumbleweed.nu/r/hdlmake.mk
git clone https://github.com/ams/cadr4
cd cadr4
make help

If writing or testing CADR microcode, then it is useful to have usim configured to be able to run CADRLP or the CADR Console debugger (CC).

Organization

  • ttl (package): contains all the ICs that are used by the CADR.

    • sn74: 74xx logic.

    • other: other ICs that do not fall into above categories.

    • unsorted: contains skeletons directly translated from the schematics; these are to be deleted / merged at some point.

  • cadr4 (package):

    • cpu.vhd: contains a exact transliteration of the original CADR schematics

    • cadr4_tb.vhd: with a testbench that is capable of exercising the CADR.

New documentation should be written in Markdown. At some point this should be migrated back into the Lisp Machine Manual or other suitable places.