ADDER X-SC Bedienungsanleitung

Stöbern Sie online oder laden Sie Bedienungsanleitung nach Software ADDER X-SC herunter. Introduction to VLSI CMOS Circuits Design Benutzerhandbuch

  • Herunterladen
  • Zu meinen Handbüchern hinzufügen
  • Drucken

Inhaltsverzeichnis

Seite 1

Introduction to VLSI CMOS Circuits Design1Carlos Silva CardenasCatholic University of Per´uTakeo YoshidaUniversity of the RyukyusAlberto Palacios Pawl

Seite 2

10 LIST OF TABLES

Seite 3 - Contents

Chapter 1Introduction to the Alliance ToolsThe set of tools provided by Alliance lets us design and test a circuit from its specification to its layout

Seite 4 - 4 CONTENTS

12 CHAPTER 1. INTRODUCTION TO THE ALLIANCE TOOLSLet’s check this circuit description with ASIMUT. But before that, let’s check that the environment va

Seite 5 - List of Figures

1.1. ASIMUT 13ASIMUT will detect the error and will give the following output:% asimut -b -c mux@ @@@@ @ @ @@@@@@@@@@@ @ @@ @@@ @ @@ @@@@ @@ @ @ @ @@

Seite 6 - 6 LIST OF FIGURES

14 CHAPTER 1. INTRODUCTION TO THE ALLIANCE TOOLSEvery input pattern file has the following general format:-- description of the input and outp ut ports

Seite 7 - List of Tables

1.1. ASIMUT 15Figure 1.3: The mux in.pat shown by xpat.generate the corresponding output pattern file. We run this time ASIMUT as follows.% asimut -b m

Seite 8 - 8 LIST OF TABLES

16 CHAPTER 1. INTRODUCTION TO THE ALLIANCE TOOLSnamed mux in and that we want the output pattern file generated by the simulation to be named mux out(N

Seite 9

1.1. ASIMUT 17Table 1.1: Options in ASIMUT.Option Description-bThe RTL circuit description is a behavioral one-backdelay [min, max, typ] delayfile Use

Seite 10 - 10 LIST OF TABLES

18 CHAPTER 1. INTRODUCTION TO THE ALLIANCE TOOLSTable 1.2: Set of types used in the VHDL subset of Alliance.Type DescriptionbitThe standard bit type:

Seite 11 - Chapter 1

1.1. ASIMUT 19Figure 1.6: One possible structural configuration of our multiplexer circuit.entity mux isport (a : in bit;b : in bit;c : in bit;q : out

Seite 13

20 CHAPTER 1. INTRODUCTION TO THE ALLIANCE TOOLSIn this way we can build any hierarchical design. But remember that if the corresponding circuit is at

Seite 14

1.1. ASIMUT 21indicate that both, delay and area must be optimized. The corresponding output will be as follows.% boog invg_o invg -x 1 -m 2@@@@@@@ @@

Seite 15 - 1.1. ASIMUT 15

22 CHAPTER 1. INTRODUCTION TO THE ALLIANCE TOOLSthose of the behavioral description. This time we get the following output.% asimut mux mux_in muxst_o

Seite 16

1.1. ASIMUT 23flow).% env | grep MBKMBK_IN_LO=vstMBK_OUT_LO=vstMBK_IN_PH=apMBK_OUT_PH=apMBK_WORK_LIB=.MBK_CATAL_NAME=CATALMBK_SCALE_X=100MBK_CATA_LIB=.

Seite 17

24 CHAPTER 1. INTRODUCTION TO THE ALLIANCE TOOLSpages), shows the use of resolved and guarded signals.begin first_driver_of_mux : block (Sel1 = ’1’) b

Seite 18

1.2. B2F 25will use the following VHDL description of a simple controller.library IEEE;use IEEE.std_logic_1164.all;entity RWFSM isport(CLK : in std_lo

Seite 19 - 1.1. ASIMUT 19

26 CHAPTER 1. INTRODUCTION TO THE ALLIANCE TOOLSFigure 1.8: The rwgraph.fsm shown by xfsm.1.3 BOOGThe BOOG (Binding and Optimizing On Gates) tool maps

Seite 20

1.4. BOOM 27its logic function. This tool gives good results for small random logic but is not usable in datapath optimization.We use this tool given

Seite 21

28 CHAPTER 1. INTRODUCTION TO THE ALLIANCE TOOLSoutput file to visualize all the delay paths of it. Running BOOG will give the following output.% boog

Seite 22

1.5. COUGAR 29Figure 1.10: The mux.vst shown by xsch.Figure 1.11: The mux oo.vst shown by xsch.and a complex and-or gate (both have been chosen by BOO

Seite 23

Contents1 Introduction to the Alliance Tools 111.1 ASIMUT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

Seite 24

30 CHAPTER 1. INTRODUCTION TO THE ALLIANCE TOOLSTable 1.7: Options Available for the COUGAR Tool.Option Description-tNotifies a transistor level extrac

Seite 25

1.5. COUGAR 31can now route the placed mux design with the Alliance NERO tool as follows.% nero -V -p muxoop mux_oo muxoor@@@ @@@ @@@@@@@@@ @ @@ @@@@@

Seite 26 - 1.4 BOOM

32 CHAPTER 1. INTRODUCTION TO THE ALLIANCE TOOLSWe told NERO to run in verbose mode, to use the muxoop placement file of the mux oo netlist and generat

Seite 27

1.5. COUGAR 33That will return the environment variable value. Once set this variable we use COUGAR as follows.% COUGAR muxoor muxooc@@@@ @@@ @@@@ @@@

Seite 28

34 CHAPTER 1. INTRODUCTION TO THE ALLIANCE TOOLSThe last line tells us that the netlists are identical, in other words that the mux design has been co

Seite 29 - 1.5 COUGAR

1.6. DREAL 35following command.% dreal [-l file_name] [-xor] [-debug] [-install] [-force]The options available in DREAL are shown in Table 1.8. This t

Seite 30

36 CHAPTER 1. INTRODUCTION TO THE ALLIANCE TOOLSThe corresponding real layout (after flattening) is shown in Figure 1.16.Figure 1.16: The real layout o

Seite 31 - 1.5. COUGAR 31

1.8. FLATBEH 37As could be notice from the output, no errors has been detected. And the layout generated by OCP and NEROdoes not contain violations to

Seite 32

38 CHAPTER 1. INTRODUCTION TO THE ALLIANCE TOOLSWe can test this circuit with ASIMUT using a modified version of mux in.pat (muxoo in.pat).-- terminals

Seite 33 - 1.5. COUGAR 33

1.9. FLATLO 39Checking in this way that the generated behavioral description is also correct.1.9 FLATLOThe FLATLO (FLATtens LOgical) tool inputs a hie

Seite 35

40 CHAPTER 1. INTRODUCTION TO THE ALLIANCE TOOLSexample used with the B2F tool.% fmi -V rwgraph rwmin@@@@@@@@@ @@@ @@@ @@@@@@@@ @ @@ @@ @@@@ @ @@@ @@@

Seite 36 - 1.7 DRUC

1.12. FSP 411.12 FSPThe FSP (Finite State machine Proof) tool checks the equivalence of two FSM descriptions. It does it formallyusing a product based

Seite 37 - 1.8 FlatBeh

42 CHAPTER 1. INTRODUCTION TO THE ALLIANCE TOOLSTable 1.14: Options Available for the GENPAT Tool.Option Description-vVerbose mode.-kKeeps the executa

Seite 38

1.14. GRAAL 43We can check if the input pattern file is c orrect viewing it with xpat. You must see the output shown inFigure 1.17. There are several f

Seite 39 - 1.11 FMI

44 CHAPTER 1. INTRODUCTION TO THE ALLIANCE TOOLSB2F tool.% k2f fsm kiss2 rwgraph@@@@ @@@@ @@@@ @@@@@@@@@@@ @ @ @@ @@ @@@ @ @@ @@ @@ @@@ @ @@@ @@ @@@@

Seite 40

1.16. L2P 45Table 1.16: Options Available for the L2P Tool.Option Description-colorGenerates a color PostScript file. The default value gives a black a

Seite 41 - 1.13 GENPAT

46 CHAPTER 1. INTRODUCTION TO THE ALLIANCE TOOLSsymbolic routed multiplexer design.% l2p muxoor@@@@@@ @@@@ @@@@@@@@@ @ @@ @@ @@@@ @@ @@ @@ @@@@ @@@ @@

Seite 42

1.17. LOON 471.17 LOONLOON (Light Optimizing On Nets) is a command line tool of Alliance that is used in the synthesis process afterapplying BOOM and

Seite 43 - 1.15 K2F

48 CHAPTER 1. INTRODUCTION TO THE ALLIANCE TOOLSOf course, in the case of this very simple design, there will be no changes in the description already

Seite 44 - 1.16 L2P

1.20. NERO 49tool in its manual pages. We have called both files fsm.vhd and fsm.ctl respectively. We first convert the VHDLfile in a behavioral descript

Seite 45

List of Figures1.1 A 2-input multiplexer. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111.2 Checking the corre

Seite 46 - Figure 1.18

50 CHAPTER 1. INTRODUCTION TO THE ALLIANCE TOOLSTable 1.20: Options Available for the NERO Tool.Option Description-h, –help Prints help.-v, –verboseVe

Seite 47 - 1.17 LOON

1.22. PROOF 51will prepare the design for the ring pad placement. In this case we use the following command.% ocp -ring mux_ool muxoolpring@@@ @@@@ @

Seite 48 - 1.19 MOKA

52 CHAPTER 1. INTRODUCTION TO THE ALLIANCE TOOLSTable 1.22: Options Available for the proof Tool.Option Description-aThis option asks proof to keep th

Seite 49 - 1.20 NERO

1.23. RING 53of two behavioral descriptions.1.23 RingRing is the pad ring router of Alliance. It is used with the following command (it has no options

Seite 50 - 1.21 OCP

54 CHAPTER 1. INTRODUCTION TO THE ALLIANCE TOOLSThe inserted scan path will contain all the registers specified in the file specified by the pathfile (.pa

Seite 51 - 1.22 Proof

1.27. VASY 55Alliance. We run SYF on the mips seq.fsm file already created in that tutorial. We will run SYF as follows.% syf -o -V mips_seq mips_seqs@

Seite 52

56 CHAPTER 1. INTRODUCTION TO THE ALLIANCE TOOLSTable 1.26: Options Available for the VASY Tool.Option Description-DSets Debug mode on. As option [Lev

Seite 53 - 1.25 SCAPIN

1.31. XSCH 57Table 1.28: Options Available for the XPAT Tool.Option Description-l filenameLoad the filename (with or without extension)-xorTwo graphic c

Seite 54 - 1.26 SYF

58 CHAPTER 1. INTRODUCTION TO THE ALLIANCE TOOLS

Seite 55 - 1.28 X2Y

Chapter 2Combinational Design ExamplesIn chapter 1 we have briefly seen how to use most of the tools in Alliance. In this chapter we will explainthe de

Seite 56 - 1.30 XPAT

6 LIST OF FIGURES

Seite 57 - 1.32 XVPN

60 CHAPTER 2. COMBINATIONAL DESIGN EXAMPLES(a) (b) (c)Figure 2.3: Three adder-tree schemes. (a) Wallace’s (b) Dadda’s (c) Palacios’sFigure 2.4: Half a

Seite 58

2.1. THE DESIGN OF A 4-BIT MULTIPLIER USING ADDER TREES 61Figure 2.7: Design hierarchy of the multiplier.2.1.1 Design of the partial product generator

Seite 59 - Combinational Design Examples

62 CHAPTER 2. COMBINATIONAL DESIGN EXAMPLESIf you check the output file obtained with BOOM you will notice that it does not improve the already givende

Seite 60 - (a) (b) (c)

2.1. THE DESIGN OF A 4-BIT MULTIPLIER USING ADDER TREES 63With this we have a synthesized structural description of our original partial product gener

Seite 61

64 CHAPTER 2. COMBINATIONAL DESIGN EXAMPLESIn the case of the full adder we will use the following behavioral description that matches the circuit ofF

Seite 62

2.1. THE DESIGN OF A 4-BIT MULTIPLIER USING ADDER TREES 65begin-- Wallace tree-- first levelha1 : haport map(a => p01, b => p10,vdd => vdd, v

Seite 63

66 CHAPTER 2. COMBINATIONAL DESIGN EXAMPLESThis completes the synthesis pro ce ss for the adder tree. In the following section we design the last bloc

Seite 64 - 2.1.3 Adder Tree

2.1. THE DESIGN OF A 4-BIT MULTIPLIER USING ADDER TREES 672.1.5 4-bit MultiplierSince we have all the components of our multiplier we can start with a

Seite 65

68 CHAPTER 2. COMBINATIONAL DESIGN EXAMPLESAs we have already donw before, we use first FlatBeh to obtain a behavioral representation of our multiplier

Seite 66 - 2.1.4 Output Adder

2.1. THE DESIGN OF A 4-BIT MULTIPLIER USING ADDER TREES 69Then we use BOOG to map the description on the cell library provided by Alliance.% boog mult

Seite 67 - 2.1.5 4-bit Multiplier

List of Tables1.1 Options in ASIMUT. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 171.2 Set of types used in

Seite 68

70 CHAPTER 2. COMBINATIONAL DESIGN EXAMPLESFinally with LOON we reduce delays (which will insert buffers where appropiate).% loon -x 0 -m 4 smultiplier

Seite 69

2.1. THE DESIGN OF A 4-BIT MULTIPLIER USING ADDER TREES 71We are now ready to take our design into the layout phase in the design process. We use first

Seite 70

72 CHAPTER 2. COMBINATIONAL DESIGN EXAMPLESbe noticed from this figure we could extract with Cougar a structural description from the routed design file

Seite 71

2.1. THE DESIGN OF A 4-BIT MULTIPLIER USING ADDER TREES 73We are now ready to convert our symbolic design to a real one (using the technology provided

Seite 72

74 CHAPTER 2. COMBINATIONAL DESIGN EXAMPLESimplemented using the leaf designs we provide with the sources of the book.2.2 The use of Makefiles to autom

Seite 73

2.2. THE USE OF MAKEFILES TO AUTOMATE THE DESIGN FLOW 75We don’t change MBK WORK LIB since it is the same used in deriving the behavioral description.

Seite 74

76 CHAPTER 2. COMBINATIONAL DESIGN EXAMPLESrelation.ALLIANCE_BIN=$(ALLIANCE_TOP)/binVASY = $(ALLIANCE_BIN)/vasyASIMUT = $(ALLIANCE_BIN)/asimutBOOM = $

Seite 75

2.2. THE USE OF MAKEFILES TO AUTOMATE THE DESIGN FLOW 77This will generate an empty file with the name boom.done that will signal that BOOM has been ru

Seite 76

78 CHAPTER 2. COMBINATIONAL DESIGN EXAMPLESneed to modify it. We add to our Makefile the following lines.LOON = $(ALLIANCE_BIN)/loonloon.done : multi4.

Seite 77

2.2. THE USE OF MAKEFILES TO AUTOMATE THE DESIGN FLOW 79changed).% setenv MBK_CATAL_LIB $TARGET_LIBAnd, run ASIMUT using the following make command (t

Seite 78

8 LIST OF TABLES

Seite 79

80 CHAPTER 2. COMBINATIONAL DESIGN EXAMPLESWe place the design using the following command (the output has been shorthened to make it fit).% make multi

Seite 80

2.2. THE USE OF MAKEFILES TO AUTOMATE THE DESIGN FLOW 81We now route the design using NERO. For this, we modify our Makefile adding the following lines

Seite 81

82 CHAPTER 2. COMBINATIONAL DESIGN EXAMPLESone.% setenv RDS_TECHNO ../etc/techno-035.rds% setenv RDS_TECHNO_NAME $RDS_TECHNO% setenv MBK_IN_LO al% set

Seite 82

2.2. THE USE OF MAKEFILES TO AUTOMATE THE DESIGN FLOW 83And set a few new ones.% setenv SPI_MODEL $ALLIANCE_TOP/etc/spimodel.cfg% setenv MBK_SPI_MODEL

Seite 83 - And set a few new ones

84 CHAPTER 2. COMBINATIONAL DESIGN EXAMPLESWe now use LVX to compare the structural description of our design with the first one extracted by Cougar.We

Seite 84

2.2. THE USE OF MAKEFILES TO AUTOMATE THE DESIGN FLOW 85Makefile.DRUC = $(ALLIANCE_BIN)/drucRDS_TECHNO_SYMB = ../etc/techno-symb.rdsdruc.done : lvx.don

Seite 85

86 CHAPTER 2. COMBINATIONAL DESIGN EXAMPLESNow we can run S2R as follows (the output has been shorthened to make it fit).% make multi4.cif/usr/local/al

Seite 86

Bibliography[1] C. S. Wallace, ”A suggestion for a fast multiplier,” IEEE Trans. Electron. Comput., Vol. EC-13, No.1, pp.14-17, Feb., 1964.[2] L. Dadd

Seite 87 - Bibliography

PrefaceTechnology has advanced up to a point where almost anyone with the right tools and knowledge could do whatfew years ago was the task of a group

Kommentare zu diesen Handbüchern

Keine Kommentare