




|
|
|
|
Below is some selected projects I ever did in my past
research and classes.
|
VLSI Design and Hardware:
Cadence tools:
 |
VLSI
implementation of a 16-bit data encryption algorithm which can be
applied to real-time 64-bit data encryption with a rate of about 270
Mb/s in a 0.35
CMOS technology; |
 |
Design, layout,
and simulate a 3-bit flash ADC (0-5V) with minimum sampling rate of
4M Hz; |
 |
Design, layout,
and simulate a 16-bit (4x4) CMOS static RAM; |
 |
Design, layout,
and simulate a voltage-controlled ring oscillator. |
T-Spice tools:
 |
Design, layout, simulate, and
analyze an inverter; |
 |
Design, schematic, layout, and
simulate a 2-input NOR gate and a 4-input AND gate; |
 |
Design, schematic, layout, and
simulate 2-input CMOS and Pseudo-NMOS XNOR circuits; |
 |
As a main team member, design,
layout, simulate, fabricate, and test an Application Specific
Integrated Circuit (ASIC). Be responsible for designing a 3-bit
counter and a 4-to-1 multiplexer. This IC uses the MOSIS SCN3M_SUBM
( =0.3 ) process and the MOSIS 40-pin padframe for AMI’s
C5N fabrication process. |
VHDL and Verilog:
 |
Use the Aldec Active-HDL Entry and
Simulation tools to explicitly implement a carry look-ahead 2-bit
full adder; |
 |
Use the Block Diagram Editor of
Active-HDL 3.6 to hierarchically design and test with the testbench
files a 16-to-1 multiplexer; |
 |
Use the Xilinx Foundation Series ISE
3.1i tools to design and implement a binary MOD-4 up/down counter,
and download the VHDL code onto the Spartan-XL board to test its
functionality; |
 |
Design, schematic, simulate, and
test a 3-bit 4-functional ALU on the Xilinx Foundation Series; |
 |
Use StateCAD to design a state
diagram to control the taillights of an older-model Thunderbird car;
|
 |
Use the Xilinx tools to design a
microcomputer for 8-bit signed binary numbers with a 256 x 8 static
RAM memory; |
 |
Use the Cadence tools to properly
design and test the VHDL and Verilog modes for a JK flip-flop
circuit. |
|
|
Systems Programming:
 |
Design a program that serves as a
limited replacement for “csh” shell in C; |
 |
Design a C++ program to simulate a
paged memory system with Clock algorithm; |
 |
Implement Shear sort algorithm with
multi-threading and semaphores in C on Solaris; |
 |
Implement Producer-Consumer problem
using WinNT threads, semaphores and mutexes. |
|
|
TCP/IP and Network Programming:
 |
Implement File Transfer program in
Java using UDP on an unreliable channel with errors and packet loss
using CRCs and Stop & Wait protocol; |
 |
Implement a multi-threaded client
server application to do file processing. |
|
|