CWRU EECS 318 EECS 318 CAD Computer Aided Design LECTURE Simulator 1: Synopsys Simulator 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

L23 – Adder Architectures. Adders  Carry Lookahead adder  Carry select adder (staged)  Carry Multiplexed Adder  Ref: text Unit 15 9/2/2012 – ECE 3561.
1 Introduction to VHDL (Continued) EE19D. 2 Basic elements of a VHDL Model Package Declaration ENTITY (interface description) ARCHITECTURE (functionality)
LECTURE 4: The VHDL N-bit Adder
CWRU EECS 317 EECS 317 Computer Design LECTURE 6: State machines Instructor: Francis G. Wolff Case Western Reserve University This.
CWRU EECS 318 EECS 318 CAD Computer Aided Design LECTURE 4: Delay models & std_ulogic Instructor: Francis G. Wolff Case Western Reserve.
2-to-1 Multiplexer: if Statement Discussion D2.1 Example 4.
Cadence Verilog Simulation Guide and Tutorial PART I ECE 4680 Computer Architecture Fall 2005.
Lab Lecture 3 VHDL Architecture styles and Test Bench -Aahlad.
ECE 331 – Digital System Design Single-bit Adder Circuits and Adder Circuits in VHDL (Lecture #12) The slides included herein were taken from the materials.
ECE 331 – Digital System Design
CSET 4650 Field Programmable Logic Devices Dan Solarek VHDL Behavioral & Structural.
L23 – Arithmetic Logic Units. Arithmetic Logic Units (ALU)  Modern ALU design  ALU is heart of datapath  Ref: text Unit 15 9/2/2012 – ECE 3561 Lect.
AND Gate: A Logic circuit whose output is logic ‘1’ if and only if all of its inputs are logic ‘1’.
Linux Shell. 2 Linux Command-Line Interface ■ Linux shells: A shell is a command interpreter that allows you to type commands from the keyboard to interact.
CWRU EECS 317 EECS 317 CAD Computer Design LECTURE 5: VHDL SYNTHESIS with SYNOPSYS dc_shell Instructor: Francis G. Wolff Case Western.
1 Data Object Object Types A VHDL object consists of one of the following: –Signal, Which represents interconnection wires that connect component instantiation.
(1) Programming Mechanics © Sudhakar Yalamanchili, Georgia Institute of Technology, 2006.
1 H ardware D escription L anguages Basic Language Concepts.
Modeling styles: 1. Structural Modeling: As a set of interconnected components (to represent structure), 2. Dataflow Modeling: As a set of concurrent assignment.
CWRU EECS 317 EECS 317 CAD Computer Aided Design LECTURE 3: Synopsys Simulator Instructor: Francis G. Wolff Case Western Reserve University.
DSD,USIT,GGSIPU1 Entity declaration –describes the input/output ports of a module entity reg4 is port ( d0, d1, d2, d3, en, clk : in std_logic; q0, q1,
VHDL TUTORIAL Preetha Thulasiraman ECE 223 Winter 2007.
ENG6090 Reconfigurable Computing Systems Hardware Description Languages Part 6: Configurations.
Figure 5.1 Conversion from decimal to binary. Table 5.1 Numbers in different systems.
LECTURE 8: VHDL PROCESSES
Graduate Computer Architecture I VHDL Structure and Testing Michael Sorensen.
GHDL Tutorial From with-ghdl/ with-ghdl/
정 용 군 ( 전자공학과 대학원 ) 대상 : VLSI 설계 연구회 1,2,3 학년 기간 : ~ Synopsys Tool 교육 Synopsys 교육 1.
L26 – Datapath ALU implementation
LECTURE 7: VHDL Standard Cell Library Package
Carry look ahead adder P (I) = a(I) xor b(I); G(I) = a(I) and b(I); S(I) = p(I) xor c(I); Carry(I+1) = c(I)p(I) + g(I)
CWRU EECS 317 EECS 317 Computer Design LECTURE 1: The VHDL Adder Instructor: Francis G. Wolff Case Western Reserve University.
Basic Overview of VHDL Matthew Murach Slides Available at:
2-Jun-16EE5141 Chapter 3 ä The concept of the signal ä Process concurrency ä Delta time ä Concurrent and sequential statements ä Process activation by.
ENG2410 Digital Design LAB #5 Modular Design and Hierarchy using VHDL.
Fall 08, Oct 31ELEC Lecture 8 (Updated) 1 Lecture 8: Design, Simulation Synthesis and Test Tools ELEC 2200: Digital Logic Circuits Nitin Yogi
Introduction to VLSI Design – Lec01. Chapter 1 Introduction to VLSI Systems Lecture # 6 Computer-Aided Design Technology for VLSI.
CWRU EECS 318 EECS 318 CAD Computer Aided Design LECTURE 5: AOIs, WITH-SELECT-WHEN, WHEN-ELSE Instructor: Francis G. Wolff Case Western.
L12 – VHDL Overview. VHDL Overview  HDL history and background  HDL CAD systems  HDL view of design  Low level HDL examples  Ref: text Unit 10, 17,
Copyright(c) 1996 W. B. Ligon III1 Getting Started with VHDL VHDL code is composed of a number of entities Entities describe the interface of the component.
Fall 2004EE 3563 Digital Systems Design EE 3563 VHSIC Hardware Description Language  Required Reading: –These Slides –VHDL Tutorial  Very High Speed.
Shell Advanced Features. Module 8 Shell Advanced Features ♦ Introduction In Linux systems, the shells are often referred to as command line interfaces.
Reconfigurable Computing - VHDL John Morris Computer Science/ Electrical and Computer Engineering The University of Auckland Iolanthe racing off Fremantle,
1 component OR_3 port (A,B,C: in bit; Z: out bit); end component ; Reserved Words  Declarations of Components and Entities are similar  Components are.
ECE 331 – Digital System Design Single-bit Adder Circuits and Adder Circuits in VHDL (Lecture #11) The slides included herein were taken from the materials.
(1) Basic Language Concepts © Sudhakar Yalamanchili, Georgia Institute of Technology, 2006.
CEC 220 Digital Circuit Design More VHDL Fri, February 27 CEC 220 Digital Circuit Design Slide 1 of 15.
1 Introduction to VHDL Part 2 Fall We will use Std_logic And, Or have same precedence See slide 8 of part 1.
2/10/07DSD,USIT,GGSIPU1 BCD adder KB3B2B1B0CD3D2D1D
Digital System Projects
CWRU EECS 318 EECS 318 CAD Computer Aided Design LECTURE 3: The VHDL N-bit Adder Instructor: Francis G. Wolff Case Western Reserve.
Data Storage VHDL ET062G & ET063G Lecture 4 Najeem Lawal 2012.
Introduction to VHDL Coding Wenchao Cao, Teaching Assistant Department of EECS University of Tennessee.
IAY 0600 Digital Systems Design Event-Driven Simulation VHDL Discussion Alexander Sudnitson Tallinn University of Technology.
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.
1 Computer Architecture & Assembly Language Spring 2009 Dr. Richard Spillman Lecture 11 – ALU Design.
LAB #5 Modular Design and Hierarchy using VHDL
Combinational logic circuit
Elements of Structural Models
Basic Language Concepts
ENG6530 Reconfigurable Computing Systems
Instructions to get MAX PLUS running
CSCI The UNIX System Shell Startup and Variables
Hardware Descriptive Languages these notes are taken from Mano’s book
CPE 528: Lecture #3 Department of Electrical and Computer Engineering University of Alabama in Huntsville.
Four Bit Adder Sum A Cin B Cout 10/9/2007 DSD,USIT,GGSIPU.
4-Input Gates VHDL for Loops
Digital Logic with VHDL
Presentation transcript:

CWRU EECS 318 EECS 318 CAD Computer Aided Design LECTURE Simulator 1: Synopsys Simulator Instructor: Francis G. Wolff Case Western Reserve University This presentation uses powerpoint animation: please viewshow

CWRU EECS 318 The adder file test bench hierarchy adder_full.vhd adder_full_tb.vhd

CWRU EECS 318 adder_full.vhd: full 1-bit adder ARCHITECTURE adder_full_arch OF adder_full IS BEGIN Sum<= ( x XOR y ) XOR Cin; Cout<= ( x AND y ) OR (Cin AND (x OR y)); END; CONFIGURATION adder_full_cfg OF adder_full IS FOR adder_full_arch END FOR; END CONFIGURATION; LIBRARY IEEE; use IEEE.std_logic_1164.all; ENTITY adder_full IS PORT (x, y, Cin: IN std_logic; Sum, Cout: OUT std_logic ); END;

CWRU EECS 318 VHDL analyzer: vhdlan For example: > vhdlan -NOEVENT adder_full.vhd Synopsys 1076 VHDL Analyzer Version May 24, 2000 Copyright (c) by Synopsys, Inc. ALL RIGHTS RESERVED This program is proprietary and confidential information of Synopsys, Inc. and may be used and disclosed only as authorized in a license agreement controlling such use and disclosure. Unix command: vhdlan -NOEVENT Must be done to every vhdl file in the design

CWRU EECS 318 VHDL Simulator: vhdlsim Unix command: vhdlsim Starts the text based vhdl simulator For example: > vhdlsim adder_full_cfg Synopsys 1076 VHDL Simulator Version May 24, 2000 Copyright (c) by Synopsys, Inc. ALL RIGHTS RESERVED This program is proprietary and confidential information of Synopsys, Inc. and may be used and disclosed only as authorized in a license agreement controlling such use and disclosure. # Simulator command line prompt #

CWRU EECS 318 VHDL Simulator list components: ls vhdlsim list command: ls [-type] [-value] lists the vhdl component types and data values # ls -type ADDER_FULLCOMPONENT INSTANTIATION STATEMENT STANDARDPACKAGE ATTRIBUTESPACKAGE STD_LOGIC_1164PACKAGE _KERNELPROCESS STATEMENT # # ls ADDER_FULL STANDARD ATTRIBUTES STD_LOGIC_1164 _KERNEL After reading in the adder_full.vhd design, a list will show

CWRU EECS 318 VHDL Simulator change directory: cd and pwd # ls -type XIN PORT type = STD_LOGIC YIN PORT type = STD_LOGIC CININ PORT type = STD_LOGIC SUMOUT PORT type = STD_LOGIC COUTOUT PORT type = STD_LOGIC _P0PROCESS STATEMENT # cd ADDER_FULL # pwd /ADDER_FULL vhdlsim cd command:cd cd.. pwd cd - change design hierarchy (cd.. go up a level) pwd - display present working directory Alternately, using full paths # ls -type /ADDER_FULL Alternately, using full paths # ls -type /ADDER_FULL

CWRU EECS 318 VHDL Simulator assign signal: assign # assign ‘1’ X # ls -value X'U' Y'U' CIN'U' SUM'U' COUT'U' vhdlsim command: assign [-after ] assign a value to a signal # ls -value X'1' Y'U' CIN'U' SUM'U' COUT'U' Alternately, using full paths # assign ‘1’ /ADDER_FULL/X Alternately, using full paths # assign ‘1’ /ADDER_FULL/X

CWRU EECS 318 VHDL Simulator run simulation: run # run # assign '1' X # assign '1' Y # assign '0' Cin # ls -value X'1' Y'1' CIN'0' SUM'U' COUT'U' vhdlsim command: run [ ] Use Control-C to cancel a simulation # ls -value X'1' Y'1' CIN'0' SUM ’0' COUT’1' This is what we would expect

CWRU EECS 318 VHDL Simulator include vhdlsim command: include [-e] Reads and executes vhdlsim commands from a file -e will displays the lines as it reads them in cd ADDER_FULL assign '1' X assign '1' Y assign '0' Cin ls -value >adder_full.run run ls -value >>adder_full.run exit cd ADDER_FULL assign '1' X assign '1' Y assign '0' Cin ls -value >adder_full.run run ls -value >>adder_full.run exit For example, the file adder_full.vhdlsim contains: > overwrite file >> append to file

CWRU EECS 318 VHDL Simulator include using full path names assign '1' /ADDER_FULL/X assign '1' /ADDER_FULL/Y assign '0' /ADDER_FULL/Cin ls -value /ADDER_FULL >adder_full.run run ls -value /ADDER_FULL >>adder_full.run exit assign '1' /ADDER_FULL/X assign '1' /ADDER_FULL/Y assign '0' /ADDER_FULL/Cin ls -value /ADDER_FULL >adder_full.run run ls -value /ADDER_FULL >>adder_full.run exit For example, adder_full.vhdlsim using full path names:

CWRU EECS 318 VHDL Simulator trace vhdlsim command: trace Traces vhdl signals on Synopsys Waveform Viewer To best view signals a time element must be added Use View => Full Fit in order to fully view the signals cd ADDER_FULL assign -after 5 '1' X assign -after 5 '1' Y assign -after 5 '0' Cin trace X Y Cin Sum Cout ls -value run ls -value exit cd ADDER_FULL assign -after 5 '1' X assign -after 5 '1' Y assign -after 5 '0' Cin trace X Y Cin Sum Cout ls -value run ls -value exit For example,

CWRU EECS 318 VHDL Simulator: abstime, step, next, status vhdlsim command: abstime display the current absolute simulation time so far vhdlsim command: step [ ] step through each vhdl statement, default n=1 vhdlsim command: next [n steps] step through each vhdl statement within current arch vhdlsim command: status show current simulation status

CWRU EECS 318 VHDL Simulator: where, environment, restart vhdlsim command: where displays where the process and event stacks vhdlsim command: environment displays the simulator environmental variables vhdlsim command: restart restart the simulation using all previous commands Clean restart: restart /dev/null

CWRU EECS 318 VHDL Simulator: help vhdlsim command: help [ ] simulator command help: help ls # help step Subject:STEP Syntax:STEP [n] STEP executes the next "n" lines of VHDL source code. If you omit the argument "n", it executes a single line. STEP enters functions and procedures. STEP does not count or stop on lines that are monitored by an OFF monitor.

CWRU EECS 318 VHDL Simulator: unix shell, exit, quit, slist vhdlsim command: ! Execute a unix shell command: !ls vhdlsim command: slist [entity name] display the current source or entity name read in vhdlsim command: quit quit the simulator vhdlsim command: exit exit the simulator

CWRU EECS 318 adder_full_tb.vhd: full adder test bench ENTITY adder_full_tb IS PORT (x, y, Cin: IN std_logic; Sum, Cout:OUT std_logic); END; ENTITY adder_full_tb IS PORT (x, y, Cin: IN std_logic; Sum, Cout:OUT std_logic); END; LIBRARY IEEE; use IEEE.std_logic.all;

CWRU EECS 318 ARCHITECTURE adder_full_tb_arch OF adder_full_tb IS COMPONENT adder_full PORT (x, y, Cin: IN std_logic; Sum, Cout: OUT std_logic); END COMPONENT; SIGNAL x, y, Cin: std_logic; BEGIN x <= '0', '1' after 50 ns, '0' after 100 ns; y <= '1', '1' after 50 ns, '0' after 100 ns; Cin <= '0', '1' after 50 ns; UUT_ADDER: adder_full PORT MAP(x, y, Cin, Sum, Cout); END; adder_full_tb.vhd: architecture CONFIGURATION adder_full_tb_cfg OF adder_full_tb IS FOR adder_full_tb_arch END FOR; END CONFIGURATION;

CWRU EECS 318 VHDL Simulator: test bench # ls ADDER_FULL_TB STANDARD ATTRIBUTES STD_LOGIC_1164 _KERNEL # cd ADDER_FULL_TB # ls SUM _P0 _P2 ADDER_FULL Y COUT _P1 UUT_ADDER X CIN # ls -type SUM OUT PORTtype = STD_LOGIC COUTOUT PORTtype = STD_LOGIC UUT_ADDERCOMPONENT INSTANTIATION ADDER_FULLCOMPONENT X SIGNALtype = STD_LOGIC Unix> vhdlan -NOEVENT adder_full.vhd Unix> vhdlan -NOEVENT adder_full_tb.vhd Unix> vhdlsim adder_full_tb_cfg

CWRU EECS 318 VHDL Simulator: run 10 ns # ls -value SUM'U' COUT'U' X'U' Y'U' CIN'U' # run NS # ls -value SUM'1' COUT '0' X '0' Y '1' CIN'0' # ls -value SUM'U' COUT'U' X'U' Y'U' CIN'U' # run NS # ls -value SUM'1' COUT '0' X '0' Y '1' CIN'0'

CWRU EECS 318 VHDL Simulator: run 60 ns # run NS # ls -value SUM '1' COUT '1' X'1' Y'1' CIN'1' # quit # run NS # ls -value SUM '1' COUT '1' X'1' Y'1' CIN'1' # quit

CWRU EECS 318 VHDL Simulator GUI: vhdldbx Unix command: vhdldbx & Starts the VHDL GUI version of vhdlsim Does everything vhdlsim does via menus Use the trace command to view signals First mark the variable with the mouse Then traces -> signals