CWRU EECS 317 EECS 317 CAD Computer Design LECTURE 5: VHDL SYNTHESIS with SYNOPSYS dc_shell Instructor: Francis G. Wolff Case Western.

Slides:



Advertisements
Similar presentations
CWRU EECS 317 EECS 317 CAD Computer Aided Design LECTURE 2: Delay models, std_ulogic and with-select-when Instructor: Francis G. Wolff
Advertisements

LECTURE 4: The VHDL N-bit Adder
Logic Synthesis – 3 Optimization Ahmed Hemani Sources: Synopsys Documentation.
Utilizing the GDB debugger to analyze programs Background and application.
Tutorial 12: Enhancing Excel with Visual Basic for Applications
CWRU EECS 317 EECS 317 Computer Design LECTURE 6: State machines Instructor: Francis G. Wolff Case Western Reserve University This.
Integrated Circuits Laboratory Faculty of Engineering Digital Design Flow Using Mentor Graphics Tools Presented by: Sameh Assem Ibrahim 16-October-2003.
NETW-240 Shells Last Update Copyright Kenneth M. Chipps Ph.D. 1.
1 Omar F. Mousa Professor: Scott Wakefield Omar F. Mousa Professor: Scott Wakefield.
The Internet. Telnet Telnet means using your computer as a terminal. All commands you type are sent to the host computer you are connected to and executed.
King Fahd University of Petroleum and Minerals Computer Engineering Department COE 561 Digital Systems Design and Synthesis (Course Activity) Synthesis.
CIS392 Sp 03Assign#11 CIS392 Text Processing, Retrieval, and Mining Spring 03 Instructor: Dr. Y. F. Brook Wu BOW toolkit:
Synthesis Learning the different commands. Constraints Many different constraints available to apply to design: –Timing Constraints Max clock period Maximum.
Guide To UNIX Using Linux Third Edition
Guide to Linux Installation and Administration, 2e1 Chapter 6 Using the Shell and Text Files.
Introduction to Unix (CA263) Introduction to Shell Script Programming By Tariq Ibn Aziz.
Using Linux Commands 2 Lab#5
7/17/2009 rwjBROOKDALE COMMUNITY COLLEGE1 Unix Comp-145 C HAPTER 2.
Using Linux Commands 2 Lab#5. Sort command Sort the lines of text files. $ sort fileName by default it will sort in normal order(alphabetical 0-9 A-Z.
Using Macs and Unix Nancy Griffeth January 6, 2014 Funding for this workshop was provided by the program “Computational Modeling and Analysis of Complex.
Linux environment ● Graphical interface – X-window + window manager ● Text interface – terminal + shell.
Introduction to Shell Script Programming
Chapter Nine Advanced Shell Scripting1 System Programming Advanced Shell Scripting.
Introduction to Design Tools COE Review: Tools, functions, design flow Four tools we will use in this course – HDL Designer Suite FPGA Advantage.
Agenda User Profile File (.profile) –Keyword Shell Variables Linux (Unix) filters –Purpose –Commands: grep, sort, awk cut, tr, wc, spell.
– Introduction to the Shell 10/1/2015 Introduction to the Shell – Session Introduction to the Shell – Session 2 · Permissions · Users.
Mentor Tools tutorial Bold Browser Design Manager Design Architect Library Components Quicksim Creating and Compiling the VHDL Model.
Introduction to Unix – CS 21 Lecture 9. Lecture Overview Shell description Shell choices History Aliases Topic review.
Unix Tutorial for FreeSurfer Users. Helpful To Know FreeSurfer Tutorial Wiki:
CWRU EECS 317 EECS 317 CAD Computer Aided Design LECTURE 3: Synopsys Simulator Instructor: Francis G. Wolff Case Western Reserve University.
© 2003 Xilinx, Inc. All Rights Reserved For Academic Use Only Xilinx Design Flow FPGA Design Flow Workshop.
1 UNIX essentials (hands-on) the directory tree running programs the shell → command line processing → special characters → command types → shell variables.
Unix Tutorial for FreeSurfer Users. Helpful To Know FreeSurfer Tutorial Wiki:
UNIX/LINUX Shells Shell is an UNIX/LINUX command interpreter. Shell command can be internal or external. The code to execute an internal command is part.
Linux Operations and Administration
Active-HDL Interfaces Debugging C Code Course 10.
정 용 군 ( 전자공학과 대학원 ) 대상 : VLSI 설계 연구회 1,2,3 학년 기간 : ~ Synopsys Tool 교육 Synopsys 교육 1.
King Fahd University of Petroleum and Minerals Computer Engineering Department COE 561 Digital Systems Design and Synthesis (Course Activity) Synthesis.
Language Concepts Ver 1.1, Copyright 1997 TS, Inc. VHDL L a n g u a g e C o n c e p t s Page 1.
CWRU EECS 318 EECS 318 CAD Computer Aided Design LECTURE Simulator 1: Synopsys Simulator Instructor: Francis G. Wolff Case Western.
LECTURE 7: VHDL Standard Cell Library Package
CWRU EECS 317 EECS 317 Computer Design LECTURE 1: The VHDL Adder Instructor: Francis G. Wolff Case Western Reserve University.
Lesson 2-Touring Essential Programs. Overview Development of UNIX and Linux. Commands to execute utilities. Communicating instructions to the shell. Navigating.
1 Logic Synthesis Using Cadence Ambit. 2 Environment Setup Enter the following to.cshrc or a c-shell command file. –setenv LM_LICENSE_FILE full_path/license.dat.
This material exempt per Department of Commerce license exception TSU Xilinx Tool Flow.
Fall 08, Oct 31ELEC Lecture 8 (Updated) 1 Lecture 8: Design, Simulation Synthesis and Test Tools ELEC 2200: Digital Logic Circuits Nitin Yogi
Programmable Logic Training Course HDL Editor
Introduction to Programming Using C An Introduction to Operating Systems.
Undertow Suite Tutorial. Set the license environment variables Set up environment variable for the license manager: setenv UT_ROOT_DIR path/undertow (distribution.
Linux Commands C151 Multi-User Operating Systems.
CS 245 – Part 1 Using Operating Systems and Networks for Programmers Jiang Guo Dept. of Computer Science California State University Los Angeles.
THE C PROGRAMMING ENVIRONMENT. Four parts of C environment  Main menu  Editor status line and edit window  Compiler message window  “Hot Keys” quick.
CWRU EECS 318 EECS 318 CAD Computer Aided Design LECTURE Simulator 2: Textio, Wait, Clocks, and Test Benches Instructor: Francis G. Wolff
CWRU EECS 318 EECS 318 CAD Computer Aided Design LECTURE 6: State machines Instructor: Francis G. Wolff Case Western Reserve University.
INTRODUCTION TO SHELL SCRIPTING By Byamukama Frank
1 Introduction to Engineering Spring 2007 Lecture 18: Digital Tools 2.
Introduction to Unix for FreeSurfer Users
VLSI Synthesis and Simulation Tools Nitin Yogi 01/09/2009
Development Environment Basics
Andy Wang Object Oriented Programming in C++ COP 3330
Shell Script Assignment 1.
Shell Environments.
Writing Shell Scripts ─ part 3
John Carelli, Instructor Kutztown University
CSCI The UNIX System Shell Startup and Variables
Andy Wang Object Oriented Programming in C++ COP 3330
Founded in Silicon Valley in 1984
Linux Shell Script Programming
Chapter 3 The UNIX Shells
Presentation transcript:

CWRU EECS 317 EECS 317 CAD Computer Design LECTURE 5: VHDL SYNTHESIS with SYNOPSYS dc_shell Instructor: Francis G. Wolff Case Western Reserve University This presentation uses powerpoint animation: please viewshow

CWRU EECS 317 LIBRARY IEEE; USE IEEE.std_logic_1164.all; USE IEEE.std_logic_arith.all; ENTITY Generic_Mux IS GENERIC (n: INTEGER :=8); PORT (Y:OUTstd_logic_vector(n-1 downto 0); a:INstd_logic_vector(n-1 downto 0); b:INstd_logic_vector(n-1 downto 0); S:INstd_logic_vector(0 downto 0) ); END ENTITY; LIBRARY IEEE; USE IEEE.std_logic_1164.all; USE IEEE.std_logic_arith.all; ENTITY Generic_Mux IS GENERIC (n: INTEGER :=8); PORT (Y:OUTstd_logic_vector(n-1 downto 0); a:INstd_logic_vector(n-1 downto 0); b:INstd_logic_vector(n-1 downto 0); S:INstd_logic_vector(0 downto 0) ); END ENTITY; Review: Generic 2-to-1 Datapath Multiplexor Entity Y 0101 abab S n n n The file generic_mux.vhd contains:

CWRU EECS 317 Review: Generic 2-to-1 Datapath Architecture ARCHITECTURE Generic_Mux_arch OF Generic_Mux IS BEGIN WITH S SELECT Y <= a WHEN "1", b WHEN OTHERS; END ARCHITECTURE; CONFIGURATION Generic_Mux_cfg OF Generic_Mux IS FOR Generic_Mux_arch END FOR; END CONFIGURATION; ARCHITECTURE Generic_Mux_arch OF Generic_Mux IS BEGIN WITH S SELECT Y <= a WHEN "1", b WHEN OTHERS; END ARCHITECTURE; CONFIGURATION Generic_Mux_cfg OF Generic_Mux IS FOR Generic_Mux_arch END FOR; END CONFIGURATION;

CWRU EECS 317 Synthesis: Debugging syntax errors Use the editor in host #1 to to fix the errors then write (:w) then in host #2 type !an to reanalyze the vhdl source code until there are no more errors. Use the editor in host #1 to to fix the errors then write (:w) then in host #2 type !an to reanalyze the vhdl source code until there are no more errors. Open another host terminal #2 (or telnet) window and start dc_shell in order to analyze vhdl for syntax errors. dc_shell > analyze -f vhdl generic_mux.vhd Open another host terminal #2 (or telnet) window and start dc_shell in order to analyze vhdl for syntax errors. dc_shell > analyze -f vhdl generic_mux.vhd Open a host terminal #1 (or telnet) window and Enter the generic_mux.vhd using an ascii editor: vi generic_mux.vhd i--i for insert mode ….--enter code ESC--Escape key to exit insert mode :w--write the file but do not exit Open a host terminal #1 (or telnet) window and Enter the generic_mux.vhd using an ascii editor: vi generic_mux.vhd i--i for insert mode ….--enter code ESC--Escape key to exit insert mode :w--write the file but do not exit

CWRU EECS 317 Synthesis: Quick example of Design Compiler dc_shell > elaborate generic_mux -arch generic_mux_arch -lib WORK -update > uniquify > compile > write -hierarchy > analyze -format vhdl -library WORK generic_mux.vhd > quit analyze is required for each file in the hierarchical design starting from the bottom up elaborate only the top level design and generic_mux becomes the current design Design name is entity name generic_mux NOT the filename generic_mux.vhd To start the design compiler type: writes out the current design generic_mux.db and others > list_designs > report_cell

CWRU EECS 317 Viewing Results: Design Analyzer (dc_shell GUI) double click on the generic_mux icon to see the port-view double click on the port view icon to see the gate-level view File => quit => ok The system-level view is shown File => Read => generic_mux.db To view.db logic gate files, type: design_analyzer& In order to print: File => Plot => ok

CWRU EECS 317 Synthesis: Design Analyzer quick overview Click on generic_mux design icon then Edit=>Uniquify=>Hierarchy Tools=>Design Optimization=>ok (now click on icon to view) File => save File=>analyze=> generic_mux.vhd => cancel Design_analyzer is just a GUI that is built on top of dc_shell To start the design analyzer GUI type: design_analyzer& Every command in dc_shell can be done with the file menu File=>elaborate=>library: click on file WORK Design: click on file generic_mux_arch => ok File => quit

CWRU EECS 317 dc_shell: analyze and elaborate analyze -format vhdl -library WORK generic_mux.vhd.vhd source elaborate generic_mux -arch generic_mux_arch -lib WORK -update.vhd directory./WORK Design files: contains all architecture and configuration design names extracted from the analyze command arch & config names.db design compile

CWRU EECS 317 dc_shell: analyze The analyze command does the following Reads in the VHDL source file explicit:analyze -format vhdl -library WORK filename.vhd short form:analyze -f vhdl filename.vhd Check for errors (without building any generic logic) Creates VHDL library objects and stores them in -library WORK by the default library in the “.synopsys_dc.setup” file define_design_library WORK -path./WORK If analyze command reports errors then The VHDL source must be fixed And analyze must be run again.

CWRU EECS 317 dc_shell: elaborate The elaborate command does the following Elaborates the entity design read in by analyze (./WORK) explicit:elaborate entityname -architecture archname -update short form:elaborate entityname -arch archname -update Creates a technology-independent design Replaces VHDL arithmetic operators with Designware components Generic VHDL parameters can be set or changed elaborate ….... -parameters “N=1,Cout=2” Displays and sets the current design

CWRU EECS 317 dc_shell: report_hierarchy, report_design Display the hierarchy of the current design command: report_hierarchy [-full] Displays attributes of the current design, such as: Technology library, flip-flop types, operation conditions Wire load model, pin delays command: report_design

CWRU EECS 317 dc_shell: list and current design The list -designs command does the following lists each entity design name current read or elaborated A star (*) preceding the design name is the current design lists the file name of each design command: list_designs alternate command: list -designs Displays the current design to be compiled command: current_design command: current_design = “entityname” Sets the current design to “entityname”

CWRU EECS 317 dc_shell: compile and design optimization The compile command does the following explicit:compile -map_effort medium short form: compile Performs logic-level and gate-level synthesis and area and delay optimizations on the current design Specifies the relative amount of CPU time spend during the mapping phase of the compile. The default is medium. -map_effort [ low | medium | high ] -ungroup_all Collapses all levels of hierarchy in a design, except those that have the don’t_touch attribute set.

CWRU EECS 317 dc_shell: report_cell, report_area Displays information about the ASIC logic cells in the current design Displays cell area information in the current design command:report_area [>filename.txt] command: report_cell [-connection] [-verbose] [>filename.txt] -connection shows the netlist connections between cells Write the data to a file: report_cell >generic_mux_cell.txt -connection -verbose shows more netlist details

CWRU EECS 317 dc_shell: report_port, report_timing Displays port informationin the current design command:report_port [-verbose] [>filename.txt] -verbose gives Input and Output delays Displays delay timing the current design command:report_timing -from -to For example: report_timing -from X0 -to F command:report_timing Displays maximum delay timing in the current design command: report_timing -delay [min|max|max_fall|max_rise] Displays various delay timings in the current design

CWRU EECS 317 dc_shell: write The write command does the following Writes a design netlist or schematic from dc_shell to a file explicit: write -hierarchy -format db -output generic_mux.db short form: write -h Specifies the output format of the design dbSynopsys internal database format (default) edifElectronic Design Interchange Format vhdlVHDL netlist based on technology files -format [db | edif | vhdl | verlog ] -f [db | edif | vhdl | verlog ] -hierarchy or -h Write all designs in the hierarchy

CWRU EECS 317 dc_shell: include scripts Reads in and executes the file as dc_shell commands Includes can contain includes and /* comments */ Using include files is the proper way to design ASICs command: include filename.dc_shell For example, the file generic_mux.dc_shell contains: analyze -format vhdl -library WORK generic_mux.vhd elaborate generic_mux -arch generic_mux_arch -lib WORK -update report_hierarchy uniquify compile /* write out reports use >> for append to file */ report_cell >generic_mux.report report_area >>generic_mux.report report_timing >>generic_mux.report write -hierarchy exit analyze -format vhdl -library WORK generic_mux.vhd elaborate generic_mux -arch generic_mux_arch -lib WORK -update report_hierarchy uniquify compile /* write out reports use >> for append to file */ report_cell >generic_mux.report report_area >>generic_mux.report report_timing >>generic_mux.report write -hierarchy exit

CWRU EECS 317 dc_shell: help, history, sold, list command:help Display dc_shell command help For example: help report_area command:list -commands Displays all the commands in dc_shell command:list -variables [system | compile |... | all ] Displays all the variables in dc_shell command: sold & Displays the adobe.pdf Synopsys OnLine Documents Should be started outside of dc_shell command:history Display all the commands excuted in dc_shell The history file is the user’s directory as command.log

CWRU EECS 317 dc_shell: internal Unix commands command: ls [ -l ] Displays the current file directory Displays the current file directory in long format command: cd Set the current directory: cd /home/users/wolff Set the current $HOME directory: cd Go up one directory level: cd.. command: pwd Display the current directory command: more filename Display the contents of a file: more generic_mux.vhd command: sh Executes Unix shell commands outside dc_shell: sh ps

CWRU EECS 317 dc_shell: Creating a Design Environment The following steps are required to setup a design environment (note ~ is the user’s home directory): (1) Make sure your Unix account uses cshell Otherwise everytime after you login & use synopsys: csh (2) create a directory, say:mkdir ~/SYNOPSYS (3) create a work directory: mkdir ~/SYNOPSYS/WORK (4) copy the startup shell file:cp /home/users/wolff/.cshrc ~ (5) copy the Synopsys setup files: cp /home/users/wolff/SYNOPSYS/.synopsys_dc.setup ~/SYNOPSYS cp /home/users/wolff/SYNOPSYS/.synopsys_vss.setup ~/SYNOPSYS (6) Re-login to your Unix account (7) Enter into your design directory: cd SYNOPSYS (8) Start the Synopsys tool: dc_shell

CWRU EECS 317 dc_shell:.synopsys_dc.setup Both dc_shell and design_analyzer reads the.synopsys_dc.setup file first which contains default settings, search paths for work and technology directories For example, suppose that the following line is contain in the “.synopsys_dc.setup file” define_design_library WORK -path./WORK then the dc_shell command analyze analyze -format vhdl -library WORK generic_mux.vhd can be now accomplished without the -library WORK option: analyze -format vhdl generic_mux.vhd

CWRU EECS 317 dc_shell:.synopsys_dc.setup example /* For example, “.synopsys_dc.setup file” */ /* design_analyzer=>setup=>defaults: shows these 6 items */ company = “Case Western Reserve University” designer = “Francis G. Wolff” /* directory search paths for target, link, and symbol libs */ search_path = {../WORK /home2/synopsys/ /libraries/syn } link_library = { class.db } target_library = { class.db } /* symbol library contains graphical logic symbols */ symbol_library = { class.sdb lsi10k.sdb generic.sdb } plot_command “lpr -Polin404” define_design_library WORK -path./WORK /* design_analyzer=>view=>style: don’t show net or pins */ net_name_layer.visible = “true” pin_name_layer.visible = “false”

CWRU EECS 317 dc_shell:.synopsys_vss.setup example WORK> DEFAULT DEFAULT:./WORK TIMEBASE= ns

CWRU EECS 317 dc_shell: cshell user environment:.cshrc example set history=300 savehist=300 set path=(. /usr/ucb /bin /usr/bin /usr/local/bin /usr/ccs/bin ) set path=( ${path} /usr/local/sbin /usr/sbin /sbin ) set path=( ${path} /usr/bin/X11 /usr/X/bin /usr/X/demo ) # solaris paths set path=( ${path} /usr/dt/bin /usr/openwin/bin /usr/dt/appconfig/netscape ) umask 077 set " setenv TERM vt100 setenv PRINTER olin404 if( ${?prompt} ) then alias setprompt 'set prompt = "' alias cd 'cd \!* ; setprompt' alias pushd 'pushd \!* ; setprompt' alias popd 'popd \!* ; setprompt' setprompt endif # required by g++ compiler, runtime sharable libraries setenv LD_LIBRARY_PATH /usr/local/lib:/usr/local/X11/lib:/usr/local/lib/X11 setenv LD_LIBRARY_PATH ${LD_LIBRARY_PATH}:/usr/dt/lib:/usr/openwin/lib # require by make CC default setenv CC /usr/local/bin/gcc setenv LM_LICENSE_FILE setenv SYNOPSYS /home2/synopsys/synthesis if -d $SYNOPSYS then source $SYNOPSYS/admin/setup/environ.csh # Synopsys Online Documentation: sold set path = ( ${path} ${SYNOPSYS} ) set path = ( ${path} ${SYNOPSYS}/${ARCH}/bin ) set path = ( ${path} ${SYNOPSYS}/${ARCH}/license/bin ) setenv MANPATH ${MANPATH}:${SYNOPSYS}/doc/license/man set history=300 savehist=300 set path=(. /usr/ucb /bin /usr/bin /usr/local/bin /usr/ccs/bin ) set path=( ${path} /usr/local/sbin /usr/sbin /sbin ) set path=( ${path} /usr/bin/X11 /usr/X/bin /usr/X/demo ) # solaris paths set path=( ${path} /usr/dt/bin /usr/openwin/bin /usr/dt/appconfig/netscape ) umask 077 set " setenv TERM vt100 setenv PRINTER olin404 if( ${?prompt} ) then alias setprompt 'set prompt = "' alias cd 'cd \!* ; setprompt' alias pushd 'pushd \!* ; setprompt' alias popd 'popd \!* ; setprompt' setprompt endif # required by g++ compiler, runtime sharable libraries setenv LD_LIBRARY_PATH /usr/local/lib:/usr/local/X11/lib:/usr/local/lib/X11 setenv LD_LIBRARY_PATH ${LD_LIBRARY_PATH}:/usr/dt/lib:/usr/openwin/lib # require by make CC default setenv CC /usr/local/bin/gcc setenv LM_LICENSE_FILE setenv SYNOPSYS /home2/synopsys/synthesis if -d $SYNOPSYS then source $SYNOPSYS/admin/setup/environ.csh # Synopsys Online Documentation: sold set path = ( ${path} ${SYNOPSYS} ) set path = ( ${path} ${SYNOPSYS}/${ARCH}/bin ) set path = ( ${path} ${SYNOPSYS}/${ARCH}/license/bin ) setenv MANPATH ${MANPATH}:${SYNOPSYS}/doc/license/man # design_analyzer, dc_shell, fpga_shell, bc_shell set path = ( ${path} ${SYNOPSYS}/${ARCH}/syn/bin ) setenv MANPATH ${MANPATH}:${SYNOPSYS}/doc/syn/man setenv MANPATH ${MANPATH}:${SYNOPSYS}/doc/pt/man # designware set path = ( ${path} ${SYNOPSYS}/${ARCH}/dware/bin ) set path = ( ${path} ${SYNOPSYS}/${ARCH}/pc/bin ) setenv MANPATH ${MANPATH}:${SYNOPSYS}/doc/pc/man setenv MANPATH ${MANPATH}:${SYNOPSYS}/doc/motif/man setenv SIMWAVEHOME ${SYNOPSYS}/${ARCH}/ssi set path = ( ${path} ${SYNOPSYS}/${ARCH}/ssi/bin ) set path = ( ${path} ${SYNOPSYS}/${ARCH}/vhmc/bin ) echo ".cshrc information: $SYNOPSYS is mounted" else echo ".cshrc warning: $SYNOPSYS is not mounted" endif setenv SYNOPSYS_SIM /home2/synopsys/simulation if -d $SYNOPSYS_SIM then # vhdlan, vhdldbx, vhdlsim (event-based simulators) source $SYNOPSYS_SIM/admin/setup/environ.csh echo ".cshrc information: $SYNOPSYS_SIM is mounted" # Setup environment for Cyclone RTL cycle-based simulator # #source $SYNOPSYS/admin/setup/snps_cy.setup else echo ".cshrc warning: $SYNOPSYS_SIM is not mounted" endif alias ls ls -aF alias m more # design_analyzer, dc_shell, fpga_shell, bc_shell set path = ( ${path} ${SYNOPSYS}/${ARCH}/syn/bin ) setenv MANPATH ${MANPATH}:${SYNOPSYS}/doc/syn/man setenv MANPATH ${MANPATH}:${SYNOPSYS}/doc/pt/man # designware set path = ( ${path} ${SYNOPSYS}/${ARCH}/dware/bin ) set path = ( ${path} ${SYNOPSYS}/${ARCH}/pc/bin ) setenv MANPATH ${MANPATH}:${SYNOPSYS}/doc/pc/man setenv MANPATH ${MANPATH}:${SYNOPSYS}/doc/motif/man setenv SIMWAVEHOME ${SYNOPSYS}/${ARCH}/ssi set path = ( ${path} ${SYNOPSYS}/${ARCH}/ssi/bin ) set path = ( ${path} ${SYNOPSYS}/${ARCH}/vhmc/bin ) echo ".cshrc information: $SYNOPSYS is mounted" else echo ".cshrc warning: $SYNOPSYS is not mounted" endif setenv SYNOPSYS_SIM /home2/synopsys/simulation if -d $SYNOPSYS_SIM then # vhdlan, vhdldbx, vhdlsim (event-based simulators) source $SYNOPSYS_SIM/admin/setup/environ.csh echo ".cshrc information: $SYNOPSYS_SIM is mounted" # Setup environment for Cyclone RTL cycle-based simulator # #source $SYNOPSYS/admin/setup/snps_cy.setup else echo ".cshrc warning: $SYNOPSYS_SIM is not mounted" endif alias ls ls -aF alias m more

CWRU EECS 317 Assignment #5 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.