Difference between revisions of "Pranav"

From Vlsiwiki
Jump to: navigation, search
 
(29 intermediate revisions by the same user not shown)
Line 1: Line 1:
FPU  
+
=FPU=
  
OBSERVATION
+
we assign op=OP_MDDS something to tell the hardware the current opcode
 +
and float64_add_next etc are used to compute the softvalues .. no calculations by hand
  
ONE
+
===PLI===
  
 +
tf_putlongp() is a PLI function which puts a 64 int value to the current task or function
  
8191 +  16646144 = 16646143
+
my_putlongp() is a helper function which takes in dest and value and stores it into that dest with some PLI function...
fpu result : 4194559
+
fpu result : 4194559
+
fpu result : 4194559
+
fpu result : 4194559
+
fpu result : 4194559
+
fpu result : 4194559
+
fpu result : 16646143
+
  
 +
similarly for my_getlongp() and my_gettime()
  
  
About & clocks or checks before result is correct
+
==DC SHELL==
  
Works for both add and mul
+
invoke dc_shell-t -64bit
  
TWO
+
GUI
  
Helper function : sf_float64_2op_check
+
gui_start
  
called whenever softfloat_check is called ... which is after a certain time after the posedge of clk
+
== GIT Commands - HOWTO ==
  
 +
git commit //adds the current changes to the local repo
  
THREE
+
git push //makes the changes to the server repo
  
simple_result[state].when      = my_gettime();
+
git status // to check local rev compares to the main one
  simple_result[state].val        = ll_res;
+
  simple_result[state].op        = do_op;
+
  simple_result[state].in_use    = 1;
+
  
 +
git pull //to sync with others
  
saves the pre comp values in a data structure struct Result_Entry... then checked using the fpu generated result....
+
git mv foo foo.cpp
  
3 1/2
+
git add foo.cpp
  
struct result_entry saves values for checking including number of tests being run
+
git reset --hard HEAD // reset local repo
  
 +
git diff HEAD // diff from last commit
  
FOUR
+
=== TO COMMIT - TYPICAL WAY ===
  
change default test_type to Rank_test
+
git commit -a -m 'DEBUG: Defaulted to the rank test...'
  
does tests based on probability generated by random number function
 
  
 +
== NOTES on terminal commands and search tips ==
  
FIVE
 
  
 +
NOTES on terminal commands and search tips
  
smul umul and other things are meant for int operations hence the name  of the function int2_op etc
+
grep -r <string> * --- To search for a string in folders
  
 +
find ~ -name "*.*" --- to search for a file
  
SIX
 
  
32 bit operations are meant to printed out with  masking being involved at some point
+
=== to open a pdf ===
  
 +
evince <filename>.pdf
  
SEVEN
 
  
we assign op=OP_MDDS something to tell the hardware the current opcode
+
=== VI skills/UNIX ===
and float64_add_next etc are used to compute the softvalues .. so dont go looking around how to compute the value
+
  
op is an inout to the main fpu.v as well as fpu_result
+
search replace
  
 +
http://www.thegeekstuff.com/2009/04/vi-vim-editor-search-and-replace-examples/
  
EIGHT
+
:%s/awesome/wonderful/gc
  
tf_putlongp() is a PLI function which puts a 64 int value to the current task or function
 
  
my_putlongp() is a helper function which takes in dest and value and stores it into that dest with some PLI function...
+
Clear cmd by using ctrl+L instead of typing out clear
  
similarly for my_getlongp() and my_gettime()
+
To store simulation log in a file say log.txt
  
 +
'''rake test:softfloat_tb >& log.txt'''
  
  
 +
Cut or copy lines without counting the lines
  
 +
  - In normal mode, go to the beginning of the first mark ---> Type '''mk'''
 +
  - Go to the end of your selection                      ---> '''"ay'k''' (double quotes, <register name from a-z>, <y-yank or d-delete>, single quote, k
 +
 
 +
If you do "ad'k it will delete them from the current location and copy them into register a.
 +
 
 +
<number>dd - delete line
 +
<number>yy - yank  line
  
next page on FPU
 
  
 +
==SSH multiple windows==
  
GIT Commands - HOWTO
+
ssh -X mada gnome-terminal &
  
git commit //adds the current changes to the local repo
 
  
git push //makes the changes to the server repo
+
==My ~/.vimrc file==
  
git status // to check local rev compares to the main one
+
set ai
  
git pull //to sync with others
+
syntax on
  
git mv foo foo.cpp
+
set ic
  
git add foo.cpp
+
set hls
  
TO COMMIT - TYPICAL WAY
+
set ruler
  
git commit -a -m 'DEBUG: Defaulted to the rank test...'
+
set history=50
  
git reset --hard HEAD // reset local repo
+
set backspace=2
  
git diff HEAD // diff from last commit
+
===Alignment===
  
 +
select block of text in visual mode
  
 +
then gq to align
  
[[Terminal]]
+
===search tips===
  
NOTES on terminal commands and search tips
+
gd to search for word under cursor
  
grep -r <string> * --- To search for a string in folders
+
===copy & paste===
  
find ~ -name "*.*" --- to search for a file
+
to copy within blocks
 +
yi{}, yi(), yiw, etc - copy
 +
di{}, di(), diw, etc - cut
  
 +
ctrl+v for block mode vi
  
to open a pdf
 
  
evince <filename>.pdf
+
===Working with multiple files===
 +
 
 +
:e filename - Edit a file in a new buffer
 +
:bnext (or :bn) - go to next buffer
 +
:bprev (of :bp) - go to previous buffer
 +
:bd - delete a buffer (close a file)
 +
:sp filename - Open a file in a new buffer and split window
 +
ctrl+ws - Split windows
 +
ctrl+ww - switch between windows
 +
ctrl+wq - Quit a window
 +
ctrl+wv - Split windows vertically
 +
 
 +
:fixdel
 +
 
 +
 
 +
===Logging terminal outputs===
 +
 
 +
Nifty tool for logging the entire interactive session
 +
 
 +
 
 +
'''script <outfile.out>'''
 +
 
 +
ctrl+D to exit or end session

Latest revision as of 03:32, 12 September 2011

FPU

we assign op=OP_MDDS something to tell the hardware the current opcode and float64_add_next etc are used to compute the softvalues .. no calculations by hand

PLI

tf_putlongp() is a PLI function which puts a 64 int value to the current task or function

my_putlongp() is a helper function which takes in dest and value and stores it into that dest with some PLI function...

similarly for my_getlongp() and my_gettime()


DC SHELL

invoke dc_shell-t -64bit

GUI

gui_start

GIT Commands - HOWTO

git commit //adds the current changes to the local repo

git push //makes the changes to the server repo

git status // to check local rev compares to the main one

git pull //to sync with others

git mv foo foo.cpp

git add foo.cpp

git reset --hard HEAD // reset local repo

git diff HEAD // diff from last commit

TO COMMIT - TYPICAL WAY

git commit -a -m 'DEBUG: Defaulted to the rank test...'


NOTES on terminal commands and search tips

NOTES on terminal commands and search tips

grep -r <string> * --- To search for a string in folders

find ~ -name "*.*" --- to search for a file


to open a pdf

evince <filename>.pdf


VI skills/UNIX

search replace

http://www.thegeekstuff.com/2009/04/vi-vim-editor-search-and-replace-examples/

%s/awesome/wonderful/gc


Clear cmd by using ctrl+L instead of typing out clear

To store simulation log in a file say log.txt

rake test:softfloat_tb >& log.txt


Cut or copy lines without counting the lines

  - In normal mode, go to the beginning of the first mark ---> Type mk
  - Go to the end of your selection                       ---> "ay'k (double quotes, <register name from a-z>, <y-yank or d-delete>, single quote, k
  

If you do "ad'k it will delete them from the current location and copy them into register a.

<number>dd - delete line <number>yy - yank line


SSH multiple windows

ssh -X mada gnome-terminal &


My ~/.vimrc file

set ai

syntax on

set ic

set hls

set ruler

set history=50

set backspace=2

Alignment

select block of text in visual mode

then gq to align

search tips

gd to search for word under cursor

copy & paste

to copy within blocks yi{}, yi(), yiw, etc - copy di{}, di(), diw, etc - cut

ctrl+v for block mode vi


Working with multiple files

e filename - Edit a file in a new buffer
bnext (or :bn) - go to next buffer
bprev (of :bp) - go to previous buffer
bd - delete a buffer (close a file)
sp filename - Open a file in a new buffer and split window

ctrl+ws - Split windows ctrl+ww - switch between windows ctrl+wq - Quit a window ctrl+wv - Split windows vertically

fixdel


Logging terminal outputs

Nifty tool for logging the entire interactive session


script <outfile.out>

ctrl+D to exit or end session