Tuesday, August 16, 2011

SVN commands

Check out the file
svn co https://victorio.uit.no/langtech/trunk main --username
... where you have replaced with the username you have aquired from the admin. This will enable you to check in your work. If you don't have a user name or just want to browse our code, just skip the username.
Update your working copy
svn up
Scedule a file for addition
svn add filename
Scedule a file for deletion
svn delete filename
You may also copy and move files and directories with these two commands, but read about them in the svn book first:
svn copy filename
svn move filename

Examine your changes
svn status
Examine the file history
svn log FILE
Change the commit message for a specific revision
svn propedit svn:log --revprop -r REV FILE
This will bring up the existing log text for the specified revision in your default editor (typically Emacs), where you can edit and change it as you want. This is useful if you accidentally committed some changes with an empty or uninformative log message.
Compare your modified file to the version in the repository
svn diff FILE
Compare some earlier versions, say here versions 123 and 120
svn diff -r 123:120 FILE
Undo your local changes (ie revert to the repository status)
svn revert FILE
Resolve Conflicts (Merge Others' Changes)
svn update
svn resolved
Commit your changes
svn ci -m "Your description of the changes here." FILE
(Note that the above changes, add, delete, copy, move, must all be committed by ci in order to take effect)

Friday, July 1, 2011

substitute command in vi

:%s/to_be_replaced/new/g

Tuesday, June 28, 2011

Waveform generation and view

To dump the waveform file

Add the following lines in verilog scripts.
$dumpfile("waveform.vcd");
$dumpvars(0, top_module_name);
0--hierarchical level. If sub-modules are included, increase the number.

To view the waveform
1) use DVE, command "dve &"
2) use Virsim command "vcs -RPP"

Tuesday, February 15, 2011

Translate gate-level script to transistor level

Use Mentor Calibre tool
Command: v2lvs -v counter.v -o counter.sp -i
"Using -i to Generate Simulation Output".

Scan insertion using design (DFT) compiler

If the script is optimized gate-level design go with the following:
Constraint-Optimized Scan Insertion Flow under dc_shell
1) select scan style (command: test_default_scan_style style multiplexed_flip_flop)
2) read design description (command: read_verilog)
3) define test protocol (command: set_dft_signal)
4) analyze nonscan design (command: dft_drc)
5) Insert scan cells (command: insert_dft)

Basic Scan Insertion Script
current_design Top
dft_drc
set_dft_configuration -fix_clock enable -fix_set enable \
-fix_reset enable
set_scan_configuration -chain_count
create_test_protocol -infer_clock -infer_async
preview_dft
insert_dft
dft_drc -coverage_estimate
report_scan_path -v exist -chain all
report_constraints -all_violators

If it is unmapped design, i.e., at the RT-level, use test-ready compile.

Wednesday, January 19, 2011

MAC address

Every network interface card (NIC) produced in the world has its own unique MAC address. A MAC address is made up of 6 sets of hexadecimal numbers (two-characters each), e.g. A1:B2:C3:D4:E5:F6

Friday, November 5, 2010

BGA component

BGA stands for Ball Grid Array. A web definition from PrincetonUSA explains it as, "A type of memory chip with solder balls on the underside for mounting. Use of BGA allows die package size to be reduced because there is more surface area for attachment. Smaller packaging allows more components to be mounted on a module, making greater densities available. The smaller package also improves heat dissipation for better performance".

Friday, October 29, 2010

Hspice multiplicity

Given a component with a multiplicity value M , the simulator treats this component as if there were M such components all connected in parallel.

Wednesday, October 13, 2010

svf

Serial Vector Format used in boundary scan tests of electronics

Wednesday, August 4, 2010

tar, gzip, zip, bzip2

If want to make a folder into a file, just tar
tar -cvf XXX.tar XXX (create)
tar -xcf XXX.tar (unpack)

if want to compress, then gzip, zip, or bzip2 a tar file
command to expand is gunzip, unzip, and bunzip2

Tuesday, June 15, 2010

MAC X11 window and font size change

The most simple way is adding the following new command in the X11-> application -> customize
xterm -geometry 72x34+100+40 -fn *-fixed-*-*-*-20-* &
BTW, use command+optin+A to leave the stupid full screen mode

Monday, May 24, 2010

linux search a file

find ./ -name 'program.c'

Friday, May 14, 2010

matlab string and variable

command "eval", execute string with matlab expression

E.g. read the value of variable c0

i=0;
m=strcat('c',num2str(i)); %m is a string
eval(m); %print out the value of c0

Monday, May 3, 2010

View html from a console

Command "elink"
You can open google by typing "elink www.google.com".

Design compiler for calculating fanin

Start design compile: "dc_shell -tcl_mode"
Run a scripts including a set of commands: "source fanin.tcl"
Command for obtaining fanin: "all_fanin -to icpu_adr_o[31]"
PS:
1. Often the initial libraries are set as
set search_path "/auto/edatools/synopsys/syn/v2006.06-SP4/libraries/syn"
##set TECH_DIR $synopsys_root/libraries/syn
set target_library class.db
set symbol_library class.sdb
set link_library class.db
2. If some of the results are not printed out. Add -verbose option, so "source -verbose fanin.tcl". And add a command line in fanin.tcl
"set collection_result_display_limit 220000" a large number.

Tuesday, April 27, 2010

Create 2D array in perl

If we want to first create space for an two-dimensional array, we first need to create space for a single row, which will have numCols columns:

for($col = 0; $col < $numCols; $col++) {

push @rowMatrix, “0”;

}

Then we need to create a matrix of these single dimension row matrices:

for($row = 0; $row < $numRows; $row++) {

push @matrix, [ @rowMatrix ];

}

Now we have a two dimensional array filled with 0’s with of size [numRows] x [numCols].


Wednesday, April 7, 2010

Hspice manual & Model description

Perfect manual
http://www.ece.uci.edu/docs/hspice/hspice_2001_2-3.html
Model description
http://www.ece.uci.edu/docs/hspice/hspice_2001_2-170.html

Thursday, April 1, 2010

Delete columns in vim

"Ctrl + v" go to visual block mode.
navigate through arrow keys.
one you finishes your selection. press "dd" or "delete"

Monday, March 15, 2010

FCS error

FCS stands for Frame Check Sequence. Each PPP packet has a checksum attached to ensure that the data being received is the data being sent. If the FCS of an incoming packet is incorrect, the packet is dropped and the HDLC FCS count is increased. The HDLC error values can be displayed using the show hdlc command.

Thursday, March 11, 2010

LSF job

LSF - Load Sharing Facility - is a system to manage (large) programs that cannot be run interactively on a machine as they require too much CPU-time, memory or other system resources. For that reason, those large programs have to be run in batch (batch jobs). [1]
More details refer to [1].
[1] http://www.vub.ac.be/BFUCC/LSF/