Skip to content

Instantly share code, notes, and snippets.

View edcote's full-sized avatar
🎯
Googler

Edmond Cote edcote

🎯
Googler
View GitHub Profile
@edcote
edcote / riscvtests.md
Created April 9, 2018 16:48
RISC-V Tests

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 April 9, 2018 16:48
Lattice IPexpress

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 April 9, 2018 16:49
Vim Tips

Helpful shortcuts

  • Format the current line: gq
  • Go file: gf
@edcote
edcote / synplify.md
Created April 9, 2018 15:25
Synplify

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 July 17, 2018 19:23
Apache Spark
@edcote
edcote / zeppelin.md
Last active June 29, 2018 17:01
Apache Zeppelin

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]

@edcote
edcote / firewall.md
Last active December 3, 2018 00:37
Firewall

Firewall setup

Ubuntu

Official wiki has excellent documentation.

Example commands:

sudo ufw allow ssh/tcp
@edcote
edcote / jenkins_docker.md
Last active October 3, 2018 03:23
Jenkins and Docker

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 March 20, 2018 18:54
.lib, .lef, and .def
  • 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 April 29, 2018 19:33
HVT, SVT and LVT, channel length, etc.

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: