Introduction to Design Vision. Instructor: Prof. Shantanu Dutt. TA: Soumya Banerjee

Similar documents
Tutorial 2.(b) : Synthesizing your design using the Synopsys Design Compiler ( For DFT Flow)

VHDL And Synthesis Review

VHDL Modeling Behavior from Synthesis Perspective -Part B - EL 310 Erkay Savaş Sabancı University

EECS150 - Digital Design Lecture 20 - Finite State Machines Revisited

Inferring Storage Elements

ECE 465, Spring 2010, Instructor: Prof. Shantanu Dutt. Project 2 : Due Fri, April 23, midnight.

ECE 465, Fall 2013, Instructor: Prof. Shantanu Dutt. Project 2 : Project Files Due Tue Nov. 26, Report Due Wed. Nov. 27, both at midnight

Lecture 12 VHDL Synthesis

CSE 260 Introduction to Digital Logic and Computer Design. Exam 1. Your name 2/13/2014

FPGA for Software Engineers

Luleå University of Technology Kurskod SMD152 Datum Skrivtid

8 Register, Multiplexer and

DIGITAL LOGIC WITH VHDL (Fall 2013) Unit 1

1 Design Process HOME CONTENTS INDEX. For further assistance, or call your local support center

Altera Quartus II Synopsys Design Vision Tutorial

FPGA Design Challenge :Techkriti 14 Digital Design using Verilog Part 1

Schedule. ECE U530 Digital Hardware Synthesis. Rest of Semester. Midterm Question 1a

Chapter 2 Basic Logic Circuits and VHDL Description

CCE 3202 Advanced Digital System Design

Sequential Logic - Module 5

Lecture 4: Modeling in VHDL (Continued ) EE 3610 Digital Systems

VHDL 2 Combinational Logic Circuits. Reference: Roth/John Text: Chapter 2

Hardware Verification Group. Department of Electrical and Computer Engineering, Concordia University, Montreal, Canada. CAD Tool Tutorial.

Introduction to VHDL #3

CSE 260 Introduction to Digital Logic and Computer Design. Exam 1 Solutions

Topics. Midterm Finish Chapter 7

VHDL Examples Mohamed Zaky

Lecture 7. Standard ICs FPGA (Field Programmable Gate Array) VHDL (Very-high-speed integrated circuits. Hardware Description Language)

1 ST SUMMER SCHOOL: VHDL BOOTCAMP PISA, JULY 2013

In our case Dr. Johnson is setting the best practices

Hardware Description Language VHDL (1) Introduction

DIGITAL LOGIC WITH VHDL (Fall 2013) Unit 6

The Verilog Language COMS W Prof. Stephen A. Edwards Fall 2002 Columbia University Department of Computer Science

VHDL for Synthesis. Course Description. Course Duration. Goals

VHDL: RTL Synthesis Basics. 1 of 59

Field Programmable Gate Array

Logic Implementation on a Xilinx FPGA using VHDL WWU Linux platform assumed. rev 10/25/16

Sequential Circuit Design: Principle

EECS Components and Design Techniques for Digital Systems. Lec 07 PLAs and FSMs 9/ Big Idea: boolean functions <> gates.

DIGITAL LOGIC DESIGN VHDL Coding for FPGAs Unit 6

Digital Design with FPGAs. By Neeraj Kulkarni

Lab 3. Advanced VHDL

EECS150 - Digital Design Lecture 5 - Verilog Logic Synthesis

Introduction to VHDL Design on Quartus II and DE2 Board

CS/EE 6710 Digital VLSI Design Tutorial on Cadence to Synopsys Interface (CSI)

Finite State Machines

Luleå University of Technology Kurskod SMD098 Datum Skrivtid

Finite State Machines (FSM) Description in VHDL. Review and Synthesis

Sign here to give permission for your test to be returned in class, where others might see your score:

VHDL for Logic Synthesis

Used to perform operations many times. See previous Parallel to Serial Example

SEQUENTIAL STATEMENTS

ECEU530. Homework 4 due Wednesday Oct 25. ECE U530 Digital Hardware Synthesis. VHDL for Synthesis with Xilinx. Schedule

ACS College of Engineering. Department of Biomedical Engineering. Logic Design Lab pre lab questions ( ) Cycle-1

EE6301 DIGITAL LOGIC CIRCUITS UNIT V VHDL PART A

LECTURE 5: VHDL SYNTHESIS with SYNOPSYS dc_shell

Continuing with whatever we saw in the previous lectures, we are going to discuss or continue to discuss the hardwired logic design.

Lab 1 Modular Design and Testbench Simulation ENGIN 341 Advanced Digital Design University of Massachusetts Boston

Lecture 32: SystemVerilog

State Machine Descriptions

Computer-Aided Digital System Design VHDL

Logic Implementation on a Xilinx FPGA using VHDL WWU Linux platform assumed. rev 11/01/17

CCE 3202 Advanced Digital System Design

CprE 583 Reconfigurable Computing

Verilog for High Performance

[VARIABLE declaration] BEGIN. sequential statements

Homework deadline extended to next friday

Verilog for Synthesis Ing. Pullini Antonio

Assignment. Last time. Last time. ECE 4514 Digital Design II. Back to the big picture. Back to the big picture

ECE 2300 Digital Logic & Computer Organization. More Verilog Finite State Machines

Topics. Midterm Finish Chapter 7

Control and Datapath 8

Two HDLs used today VHDL. Why VHDL? Introduction to Structured VLSI Design

ECE 2300 Digital Logic & Computer Organization. More Sequential Logic Verilog

A. Setting Up the Environment a. ~/ece394 % mkdir synopsys b.

ELCT 501: Digital System Design

Synthesis from VHDL. Krzysztof Kuchcinski Department of Computer Science Lund Institute of Technology Sweden

Contents. Chapter 9 Datapaths Page 1 of 28

Latch Based Design (1A) Young Won Lim 2/18/15

Written exam for IE1204/5 Digital Design Thursday 29/

Lecture 5: State Machines, Arrays, Loops. EE 3610 Digital Systems

Abi Farsoni, Department of Nuclear Engineering and Radiation Health Physics, Oregon State University

Programable Logic Devices

Digital Design with SystemVerilog

Introduction to VHDL. Yvonne Avilés Colaboration: Irvin Ortiz Flores Rapid System Prototyping Laboratory (RASP) University of Puerto Rico at Mayaguez

Recommended Design Techniques for ECE241 Project Franjo Plavec Department of Electrical and Computer Engineering University of Toronto

ECE 551 Digital System Design and Synthesis. Instructor: Kewal K. Saluja. Midterm Exam

Finite State Machines

V1 - VHDL Language. FPGA Programming with VHDL and Simulation (through the training Xilinx, Lattice or Actel FPGA are targeted) Objectives

CE1911 LECTURE FSM DESIGN PRACTICE DAY 2

EITF35: Introduction to Structured VLSI Design

Don t expect to be able to write and debug your code during the lab session.

Getting a Quick Start 2

Exp#8: Designing a Programmable Sequence Detector

Introduction to CMOS VLSI Design (E158) Lab 4: Controller Design

VHDL. VHDL History. Why VHDL? Introduction to Structured VLSI Design. Very High Speed Integrated Circuit (VHSIC) Hardware Description Language

Verilog Sequential Logic. Verilog for Synthesis Rev C (module 3 and 4)

EECS 151/251A: SRPING 2017 MIDTERM 1

COE 405 Design Methodology Based on VHDL

Lab 6 : Introduction to Verilog

Transcription:

Introduction to Design Vision Instructor: Prof. Shantanu Dutt TA: Soumya Banerjee We use Synopsys Design Vision for synthesizing the VHDL descriptions. If you are aware in the show schematic option in VCS-MX (our GUI for simulation), it shows you different processes, architectures, and connection. If you want to see what they actually do, you will be redirected to the corresponding VHDL description of the architectures. You can t see any gates and hardware components, like AND, OR, NOT, MUX etc. To see those components, we need to use a much more powerful design synthesis tool, like Design Vision. 1. How to access Design Vision? In the command window, just type design_analyzer. You may get many errors. After that, Design Analyzer window will open. 2. How to work with Design Vision? You can see the at the bottom of the window, there is one statement design_vision>. You can enter different commands to the right. You have to insert different libraries now. Right beside design_vision>, type 1. set target_library [list lsi_10k.db], then press enter 2. set symbol_library [list lsi_10k.sdb], then press enter

3. set link_library [list * lsi_10k.db], press enter Everytime you start Design Vision, you need to enter these lines. Next, go to file and select Analyze. When the new window opens, click on Add Add all the vhdl files that you would like to compile, click ok. If work library menu is not work, rename it work. Then check on create new library if it doesn t exist. However, it is always recommended to create a work directory under the current directory where you stored your VHDL file and move your VHDL file to the work directory. You will see something like this. Click OK, the designs will be compiled. Then the design has to be elaborated. For this, go to File, then Elaborate. Inside the library WORK, select the top level in the hierarchy of your design. If your design is okay, you ll see the design opening on the left hand side of the screen. Right click on the top-level entity and select schematic view. You ll see the corresponding schematic.

Click on the rectangular blocks to see the contents of the block. If the block is actually a part of the library (such as a Multiplexer), you will not be able to see the contents. Design Example : 1. In the first lab, we had to test different design styles. One of them was an XOR gate given in behavioral description named ckt1.vhd. The code is given below, Library IEEE; use IEEE.STD_LOGIC_1164.all; entity ckt1 is port(s1,s2:in bit; Z:out bit); end entity ckt1; architecture behav of ckt1 is Z <= '1' when (s1='0' and s2='1') or

(s1='1' and s2='0') else '0' ; end architecture behav; After analyzing and compiling this code in the same way as described above, you should be able to see the following circuit. 2. You are to design a Parity Checker Moore FSM with two inputs: RST : Reset; X : Serial Input; The FSM checks the parity of the last bitstream since it received an RST. The circuit can be designed using this state diagram:

0 RST 1 Even [0] Odd [1] 0 1 The corresponding code: Library IEEE; use IEEE.STD_LOGIC_1164.all; Entity FSM is port(x: in std_logic; RST : in std_logic; clk : in std_logic; Y : out std_logic); end FSM; architecture behav of FSM is type state is (A, B); signal curr, nxt : state; process FF(clk, RST) if (RST = '1') then curr <= A; elsif(rising_edge(clk) then curr <= nxt; end if; end process FF; process ouput(curr) case curr is when A => y <= '0'; when B => y <= 1 ; end case; end process output; process state_transition(curr, X, RST) case curr is when A => if(x='1') then nxt <= B; else nxt <= A; end if;

when B => if(x='1') then nxt <= A; else nxt <= B; end if; end case; end process state_transition; end architecture behav; Follow the above steps to synthesize the attached code fsm.vhdl. You should be able to see the following circuit getting synthesized. You will see that the design contains 4 MUXes, 2 D Flip-Flops, 1 NOT gate, 2 buffers. The two states are encoded by 1 and 0. Recall that, in a behavioral description, for if.. then else statement, a cascade of MUXes is synthesized. The D Flip Flops are used for state storage. Try setting RST = 1, you will see that X is inputted to the first D flip flop as enable. If X = 1, the inverted value of the current state comes to the input of the first D Flip Flop and the output feeds the second D flip flop. The 1st D FF is unclocked and acts essentially as a transparent latch controlled by X. When X= 1, the first Flip Flop is enabled, and the inverted state A is input to the same. In the next clock cycle, the second Flip Flop updates the current state with the new one. When X = 0, the first Flip Flop is disabled, as a result, the second Flip Flop continues to store the previous state. The final MUX is used to compute the final output.

Note that you can t see the contents of the MUXes and the Flip Flops, because they are components taken from the library.