Skip to content

Instantly share code, notes, and snippets.

@sgherbst
sgherbst / pynq.md
Last active November 13, 2024 14:57
Hello World Pynq-Z1 on Ubuntu 18.04 using Vivado 2018.3

This tutorial is condensed from Digilent's excellent tutorial on the Vivado IP integrator and has been made specific to the PYNQ-Z1 board.

Prerequisites

Install Vivado and set it up for the PYNQ-Z1 board. Instructions are here.

Creating a Vivado Project

  1. Launch Vivado GUI (with command-line options to suppress annoying output)
@sgherbst
sgherbst / vivado_install.md
Last active May 8, 2019 21:35
Installing Vivado 2018.3 on FarmShare for Ultra96 boards
@sgherbst
sgherbst / notes.md
Created March 11, 2019 13:32
Installing Verilator on Windows 10 using a fresh MSYS2 install
  1. Download and install MSYS2: https://sourceforge.net/projects/msys2/
  2. Open MSYS2 shell and run pacman -Syu
  3. After some time you will be prompted to close the MSYS2 shell by clicking the "X" button, which you should do :-)
  4. Relaunch MSYS2 shell and run pacman -Su
  5. Install the required packages for Verilator:
> pacman -S git make autoconf gcc flex bison man perl
  1. Clone the Verilator source and build the latest stable release:
@sgherbst
sgherbst / a.out
Created November 6, 2017 20:32
vvp realtime output issue
#! /usr/local/bin/vvp
:ivl_version "11.0 (devel)" "(s20150603-460-ga4274400)";
:ivl_delay_selection "TYPICAL";
:vpi_time_precision + 0;
:vpi_module "system";
:vpi_module "vhdl_sys";
:vpi_module "vhdl_textio";
:vpi_module "v2005_math";
:vpi_module "va_math";
S_0x7fcc57500840 .scope module, "test" "test" 2 1;
@sgherbst
sgherbst / test2.py
Created November 6, 2017 20:30
vvp realtime output issue
import subprocess
with subprocess.Popen(['unbuffer', './a.out'], stdout=subprocess.PIPE) as p:
for line in p.stdout:
print(line.decode(), end='')
@sgherbst
sgherbst / test.py
Created November 6, 2017 20:19
vvp realtime output issue
import subprocess
with subprocess.Popen('./a.out', stdout=subprocess.PIPE) as p:
for line in p.stdout:
print(line.decode(), end='')
@sgherbst
sgherbst / test.v
Last active November 6, 2017 20:25
vvp realtime output issue
module test;
integer i;
initial begin
$display("hello");
for (i=0; i<100000000; i=i+1) begin
#1;
end
$display("goodbye");
$finish;
end