Skip to content

Instantly share code, notes, and snippets.

Avatar
🎯
Googler

Edmond Cote edcote

🎯
Googler
View GitHub Profile
View riscvtests.md

Test Virtual Machines (TVMs)

`rv32ui` | RV32 user-level, integer only
`rv32si` | RV32 supervisor-level, integer only
`rv64ui` | RV64 user-level, integer only
`rv64uf` | RV64 user-level, integer and floating-point
`rv64uv` | RV64 user-level, integer, floating-point, and vector
`rv64si` | RV64 supervisor-level, integer only
`rv64sv` | RV64 supervisor-level, integer and vector
@edcote
edcote / IPexpress.md
Last active Apr 9, 2018
Lattice IPexpress
View IPexpress.md

DDR3 SDRAM Controller

  1. Click IP server, wait until list of IP modules load
  2. Select version 3.1, right click install, install under /mnt/raid/ip/ecp3/
  3. Configure and select project path as src/main/resources/ecp3, file name = ip_ddr3_sdram, device = LFE3-35EA-8FN484C

DRAM part numbering guide

Datasheet

@edcote
edcote / vim.md
Last active Apr 9, 2018
Vim Tips
View vim.md

Helpful shortcuts

  • Format the current line: gq
  • Go file: gf
View synplify.md

Timing constraints

Synplify users are recommended to use FDC format constraint files. I have found the TCL View and constraint syntax checker in constraint editor GUI to be helpful.

# clocks
create_clock -name {clk_20} [get_ports {clock}] -period 20
# inputs/output delays
set_input_delay  -clock {c:clk_20} -add_delay [expr {20*0.01}] [all_inputs]
set_output_delay -clock {c:clk_20} -add_delay [expr {20*0.01}] [all_outputs]
@edcote
edcote / spark.md
Last active Jul 17, 2018
Apache Spark
View spark.md
@edcote
edcote / zeppelin.md
Last active Jun 29, 2018
Apache Zeppelin
View zeppelin.md

Installation

Download tool from here. Unzip, then launch: bin/zeppelin-daemon.sh start

Then, browse to http://localhost:9009/#/

Here is an example Systemd service file:

$ cat /etc/systemd/system/zeppelin.service 
[Unit]
View firewall.md

Firewall setup

Ubuntu

Official wiki has excellent documentation.

Example commands:

sudo ufw allow ssh/tcp
@edcote
edcote / jenkins_docker.md
Last active Oct 3, 2018
Jenkins and Docker
View jenkins_docker.md

Goal

  • To deploy riscv-ci on docker, with preserved data.

    mkdir -p docker/riscv-ci cd docker/riscv-ci

Docker and Jenkins setup

  • Create an image on top of the Jenkins image with log, cache directories and java opts
@edcote
edcote / liblefdef.md
Created Mar 20, 2018
.lib, .lef, and .def
View liblefdef.md
  • Liberty (LIB) defines PVT, timing, power, noise, and other characteristics of cell library
  • Liberty Exchange Foramt (LEF) includes design rules and abstract information about cells
  • Design Exchange Format (DEF) represents the netlist and circuit layout
@edcote
edcote / whichcelllib.md
Last active Apr 29, 2018
HVT, SVT and LVT, channel length, etc.
View whichcelllib.md

High-Vt, Low-Vt, Standard-Vt. Used to implement multi-threshold low power techniques. info

  • HVT: less power, worse timing, used for power critical functions.
  • LVT: more power, better timing, used in timing critical functions
  • SVT: offers tradeoff between LVT and HVT

Subthreshold condution is one component of leakage. The amount of subthreshold conduction is set by the threshold voltgage, which sits between ground and the supply voltage.

From Multi-channel length:

You can’t perform that action at this time.