Professional Documents
Culture Documents
EECS 317
317 CAD
CAD
Computer
Computer Design
Design
LECTURE
LECTURE 5:
5:
VHDL
VHDL SYNTHESIS
SYNTHESIS with
with
SYNOPSYS
SYNOPSYS dc_shell
dc_shell
Instructor: Francis G. Wolff
wolff@eecs.cwru.edu
Case Western Reserve University
This presentation uses powerpoint animation: please viewshow
CWRU EECS 317
Review: Generic 2-to-1 Datapath Multiplexor Entity
PORT
PORT(Y:
(Y: OUT
OUT std_logic_vector(n-1
std_logic_vector(n-1 downto
downto0);
0);
a:
a: IN
IN std_logic_vector(n-1
std_logic_vector(n-1 downto
downto 0);
0);
b:
b: IN
IN std_logic_vector(n-1
std_logic_vector(n-1 downto
downto 0);
0);
S:
S: IN
IN std_logic_vector(0
std_logic_vector(0downto
downto0)
0)
););
END
ENDENTITY;
ENTITY;
CWRU EECS 317
Review: Generic 2-to-1 Datapath Architecture
ARCHITECTURE
ARCHITECTUREGeneric_Mux_arch
Generic_Mux_archOF
OFGeneric_Mux
Generic_MuxIS
IS
BEGIN
BEGIN
WITH
WITHSSSELECT
SELECT
YY<=
<=aaWHEN
WHEN"1",
"1",
bbWHEN
WHENOTHERS;
OTHERS;
END
ENDARCHITECTURE;
ARCHITECTURE;
CONFIGURATION
CONFIGURATIONGeneric_Mux_cfg
Generic_Mux_cfgOF
OFGeneric_Mux
Generic_MuxIS
IS
FOR
FORGeneric_Mux_arch
Generic_Mux_arch
END
ENDFOR;
FOR;
END
ENDCONFIGURATION;
CONFIGURATION;
Open
Openaahost
hostterminal
terminal#1
#1(or
(or telnet)
telnet)window
windowand and
Enter
Enterthe
thegeneric_mux.vhd
generic_mux.vhdusing
usingan anascii
asciieditor:
editor:
vi
vigeneric_mux.vhd
generic_mux.vhd
ii --i
--ifor
forinsert
insert mode
mode
….
…. --enter
--entercode
code
ESC
ESC --Escape
--Escapekey key to
to exit
exit insert
insert mode
mode
:w
:w --write
--writethe
thefile
filebut
butdo
donotnotexit
exit
Open
Openanother
anotherhost
hostterminal
terminal#2
#2(or
(ortelnet)
telnet)window
windowand
and
start
startdc_shell
dc_shellin
inorder
order to
to analyze
analyzevhdl
vhdl for
forsyntax
syntaxerrors.
errors.
dc_shell
dc_shell
>>analyze
analyze-f-fvhdl
vhdlgeneric_mux.vhd
generic_mux.vhd
Use
Usethe
theeditor
editorin
inhost
host#1
#1 to
to to
tofix
fixthe
theerrors
errors then
then write
write (:w)
(:w)
then
thenininhost
host#2
#2type
type!an
!anto
toreanalyze
reanalyzethethevhdl
vhdlsource
sourcecode
code
until
untilthere
thereare
arenonomore
moreerrors.
errors. CWRU EECS 317
Synthesis: Quick example of Design Compiler
To start the design
analyze
analyzeisisrequired
requiredfor
foreach
eachfile
file
compiler type:
in
inthe
thehierarchical
hierarchicaldesign
design
dc_shell starting
startingfrom
fromthe
thebottom
bottomup
up
> analyze -format vhdl -library WORK generic_mux.vhd
> elaborate generic_mux -arch generic_mux_arch -lib WORK -update
> list_designs Design
Designname
nameisis entity
entity name
name
generic_mux
generic_mux NOTNOTthe the filename
filename
> uniquify generic_mux.vhd
generic_mux.vhd
> compile elaborate
elaborate only
onlythe
thetop
toplevel
level
> report_cell design
designand
andgeneric_mux
generic_mux
becomes
becomesthe thecurrent
currentdesign
design
> write -hierarchy
> quit writes
writesout
outthe
thecurrent
currentdesign
design
generic_mux.db
generic_mux.dband andothers
others
CWRU EECS 317
Viewing Results: Design Analyzer (dc_shell GUI)
double click on the port view icon to see the gate-level view
analyze
analyze-format
-formatvhdl
vhdl elaborate
elaborategeneric_mux
generic_mux-arch
-arch
-library
-libraryWORK
WORK generic_mux_arch
generic_mux_arch-lib
-libWORK
WORK
generic_mux.vhd
generic_mux.vhd -update
-update
command: report_design
• Displays attributes of the current design, such as:
• Technology library, flip-flop types, operation conditions
• Wire load model, pin delays
cp /home/users/wolff/SYNOPSYS/.synopsys_dc.setup ~/SYNOPSYS
cp /home/users/wolff/SYNOPSYS/.synopsys_vss.setup ~/SYNOPSYS
a) Synthesize the N-bit ALU (default N=8) using the vhdl code
of assignment #4 using dc_shell. Report the area, cells and
timing information of your synthesis. Hand in the source files
and session using the Unix script command. Also, hand in
the design_analyzer logic diagrams of the 1-bit alu and the 8-
bit ALU. Remember you cannot synthesize the test bench.