Verilog Code Generation for an ASIP Design Environment Nathan Kitchen Vinay Krishnan Mentor: Scott Weber (MESCAL) EE 244/249 Joint Project Fall 2002.

Slides:



Advertisements
Similar presentations
TOPIC : SYNTHESIS DESIGN FLOW Module 4.3 Verilog Synthesis.
Advertisements

Verilog Fundamentals Shubham Singh Junior Undergrad. Electrical Engineering.
Verilog Overview. University of Jordan Computer Engineering Department CPE 439: Computer Design Lab.
EE 361 Fall 2003University of Hawaii1 Hardware Design Tips EE 361 University of Hawaii.
Combinational Logic.
A Digital Circuit Toolbox
ECE 551 Digital System Design & Synthesis Lecture 08 The Synthesis Process Constraints and Design Rules High-Level Synthesis Options.
1 Workshop Topics - Outline Workshop 1 - Introduction Workshop 2 - module instantiation Workshop 3 - Lexical conventions Workshop 4 - Value Logic System.
Introductory Comments Regarding Hardware Description Languages.
Kazi Spring 2008CSCI 6601 CSCI-660 Introduction to VLSI Design Khurram Kazi.
The Design Process Outline Goal Reading Design Domain Design Flow
Behavioral Synthesis Outline –Synthesis Procedure –Example –Domain-Specific Synthesis –Silicon Compilers –Example Tools Goal –Understand behavioral synthesis.
Aug. 24, 2007ELEC 5200/6200 Project1 Computer Design Project ELEC 5200/6200-Computer Architecture and Design Fall 2007 Vishwani D. Agrawal James J.Danaher.
ECE 353 Computer Systems Lab I Verilog Hardware Description Language.
CSE241 R1 Verilog.1Kahng & Cichy, UCSD ©2003 CSE241 VLSI Digital Circuits Winter 2003 Recitation 1: Verilog Introduction.
5 th Biennial Ptolemy Miniconference Berkeley, CA, May 9, 2003 MESCAL Application Modeling and Mapping: Warpath Andrew Mihal and the MESCAL team UC Berkeley.
1 Chapter 7 Design Implementation. 2 Overview 3 Main Steps of an FPGA Design ’ s Implementation Design architecture Defining the structure, interface.
University of Jordan Computer Engineering Department CPE 439: Computer Design Lab.
Chap. 2 Hierarchical Modeling Concepts. 2 Hierarchical Modeling Concepts Design Methodologies 4-bit Ripple Carry Counter Modules Instances Components.
Overview Logistics Last lecture Today HW5 due today
CSET 4650 Field Programmable Logic Devices
1 VERILOG Fundamentals Workshop סמסטר א ' תשע " ה מרצה : משה דורון הפקולטה להנדסה Workshop Objectives: Gain basic understanding of the essential concepts.
ECE 2372 Modern Digital System Design
Chap. 1 Overview of Digital Design with Verilog. 2 Overview of Digital Design with Verilog HDL Evolution of computer aided digital circuit design Emergence.
1 Designing for 65nm and Beyond Where’s The Revolution ?!? Greg Spirakis Absolutely, positively not working for Intel (or anyone else) EDP 2005.
1 Digital System Design Subject Name : Digital System Design Course Code : IT- 308 Instructor : Amit Prakash Singh Home page :
ASIC/FPGA design flow. FPGA Design Flow Detailed (RTL) Design Detailed (RTL) Design Ideas (Specifications) Design Ideas (Specifications) Device Programming.
Synthesis Presented by: Ms. Sangeeta L. Mahaddalkar ME(Microelectronics) Sem II Subject: Subject:ASIC Design and FPGA.
Tutorial 1 Combinational Logic Synthesis. Introduction to VHDL VHDL = Very high speed Hardware Description Language VHDL and Verilog are the industry.
Logic Synthesis assign z=a&b a b z What is Synthesis synthesis /sinth siss/ noun ( pl. syntheses /sinth seez/) 1 the combination of components to form.
Lecture 9. MIPS Processor Design – Instruction Fetch Prof. Taeweon Suh Computer Science Education Korea University 2010 R&E Computer System Education &
1 Combinational Logic Design Digital Computer Logic Kashif Bashir
1 An Update on Verilog Ξ – Computer Architecture Lab 28/06/2005 Kypros Constantinides.
Digital System 數位系統 Verilog HDL Ping-Liang Lai (賴秉樑)  
CPEN Digital System Design
Module 1.2 Introduction to Verilog
Logic Synthesis assign z=a&b a b z What is Synthesis synthesis /sinth siss/ noun ( pl. syntheses /sinth seez/) 1 the combination of components to form.
Fall 2004EE 3563 Digital Systems Design EE 3563 VHSIC Hardware Description Language  Required Reading: –These Slides –VHDL Tutorial  Very High Speed.
Anurag Dwivedi. Basic Block - Gates Gates -> Flip Flops.
Introductory project. Development systems Design Entry –Foundation ISE –Third party tools Mentor Graphics: FPGA Advantage Celoxica: DK Design Suite Design.
Slide 1 2. Verilog Elements. Slide 2 Why (V)HDL? (VHDL, Verilog etc.), Karen Parnell, Nick Mehta, “Programmable Logic Design Quick Start Handbook”, Xilinx.
Introduction to VHDL Simulation … Synthesis …. The digital design process… Initial specification Block diagram Final product Circuit equations Logic design.
ECE-C662 Lecture 2 Prawat Nagvajara
IMPLEMENTATION OF MIPS 64 WITH VERILOG HARDWARE DESIGN LANGUAGE BY PRAMOD MENON CET520 S’03.
Digital System Design Verilog ® HDL Introduction to Synthesis: Concepts and Flow Maziar Goudarzi.
ELEE 4303 Digital II Introduction to Verilog. ELEE 4303 Digital II Learning Objectives Get familiar with background of HDLs Basic concepts of Verilog.
CSCI-365 Computer Organization Lecture Note: Some slides and/or pictures in the following are adapted from: Computer Organization and Design, Patterson.
04/26/20031 ECE 551: Digital System Design & Synthesis Lecture Set : Introduction to VHDL 12.2: VHDL versus Verilog (Separate File)
Logic Synthesis assign z=a&b a b z What is Synthesis synthesis /sinth siss/ noun ( pl. syntheses /sinth seez/) 1 the combination of components to form.
May 9, 2001Systems Architecture I1 Systems Architecture I (CS ) Lab 5: Introduction to VHDL Jeremy R. Johnson May 9, 2001.
Equivalence checking Prof Shobha Vasudevan ECE 598SV.
ASIC/FPGA design flow. Design Flow Detailed Design Detailed Design Ideas Design Ideas Device Programming Device Programming Timing Simulation Timing Simulation.
1 University of Jordan Computer Engineering Department CPE 439: Computer Design Lab.
1 A hardware description language is a computer language that is used to describe hardware. Two HDLs are widely used Verilog HDL VHDL (Very High Speed.
Overview Logistics Last lecture Today HW5 due today
Hardware Description Languages: Verilog
Adapted from Krste Asanovic
ASIC Design Methodology
Combinational Logic Design
Hardware Description Languages: Verilog
Week 5, Verilog & Full Adder
332:437 Lecture 7 Verilog Hardware Description Language Basics
Levels in computer design
ECE-C662 Introduction to Behavioral Synthesis Knapp Text Ch
332:437 Lecture 7 Verilog Hardware Description Language Basics
332:437 Lecture 7 Verilog Hardware Description Language Basics
THE ECE 554 XILINX DESIGN PROCESS
Digital Designs – What does it take
Introduction to Verilog – Part-2 Procedural Statements
THE ECE 554 XILINX DESIGN PROCESS
Presentation transcript:

Verilog Code Generation for an ASIP Design Environment Nathan Kitchen Vinay Krishnan Mentor: Scott Weber (MESCAL) EE 244/249 Joint Project Fall 2002

Outline Motivation Design Environment Approach Example

Motivation Three ways to design a programmable system (ASIP): Specify its micro-architecture and the operations it performs (the instruction set) and verify that they are consistent intractable in general Synthesize a micro-architecture from the ISAneed architectural hints and behavioral synthesis Specify the micro-architecture and extract the operations it supports We are here

Bottom-up Instruction Set Design Traditional Top-down Design ISA is fixed micro-architecture space instruction set space micro-architecture space Any of these instruction sets can implement the application. Bottom-up Design architecture exploration

Teepee Design environment for MESCAL Multi-view methodology –Common data model for generating simulator, assembler, compiler, and netlist –Views are abstractions of the model Can only use information present in the model Not allowed to introduce new semantics –Architecture view: designer lays out datapath –Operation view: extracts operations from architecture –Simulator view: generates simulator program –Hardware view: generates synthesizable Verilog (our project)

Advantage of Multi-View Design synthesis simulation RTL gates silicon C ≡? simulation synthesis data model RTL gates silicon C  Traditional: hard to verify equivalence of simulator and RTL written separately easier to verify correctness of transformations from common data model

Architecture View Actors connected by signals between ports Semantics of atomic actors defined by firing rules Composite actors allow hierarchy or(fire(in[0].p.1.int32, in[1].p.0, sel.p.1.e, out.p.1.int32) {out = in[0];} fire(in[1].p.1.int32, in[0].p.0, sel.p.1.e, out.p.1.int32) {out = in[1];} no_fire(in[0].p.0, in[1].p.0, sel.p.0.e, out.p.0) {} ) out in sel Port ColorMeaning.p.0Signal is not present (its data is invalid)..p.1Signal is present..p.1.eSignal is present and is an enumeration..p.1.intSignal is present and is a bit vector.

Composing Actors Control ports (select lines) are left unconnected. Their values will be determined in the operation view. out in sel inc in out dec in out in sel

Operation View Solve constraints on firing rules Iterative SAT procedure Only minimal solutions Operation 1 Operation 2 Operation 3

Instruction Models Composite1 has separate instruction models for NOP, i_1, and i_2 Composite2 has one instruction model for both i_1 and i_2 Composite1 Composite2 i_2 i_1

Approach (cut to Vinay)

A Sample Architecture View >>

Fetch Unit >>

Program Counter >>

Verilog Structure Preserve the hierarchical structure of the Architecture View Atomic actors => Atomic modules Composite actors => Composite modules

Atomic Modules Actor semantics implemented with behavioral Verilog Two parts: combinational logic and sequential state write Procedural ‘always’ blocks implemented for both Combinational logic in ‘always’ blocks instead of ‘assigns’ to avoid potential mux chains

Composite Modules Act as containers for the modules inside them Instantiate the inner modules Route the wires appropriately Merge control signals based on instruction models Ground unconnected ports, if any

Top-Level Module Decodes instruction word Converts opcodes to control signals which activate concerned atomic actors (one hot encoding of opcodes->control signals) Multiple issue width achieved by multiple-hot encoding! opcode parameter1 parameter2

Results!

Tools ModelSimPE 5.5ed Synplicity Pro 7.1

Circuit Schematic architecture view

Fetch Unit architecture view

Program Counter architecture view

Questions?

The Answer: 42

Prior Work Architecture description languages –Behavioral ADLs Describe instruction semantics Lack information for synthesizing micro-architecture –Mixed ADLs Describe semantics and micro-architecture Tightly coupled with specific tools Hardware description languages (e.g., Verilog) –Can describe any micro-architecture –No concept of operations

Future Work Combine operations into more conventional instructions in assembler or compiler view Multiple PEs