Introduction to VLSI Programming Lecture 5: Tangram - PowerPoint PPT Presentation

About This Presentation
Title:

Introduction to VLSI Programming Lecture 5: Tangram

Description:

BUF1 = proc (a?chan byte & b!chan byte). begin x: var byte | forever do a?x ; b!x od end ... R= proc(c?chan B1 & d!chan B3). begin x,y,z: var B1 ... – PowerPoint PPT presentation

Number of Views:172
Avg rating:3.0/5.0
Slides: 25
Provided by: Keesvan4
Category:

less

Transcript and Presenter's Notes

Title: Introduction to VLSI Programming Lecture 5: Tangram


1
Introduction to VLSI Programming Lecture 5
Tangram Tools
  • (course 2IN30)
  • Prof. dr. ir.Kees van Berkel

2
Time table 2005
date class lab subject
Aug. 30 2 0 hours intro VLSI
Sep. 6 3 0 hours handshake circuits
Sep. 13 3 0 hours handshake circuits assignment
Sep. 20 3 0 hours Tangram
Sep. 27 no lecture
Oct. 4 no lecture
Oct. 11 1 2 hours demo, fifos, registers deadline assignment
Oct. 18 1 2 hours design cases
Oct. 25 1 2 hours DLX introduction
Nov. 1 1 2 hours low-cost DLX
Nov. 8 1 2 hours high-speed DLX
Nov. 29 deadline final report
3
Lecture 5
  • Outline
  • Recapitulation Lecture 4
  • Tangram overview
  • Compilation Tangram ?Handshake Circuits
  • Tools
  • Demonstration
  • Lab work assignment fifos and registers

4
Handshake signaling and data
push channel versus pull channel
request ar
5
Tangram assignment x f(y,z)
Handshake circuit
6
Two-place wagging buffer
byte type 0..255 wag2 main
proc(a?chan byte b!chan byte).begin x,y
var byte a?x forever do (a?y
b!x) (a?x b!y) odend
7
Four 8?8 shift registers compared
8
Tangram/Haste
  • Purpose programming language for asynchronous
    VLSI circuits.
  • Creator Tangram team _at_ Philips Research Labs
    (proto-Tangram 1986 release 2 in 1998).
  • Inspiration Hoares CSP, Dijkstras GCL.
  • Lectures no formal introduction manual hand-out
    (learn by example, learn by doing).
  • Main tools compiler, analyzer, simulator, viewer.

9
2-place buffer
  • byte type 0..255
  • BUF1 proc (a?chan byte b!chan byte).begin
    x var byte forever do a?x b!x od end
  • BUF2 main proc (a?chan byte c!chan
    byte).begin b chan byte BUF1(a,b)
    BUF1(b,c) end

10
Median filter
  • median main proc (a? chan W b! chan W).
    begin x,y,z var W xy, yz, zw var bool
    forever do ((zy yx) yzxy)
    a?x (xy xlty zx zltx) if zxxy
    then b!x or xyyz then b!y or yzzx
    then b!z fi odend

11
Greatest Common Divisor
  • gcd main proc (ab?chan ltltbyte,bytegtgt c!chan
    byte).begin x,y var byte forever do
    ab?ltltx,ygtgt do xlty then y y-x or xgty
    then x x-y od c!x odend

12
Nacking Arbiter
  • nack main proc (a?chan bool b!chan
    bool).begin na,nb var bool ltltna,nbgtgt
    ltlttrue,truegtgt forever do sel probe(a) then
    a!nb na nanb or probe(b) then b!na
    nb nbna les od end

13
C Tangram ? handshake circuit
14
C Tangram ? handshake circuit
15
C Tangram ? handshake circuit
C (RS)
16
Tangram Compilation Theorem
17
VLSI programming of asynchronous circuits
behavior, area, time, energy, test coverage
Tangram program
feedback
compiler
simulator
Handshake circuit
expander
Asynchronous circuit
(netlist of gates)
18
Tangram tool box
  • Let Rlin4.tg be a Tangram program
  • htcomp -B Rlin4
  • compiles Rlin4.tg into Rlin4.hcl, a handshake
    circuit
  • htmap Rlin4
  • produces Rlin4.v files, a CMOS standard-cell
    circuit
  • htsim Rlin4 a b
  • executes Rlin4.hcl with files a, b for
    input/output
  • htview Rlin4
  • provides interactive viewing of simulation results

19
Tangram program Conway
P
Q
R
a
b
c
d
  • B1 type 0..1 B2 type ltltB1,B1gtgt
    B3 type ltltB1,B1,B1gtgt P Q
    R conway main proc (a?chan B2
    d!chan B3). begin b,c chan B1 P(a,b)
    Q(b,c) R(c,d) end

20
Tangram program Conway
  • P proc(a?chan B2 b!chan B1). begin x var
    B2 forever do a?x b!x.0 b!x.1 od end
  • Q proc(b?chan B1 c!chan B1). begin y var
    B1 forever do b?y c!y od end
  • R proc(c?chan B1 d!chan B3). begin x,y,z
    var B1 forever do c?x c?y c?z d!ltltx,y,zgtgt
    od end

21
Lab work assignments 1 and 2
  • Assignment 1 shift registers
  • Assignment 2 fifos
  • See separate handout.

22
Lab-work and report
  • You are allowed to team up with a colleague (Not
    mandatory.)
  • Report more than listing of functional Tangram
    programs
  • analyze the specifications and requirements
  • present design options, alternatives, trade-offs
  • motivate your design choices
  • explain functional correctness of your Tangram
    programs
  • analyze explain area, time, energy of your
    programs.

23
Course grading
  • Your course grading is based on
  • the quality of your Tangram programs 30
  • your final report on the design and evaluation
    of these programs (guidelines will follow)
    30
  • a concluding discussion with you on the programs,
    the report and the lecture notes 20
  • your results on an intermediate assignment.
    20

24
Next time lecture 6 (2005, Oct 17)
  • Outline
  • Tangram arithmetic resource sharing
  • Lab work assignments on arithmetic resource
    sharing
Write a Comment
User Comments (0)
About PowerShow.com