Skip to content

Instantly share code, notes, and snippets.

@esynr3z
esynr3z / install_modelsim.sh
Last active June 30, 2023 03:40
Install Modelsim 20.1.0 on Ubuntu 20.04
sudo dpkg --add-architecture i386
sudo apt update
sudo apt install -y libc6:i386 libxtst6:i386 libncurses5:i386 libxft2:i386 libstdc++6:i386 libc6-dev-i386 lib32z1 libqt5xml5 liblzma-dev
wget https://download.altera.com/akdlm/software/acdsinst/20.1std/711/ib_installers/ModelSimSetup-20.1.0.711-linux.run
chmod +x ModelSimSetup-20.1.0.711-linux.run
./ModelSimSetup-20.1.0.711-linux.run --mode unattended --accept_eula 1 --installdir $HOME/ModelSim-20.1.0 --unattendedmodeui none
# Here you need to add "$HOME/ModelSim-20.1.0/modelsim_ase/bin" to your PATH
@esynr3z
esynr3z / Dockerfile
Last active August 17, 2022 16:50
iverilog-pls vs iverilog-v11
# Prepare system
FROM ubuntu:20.04
RUN apt-get update
RUN apt-get install -y build-essential flex gperf bison libreadline6-dev libncurses5-dev autoconf
# Copy sources
COPY ./iverilog /src/iverilog
COPY ./pint_iverilog /src/pint_iverilog
WORKDIR /src
@esynr3z
esynr3z / !readme.md
Last active March 1, 2021 14:12
Obfuscate Verilog/SystemVerilog code

Basics

Use Verible Code Obfuscator for obfuscation.

Obfuscate foo.v and save dictionary with all replacements:

verible-verilog-obfuscate --save_map obf.map < foo.v > foo_obf.v
@esynr3z
esynr3z / !readme.md
Last active December 18, 2020 05:25
PEP8 Git Commit Hook

PEP8 Git Commit Hook

Based on pep8-git-hook.

Every staged Python file will be checked.

Installation:

  • Install the pycodestyle (formally called pep8) program: $ pip install pycodestyle
  • Save pre-commit as your_project/.git/hooks/pre-commit
@esynr3z
esynr3z / run_tb.do
Last active April 18, 2024 00:54
Tcl script to run Modelsim simulation. Use "vsim -do run_tb.do" to start.
# Simply change the project settings in this section
# for each new project. There should be no need to
# modify the rest of the script.
set tb_name tb_top
set library_file_list [list \
work [list \
../../src/rtl/top.v \
../../src/tb/$tb_name.v] \
@esynr3z
esynr3z / jupyter_playground_setup.sh
Last active February 12, 2020 13:29
Script to setup Jupyter playground in virtual environment
#!/bin/bash
# Create virtual environment
virtualenv .venv
# Install Jupyter Notebook
.venv/bin/pip install jupyter notebook tornado\<6
# Install scientific packages
.venv/bin/pip install numpy scipy matplotlib
@esynr3z
esynr3z / quartus_prime_lite_19.1_fedora29.md
Last active April 29, 2023 09:01
How to install Quartus Prime Lite 19.1 and ModelSim 10.5b on Fedora 29

Quartus Prime Lite 19.1 on Fedora 29 - installation guide

  1. Install Quartus and ModelSim - get the Combined Files tar archive from here

  2. Add Quartus bin dir to PATH, e.g. /space/eda/intelFPGA_lite/19.1/quartus/bin

  3. Add ModelSim bin dir to PATH, e.g. /space/eda/intelFPGA_lite/19.1/modelsim_ase/linuxaloem

  4. Install 32-bit ncurses for ModelSim

@esynr3z
esynr3z / stm32f0x_rtc_calib.py
Last active February 5, 2024 13:50
STM32 RTC calibration calculator
#!/usr/bin/env python3
'''
Script to calculate STM32F0x RTC calibration values based on a measured time variation.
All references to STM32 RM0091: 25.4.12 RTC smooth digital calibration
'''
from datetime import datetime
# set rtc ideal freq
@esynr3z
esynr3z / e73-tbm-01_sch.md
Last active May 25, 2021 11:14
Test board E73-TBM-01

Can't find EBYTE test board E73-TBM-01 V1.0 schematic, so figured out connections by myself:

NRF52832 E73-2G4M04S1B Connected to
P0.05 21 CH340G CTS
P0.06 22 CH340G RX
P0.07 23 CH340G RTS
P0.08 24 CH340G TX
P0.13 29 SW2 (act. low)
P0.14 30 SW1 (act. low)
@esynr3z
esynr3z / .clang-format
Created August 10, 2018 16:47
Clang-format settings
BasedOnStyle: WebKit
AlignAfterOpenBracket: true
AlignOperands: true
AlignTrailingComments: true
BreakBeforeBinaryOperators: None