Skip to content

Instantly share code, notes, and snippets.

🎯
Googler

Edmond Cote edcote

🎯
Googler
View GitHub Profile
@edcote
edcote / ft232h.md
Last active Dec 23, 2019
Adafruit FT232H Breakout Notes
View ft232h.md

I purchased Adafruit FT232H Breakout - General Purpose USB to GPIO+SPI+I2C from Amazon

Preliminaries

  • First, check if device is detected
$ lsusb
Bus 003 Device 018: ID 0403:6014 Future Technology Devices International, Ltd FT232H Single HS USB-UART/FIFO IC
View firrtl.md

FIRRTL

Summary

Link to FIRRTL specification here

All FIRRTL circuits consist of a list of modules. Each module as a name, list of ports, and statements.

Types are used to specify the structure of data. Here are examples:

@edcote
edcote / haskell.md
Last active Jul 9, 2019
Haskell Notes
View haskell.md

Haskell Notes

Installation

# install Haskell compiler
sudo apt install -y ghc
# manual instally to /usr/local/bin
curl -sSL https://get.haskellstack.org/ | sh
@edcote
edcote / oreilly_hands_on_ml.md
Last active Dec 18, 2018
Hands-On Machine Learning with Scikit & Tensor Flow Book Notes
View oreilly_hands_on_ml.md

Link to book: https://www.amazon.com/Hands-Machine-Learning-Scikit-Learn-TensorFlow/dp/1491962291

Chapter 1

ML is the field of study that gives computers the ability to learn without being explicitly programmed.

A spam filter based on ML techniques automatically learns which words and phrases are god predictors of spam by blocking unusually frequent pattern of words.

A second example where ML shines is for problems that are either too complex or have no known algorithm; speech recognition, for example.

View firewall.md

Firewall setup

Ubuntu

Official wiki has excellent documentation.

Example commands:

sudo ufw allow ssh/tcp
@edcote
edcote / llvm.md
Last active Nov 9, 2018
LLVM development notes
View llvm.md
@edcote
edcote / atom.md
Last active Nov 1, 2018
Atom editor
View atom.md
View gerrit.md
@edcote
edcote / riscvsw.md
Last active Oct 4, 2018
RISC-V System Software
View riscvsw.md

RISC-V System Software

Ignore the instructions to build GCC/Newlib toolchain. Consult this Linux/RISC-V installation manual instead.

Setup environment variables

module load riscv-tools/local

# old
export RISCV_SW=$CAD_ROOT/riscv-sw
View riscv_debug_spec.md

Chapter 2

Each hart in the platform is controlled by exactly one DM? But, usually all harts in a single core are controlled by the same DM.

Abstract commands provide access to GPRs. Addt. registers are accessible through abstract commands or by writing to the optional program buffer.

The program buffer allows the debugger to execute arbitrary instructions on a hart. A bus access block allows memory access without using a RISC-V hart to perform the access.

Chapter 3

You can’t perform that action at this time.