Skip to content

Instantly share code, notes, and snippets.

View rajesh-s's full-sized avatar
:octocat:
Trying to go to bed a little wiser than when I woke up

Rajesh Shashi Kumar rajesh-s

:octocat:
Trying to go to bed a little wiser than when I woke up
View GitHub Profile
@rajesh-s
rajesh-s / deps.sh
Last active November 20, 2021 06:39
Deps
# AccelSim
sudo apt-get install -y wget build-essential xutils-dev bison zlib1g-dev flex \
libglu1-mesa-dev git g++ libssl-dev libxml2-dev libboost-all-dev git g++ \
libxml2-dev vim python-setuptools python-dev build-essential python-pip
pip install pyyaml==5.1 plotly psutil
cuda-toolkit from nvidia
===========
= Summary =
===========
@rajesh-s
rajesh-s / build-gcc.sh
Created April 1, 2021 18:33 — forked from jeetsukumaran/build-gcc.sh
Build and Install GCC Suite from Scratch
#! /bin/bash
GCC_VERSION="5.2.0"
WORKDIR="$HOME/src/"
INSTALLDIR="/platform"
## NOTE: XCode must be installed (through App Store) and the following run to install command-line tools.
## THIS IS IMPORTANT! Among other things, it creates '/usr/include' and installs the system header files.
# xcode-select --install
@rajesh-s
rajesh-s / scrolling.ahk
Created February 7, 2021 11:47
AutoHotKey macros
#NoEnv ; Recommended for performance and compatibility with future AutoHotkey releases.
; #Warn ; Enable warnings to assist with detecting common errors.
SendMode Input ; Recommended for new scripts due to its superior speed and reliability.
SetWorkingDir %A_ScriptDir% ; Ensures a consistent starting directory.
#MaxThreadsPerHotkey 2
*Space:: ; Press Space Key to start or Stop Scrolling endlessly
Toggle := !Toggle
loop
{
@rajesh-s
rajesh-s / note-link-janitor-gh-action-workflow.yml
Last active January 2, 2023 06:22
Github Workflow to automatically run note-link-janitor on each push
@rajesh-s
rajesh-s / adb_ref.md
Created December 31, 2020 08:09
ADB quick reference

Platform tools download

adb shell
adb devices
pm list packages
pm uninstall -k --user 0 <name of package>
adb shell cmd package install-existing <name of package> #Restore
@rajesh-s
rajesh-s / paper_review_template.md
Created October 28, 2020 18:06
Paper review template from Prof. Onur Mutlu's suggested approach

Title

Brief summary

  • What is the problem the paper is trying to solve?
  • What are the key ideas of the paper? Key insights?
  • What is the key contribution to literature at the time it was written?
  • What are the most important things you take out from it?

Strengths (most important ones)

@rajesh-s
rajesh-s / gem5_on_wsl2.md
Last active February 5, 2025 20:11
Installing gem5 simulator on Windows WSL2 (Windows Subsystem for Linux 2)

Installing gem5 simulator on Windows WSL2

  1. Install WSL2 using PowerShell (Assuming you are on 2004 build else check this
  dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart
  dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart
  wsl --set-default-version 2
  1. Install distro, terminal from Microsoft App store
@rajesh-s
rajesh-s / leaderboard_cs.md
Last active May 26, 2020 08:22
Leaderboard for the CoreScore project

CoreScore Leaderboard

The intent is to capture available statistics for the CoreScore project. This could be useful to analyze cores vs specific hardware, core count over time or simply admire the glorious core numbers. Ran into this thought because I wanted to find out if someone has already run CoreScore on one of the FPGA boards that I wanted to try it on.

26-May: The statistic so far is from tweets on @OlofKindgren. Hopefully, I will continually update this. My immediate intent is to get this running on my Nexys Video. Feel free to update your results.

Leaderboard

@rajesh-s
rajesh-s / datatypesize.c
Created April 25, 2020 07:08
Snippet to determine the defined sizes of C data types on any machine
// Determine ranges of short,int,long (unsigned/signed) and char by implementation
#include <stdio.h>
#include <limits.h> // Defines size constants for integral typs
#include <float.h> // Defines floating-point-arithmetic related parameters
void main()
{
printf("The range of %d bit char values: %d to %d", CHAR_BIT, CHAR_MIN, CHAR_MAX); // These are #defines in the header
printf("\nThe range of signed char values: %d to %d", SCHAR_MIN, SCHAR_MAX);

Delving into the why's of AXI

**Note: In all below, slave can also mean interconnect

  • Do we really need back-pressure?
    • Yes, you absolutely need backpressure. What happens when two masters want to access the same slave? One has to be blocked for some period of time. Some slaves may only be able to handle a limited number of concurrent operations and take some time to produce a result. As such, backpressure is required.
    • B and R channel backpressure is required in the case of contention towards the master. If a master makes burst read requests against two different slaves, one of them is gonna have to wait.
      • Shouldn't a master be prepared to receive the responses for any requests it issues from the moment it makes the request? Aside from the clock crossing issue someone else brought up, and the interconnect issue at the heart of the use of IDs, why should an AXI master ever stall R or B channels?
  • The master should be prepared, but it only has one R and one B input, so it can't re