DESIGN OF A HIGH SPEED SYNCHRONOUS MEMORY BUS INTERFACE

Size: px
Start display at page:

Download "DESIGN OF A HIGH SPEED SYNCHRONOUS MEMORY BUS INTERFACE"

Transcription

1 ESIGN OF HIGH SPEE SYNCHRONOUS MEMORY BUS INTERFCE Mayank Gupta UI: Jen-Wei Ko UI:85777 University of California, Los ngeles M26 Term Project Report Professor Chih-Kong Ken Yang, Fall 22 bstract: In this report we present a design of a synchronous memory bus interface. The bus interface is a tri-stated I/O bus -bits wide and is packet based. The interface receives a packet from the controller and responds with a packet after analyzing the packet from the interface. The interface handles the header, received command, address and data. Various C tools like Verilog, SignalScan, Synopsys esign nalyzer and Silicon Ensemble were used towards the completion of the project. The aim of the project was to primarily reduce the cycle time and secondly if possible reduce the area. We used TSMC.25µm CMOS technology for all the standard cells. The design is partitioned into a controller and a datapath. Both datapath and controller are based on this library. The controller is synthesized using Synopsys and the datapath is custom designed and hand coded to improve the performance. The final design has an operational clock speed of 46MHz (for the worst case) and a chip area of 2x 5 µm 2.

2 I. esign rchitecture The memory interface design required a controller and datapath Fig. The controller is a Mealy state machine, which is able to send output signal to datapath during state transition. The datapath accordingly processes the control signals to perform various operations like, comparing, writing to registers, adding the various data and generating a checksum. It also gives a feedback to the controller when it receives a header or a trailer or if the checksum it generated matched with that sent by the memory controller. The controller uses these signals to determine the next state. Figure. Memory Interface Conceptual esign (a.) Controller : The controller design, shown in Figure 2, has 8 states, including the initial state, which is the state where the state machine stays, until the reset signal goes. The controller had two main branches, depending on if the data had to be read from the memory or written to the memory. lso there were several branches, to handle the cases when the write signal was a broadcast, or when there was a corrupt data on the bus I/O. In the design of the controller we tried to reduce the number of states, which lead to the fact that several states had multiple input states and multiple output states. This made it imperative that the transitions were made using complex logical conditions. We also used a 4-bit shift register, to wait in a state (for certain clock cycles) till a specified number of data had come, or to while writing data to memory or outputting high-z. This insured that we had fewer states. s the design specification states, we insured that we emitted three High=Z, after we sent a trailer, this was done to make sure that other memory interfaces, listening to the bus I/O, didn t not confuse O,, 2, 3 and checksum as a packet addressed to them. This could be a case since O,, 2, 3 and checksum, being -bit data, could possibly take any values which could match as header, command and address for another memory interface. Certain modules like the 4-Bit Shift register, and registers to latch the Command bits and the Bus-Id were implemented in the controller. This strategy had two fold advantages, firstly we reduced the number of control signals between the controller and the datapath, secondly this insured that the data path is regular, and always handles either 6 bit or bit data. The regular nature of the datapath makes certain that it is easy to layout and interconnect.

3 reset S initial state reset/out[] self3&dp2&bus_io[23]/out[23] dp2&bus_io[23]/out[2] S bus_io[3]/out[24] S2 S3 bus_io[3]&bus_io[23]/out[4] else/out[3] else/out[4] S5 /out [5] S4 bus_io[3]/out[42] /out[25] counter[]/out[7] S6 counter[]/out[27] counter[]/out[6] S2 counter[2]/out[8] S7 CONX/out[] counter[3]/out[26] counter[]/out[28] counter[2]/out[29] S4 S3 counter[2]&self3&dp2/out[3] cmdok/out[] counter[2]&(self3 dp2)/out [3] S counter[2]{dp2 self3.bdcast}/out[9] CONX/out[] CONX dp2/out[3] S8 CONX&dp2/out[2] cmdok/out[33] cmdok&counter[]/out[34] S9 S5 cmdok&counter[]/out[36] CONX&cmd[4]/out[5] CONX dp2/out[6] CONX&dp2&cmd[4]/out[4] S6 cmdok/out[35] S counter[2]/out[37] counter[2]/out[38] s S7 counter[2]/out[4] counter[2]/out[39] CONX dp2/out[9] CONX&dp2&cmd[5]/out[8] CONX&dp2&cmd[6]/out[7] S CONX&dp2&cmd[6]&counter[2]/out[2] dp2 CONX cmd[6]/out[22] CONX&dp2&cmd[6]&counter[2]/out[2] S Figure 2. Memory Interface Controller State Machine

4 Mem_address_read (b.) atapath : The datapath essentially talks to the memory controller, the interface controller and the memory. In Fig3, we can divide the datapath in three main units. One unit deals primarily with the memory, one deals with the memory controller and the other deals with the interface controller. (i) Memory: The control signal 4 and 5 latch the address from the Bus I/O register. In order to save on the control signals, we have used stack architecture both for storing the memory address and memory data. s soon as the address is sent by the bus I/O, we generate the other three addresses, by assuming ={[5:],}, 2={[5:2],,} and 3={[5:2],,}. lso because we used stack architecture, we have to store the initial address in a separate register, to make sure that we have the correct address when we are sending the response packet. Control 5, is used to pop up addressed from the stack of registers, and Control 8, ensures that we write the address to the memory only when needed. Since the Inverter in the memory is a large (X8) we size up the driving inverter to X3. Control 6 and 7 are used to multiplex the data coming form the memory and the Bus I/O. By doing this we save on the total number of registers, using the same registers to read data from, as well as write data to, the Bus I/O and the memory. In the design we chose the tri-state inverter over the multiplexer, because of the flexibility in sizing each inverter individually. This was done because these inverters are directly in the Critical Path of addition operation. In the writing/reading operation, data comes to data3 register (Fig3), and the Control bit 8, is used to pop this data up to the data2, data and data registers. t the same time the Bit dder, is adding all the incoming data to the SUM register. This SUM is later used to verify if the checksum sent was ok (write cycle) or to generate the checksum (read cycle). The Control signals 9 and are used to initialize the SUM register, to or (depending on addition or subtraction ), as well as to add the data and pop the check sum when required. While writing to memory, we use the Control 2 and 3 to select data3-, this data is then written to the Mem_data, only when Control 3 is high. mem_data X bus_io_inreg[3:] ctl 6 ctl 8 data Q ctl 3 ctl 2 Q Q ctl 3 (wt) mem_data bus_io 6 X Bus_ioin_reg Q bus_io_inreg [5:] 6 Q ctl 4 ctl 5 X X3 8 ddress[] ctl 8 ~(ctl 7) ctl 7 & (~ctl 6) bus_io_inreg[3:24] data data2 data3 Q Q Q Header Trailer mem_address_read OK Word NOK Word Trailer ctl 5 ctl 4 ctl 5 ctl 4 ctl 6 Q ctl 7 (tx) bus_io 6 5 Q X3 X8 ctl ctl 9 SUM Q bits bits Carry Look ahead bits dder bits ctl =? X Zero Comparator Q X3 dp 4 2 Q 6 4 ctl 4 3 Q 6 mem_address mem_address_read Header Trailer ctl 8 4 bits comparator 8 & 4 bits zero detector ctl 2 X X3 dp2 6 Q bus_io_inreg[3:24] Q Figure 3. atapath rchitecture. 8

5 (ii) Memory Controller: This part of the datapath, writes on the Bus I/O. Control 4, 5 and 6 are used to select from the various possible packets of Header, Trailer, Cmd Ok, Cmd Notok, ata, CheckSum and Memory ddress. ata is transmitted on Bus I/O, only when Control 7 is high. uring the read cycle, irrespective of the number of data asked by the Memory Controller, we always transmit 4 correct data on the Bus I/O. This gives us flexibility in design since we don t have to distinguish between writing one/two or four datas. (iii)interface Controller: dp and dp2 are used to talk to the interface controller. dp, verifies if the checksum sent by the memory controller is correct or not. This is done using an exclusive-or zerocomparator. In order to buffer the signal sent to the controller, we use two back to back inverter(x and X3). This improves the driving capability of the datapath. The control, dp2, is the used to check if the header/trailer sent by the memory interface was correct or not. gain this signal is buffered to insure good driving capabilities. Control was used to select if header or trailer needs to be compared. The comparator was a 4-bit comparator and a 4-bit zero detector, instead of a 8-bit comparator (header/trailer is xxxx). We know that zero detector, based on OR gates, is faster and has less area than a comparator, based on XOR gates. (iv) dder: In order to evaluate the sum of the four data sent by the memory interface or memory, we implemented 3, 6-bit carry look ahead adders. These three blocks were combined using carry select strategy. The 6-bit LSB is generated using carry look ahead with carry-in and the other two 6-bit carry look ahead adder evaluate the sum, assuming the carry-in is and. In the actual gate level design, only two 6-bit carry look ahead adders are designed with carry-in and. For the carry-in 6-bit carry look ahead adder, the logic can be simplified, some propagate terms are not needed. With the strategy, we save a lot of design time. In the adder design, the inverting CMOS logic is used, basically NN, NOR or INV, for the maximum flexibility in sizing logic gates. This design of the adder was chosen keeping in mind that speed is the primary concern of this design. The speed of the -bit adder depends mainly on the delay on the 6-bit carry look-ahead block and the 6-bit 2-to- multiplexer. II. esign Issues. Some of the design trade-offs which we faced as a part of this project were that between speed, area, logical complexity, loading, various timing issues like set-up and hold-times, glitches in the signal etc. In order to enumerate these in a systematic manner we have divided the issues associated with each part of the memory interface. (a.) Controller: (i)states: n important design constrain which we had to consider was that it was possible to further reduce the number of states in the SM, by introducing multiple state transitions. The trade-off involved was between the number of bits used to represent all of the states, (which reduces the number of registers used, if fewer states are used) versus the complex logical function which Synopsys had to implement in order to make the multi-state transitions possible. n important fact we also learned during the project was that the structure of the controller generated by Synopsys, was heavily dependant on the way Verilog code was written, even when the logic function implemented was essentially the same. Care should be taken that the control signals should be the logical function of the current state, next state and signals from datapath, rather than just being the output signals of a state, which could possibly introduce T-Latches by Synopsys, and glitches in the output. (ii) Loading Effect: epending on the load each control signal was driving in the datapath we made a loading table for each of the control signals. In this we have assumed that in order to take care of the interconnect load, the minimum loading is.3pf.

6 Control Bit :.3pF Control Bit 2:.3pF Control Bit 3:.3pF Control Bit 4:.3pF Control Bit 5:.45pF Control Bit 6:.35pF Control Bit 7:.5pF Control Bit 8:.2pF Control Bit 9:.75pF Control Bit :.36pF Control Bit :.3pF Control Bit 2:.75pF Control Bit 3:.36pF Control Bit 4:.3pF Control Bit 5:.36pF Control Bit 6:.3pF Control Bit 7:.3pF Control Bit 8:.3pF Control Bit rdwt:.3pf Table. Loading Effect at Various Control Pins. espite the fact that we calculated the detailed loading of all of the pins, the actual circuit was generated using the minimum loading of.3pf. This was done because structural controller generated by Synopsys, after taking loading in to account, could not meet the timing constrain. (iii)speed and rea: The minimum clock period at which the controller was able to run, (slack time =sec), was 4.ns. This constrained the rest of the system of run at the maximum clock speed of 25Mhz. lso we noticed that as we tried to separate logic from state machine, the circuit generated was very complex and thus slow in speed. The area of the controller generated by Synopsys, was about 5 µm 2. (b.) atapath : (i) Sizing: The adder was the main speed bottleneck in the datapath, so sizing of the various logic gates was an important design issue here. Carry-out signals, for instance Cout[], Cout[3], Cout[7], Cout[5], having large fan-out, need sizing of the gates accordingly. different approach to this problem could be to feed the structure code of the datapath to Synopsys and let it optimize the gate sizes according to the load. ue to time constrains we could perform this step only partially, and further improvements could be possible. Signal from the datapath to the controller, dp, dp2, had to have proper buffering, else they would introduce glitches in the controller. (ii) Timing Violation: In order to measure the maximum operation speed of the circuits, the clock cycle time was reduced until timing violation occurred. The report of timing violation can be used to determine which device and which net failed during the high-speed operation. This can be used to re-design the circuits by buffering the signals in the failure path or by insuring the setup time and hold time are met. To meet the hold time requirement, we inserted the logic delay of at least two inverters in between back-to-back flip-flops. When reducing clock cycle time, the MSB of the adder sum output is usually where the set-up time violation occurred, which verified our postulate that adder is the critical path of the whole memory interface. We can always improve speed by increasing the driving strength, inserting inverters, and reducing loads in the critical path. The design iteration takes time and some experience. Sometimes we could even make it worse, if we did not consider the whole picture carefully. To consider the loading completely, the loading capacitance of gates (from the standard cell library), as well as the loading capacitance of wires from the SF file should be considered. (iii) Speed: We noticed that the operation speed of the structural memory interface controller without SF or the behavioral memory interface controller, as simulated in Verilog, was less than memory interface controller with SF. reason for this could be that the delays introduced due to parasitic capacitance and resistance insured that the setup time and hold time requirement for the various latches and flip-flop are fulfilled. We observed that the memory interface controller with SF worked at clock speed up to 46MHz, where as the structure and behavioral memory interface controller would work only up to 25 MHz. III. Results and Conclusion The final chip dimensions as generated by Silicon Ensemble are 46µm by 58µm. Fig4. and Fig5. show the output of Signal Scan, during the read and write cycle. s can be seen, at maximum clock speed, the signal starts to glitch, but is still readable. Fig6. show the circuit for the Controller, as generated by Synopsys. Fig7. and Fig8. are snapshots of the final layout given by Silicon Ensemble, a ruler at the side of the chip illustrates the final chip dimensions.

7 IV. References: [] H.Taub,.Shilling, igital Integrated Electronics, McGraw-Hill Companies. [2]. N.Weste, K.Eshraghian,Principles of CMOS VLSI esign, ddison Wesley. [3] W.Wolf, Modern VLSI esign:system on Siliocon, 3 rd Ed.Prentice Hall. [4] J.M.Rabaey, igital Integrated Circuits, Prentice Hall. [5] S. Palnitkar, Verilog HL guide to igital esign and Synthesi, Prentice Hall.

8 Figure 4. Verilog Simulation for write cycle

9 Figure 5. Verilog Simulation for read cycle

10 Figure 6. Memory Interface Controller Structure Level Circuits Generated by Synopsys

11 Figure 7. Silicon Ensemble Generated Gate Layout

12 Figure 8. Silicon Ensemble Generated Metal Layers

CAD4 The ALU Fall 2009 Assignment. Description

CAD4 The ALU Fall 2009 Assignment. Description CAD4 The ALU Fall 2009 Assignment To design a 16-bit ALU which will be used in the datapath of the microprocessor. This ALU must support two s complement arithmetic and the instructions in the baseline

More information

Digital Design with FPGAs. By Neeraj Kulkarni

Digital Design with FPGAs. By Neeraj Kulkarni Digital Design with FPGAs By Neeraj Kulkarni Some Basic Electronics Basic Elements: Gates: And, Or, Nor, Nand, Xor.. Memory elements: Flip Flops, Registers.. Techniques to design a circuit using basic

More information

Digital VLSI Testing Prof. Santanu Chattopadhyay Department of Electronics and EC Engineering India Institute of Technology, Kharagpur.

Digital VLSI Testing Prof. Santanu Chattopadhyay Department of Electronics and EC Engineering India Institute of Technology, Kharagpur. Digital VLSI Testing Prof. Santanu Chattopadhyay Department of Electronics and EC Engineering India Institute of Technology, Kharagpur Lecture 05 DFT Next we will look into the topic design for testability,

More information

Digital Circuit Design and Language. Datapath Design. Chang, Ik Joon Kyunghee University

Digital Circuit Design and Language. Datapath Design. Chang, Ik Joon Kyunghee University Digital Circuit Design and Language Datapath Design Chang, Ik Joon Kyunghee University Typical Synchronous Design + Control Section : Finite State Machine + Data Section: Adder, Multiplier, Shift Register

More information

ESE 570 Cadence Lab Assignment 2: Introduction to Spectre, Manual Layout Drawing and Post Layout Simulation (PLS)

ESE 570 Cadence Lab Assignment 2: Introduction to Spectre, Manual Layout Drawing and Post Layout Simulation (PLS) ESE 570 Cadence Lab Assignment 2: Introduction to Spectre, Manual Layout Drawing and Post Layout Simulation (PLS) Objective Part A: To become acquainted with Spectre (or HSpice) by simulating an inverter,

More information

Hardware Design Environments. Dr. Mahdi Abbasi Computer Engineering Department Bu-Ali Sina University

Hardware Design Environments. Dr. Mahdi Abbasi Computer Engineering Department Bu-Ali Sina University Hardware Design Environments Dr. Mahdi Abbasi Computer Engineering Department Bu-Ali Sina University Outline Welcome to COE 405 Digital System Design Design Domains and Levels of Abstractions Synthesis

More information

HIGH-LEVEL SYNTHESIS

HIGH-LEVEL SYNTHESIS HIGH-LEVEL SYNTHESIS Page 1 HIGH-LEVEL SYNTHESIS High-level synthesis: the automatic addition of structural information to a design described by an algorithm. BEHAVIORAL D. STRUCTURAL D. Systems Algorithms

More information

Topics of this Slideset. CS429: Computer Organization and Architecture. Digital Signals. Truth Tables. Logic Design

Topics of this Slideset. CS429: Computer Organization and Architecture. Digital Signals. Truth Tables. Logic Design Topics of this Slideset CS429: Computer Organization and rchitecture Dr. Bill Young Department of Computer Science University of Texas at ustin Last updated: July 5, 2018 at 11:55 To execute a program

More information

Lecture 32: SystemVerilog

Lecture 32: SystemVerilog Lecture 32: SystemVerilog Outline SystemVerilog module adder(input logic [31:0] a, input logic [31:0] b, output logic [31:0] y); assign y = a + b; Note that the inputs and outputs are 32-bit busses. 17:

More information

Hardware Modeling using Verilog Prof. Indranil Sengupta Department of Computer Science and Engineering Indian Institute of Technology, Kharagpur

Hardware Modeling using Verilog Prof. Indranil Sengupta Department of Computer Science and Engineering Indian Institute of Technology, Kharagpur Hardware Modeling using Verilog Prof. Indranil Sengupta Department of Computer Science and Engineering Indian Institute of Technology, Kharagpur Lecture 01 Introduction Welcome to the course on Hardware

More information

Chapter 6. CMOS Functional Cells

Chapter 6. CMOS Functional Cells Chapter 6 CMOS Functional Cells In the previous chapter we discussed methods of designing layout of logic gates and building blocks like transmission gates, multiplexers and tri-state inverters. In this

More information

EECS Components and Design Techniques for Digital Systems. Lec 20 RTL Design Optimization 11/6/2007

EECS Components and Design Techniques for Digital Systems. Lec 20 RTL Design Optimization 11/6/2007 EECS 5 - Components and Design Techniques for Digital Systems Lec 2 RTL Design Optimization /6/27 Shauki Elassaad Electrical Engineering and Computer Sciences University of California, Berkeley Slides

More information

Topic Notes: Building Memory

Topic Notes: Building Memory Computer Science 220 ssembly Language & Comp. rchitecture Siena College Fall 2011 Topic Notes: Building Memory We ll next see how we can use flip-flop devices to construct memory. Buffers We ve seen and

More information

Writing Circuit Descriptions 8

Writing Circuit Descriptions 8 8 Writing Circuit Descriptions 8 You can write many logically equivalent descriptions in Verilog to describe a circuit design. However, some descriptions are more efficient than others in terms of the

More information

Evolution of Implementation Technologies. ECE 4211/5211 Rapid Prototyping with FPGAs. Gate Array Technology (IBM s) Programmable Logic

Evolution of Implementation Technologies. ECE 4211/5211 Rapid Prototyping with FPGAs. Gate Array Technology (IBM s) Programmable Logic ECE 42/52 Rapid Prototyping with FPGAs Dr. Charlie Wang Department of Electrical and Computer Engineering University of Colorado at Colorado Springs Evolution of Implementation Technologies Discrete devices:

More information

Today. Comments about assignment Max 1/T (skew = 0) Max clock skew? Comments about assignment 3 ASICs and Programmable logic Others courses

Today. Comments about assignment Max 1/T (skew = 0) Max clock skew? Comments about assignment 3 ASICs and Programmable logic Others courses Today Comments about assignment 3-43 Comments about assignment 3 ASICs and Programmable logic Others courses octor Per should show up in the end of the lecture Mealy machines can not be coded in a single

More information

EE-382M VLSI II. Early Design Planning: Front End

EE-382M VLSI II. Early Design Planning: Front End EE-382M VLSI II Early Design Planning: Front End Mark McDermott EE 382M-8 VLSI-2 Page Foil # 1 1 EDP Objectives Get designers thinking about physical implementation while doing the architecture design.

More information

TOPIC : Verilog Synthesis examples. Module 4.3 : Verilog synthesis

TOPIC : Verilog Synthesis examples. Module 4.3 : Verilog synthesis TOPIC : Verilog Synthesis examples Module 4.3 : Verilog synthesis Example : 4-bit magnitude comptarator Discuss synthesis of a 4-bit magnitude comparator to understand each step in the synthesis flow.

More information

Synthesis. Other key files. Standard cell (NAND, NOR, Flip-Flop, etc.) FPGA CLB

Synthesis. Other key files. Standard cell (NAND, NOR, Flip-Flop, etc.) FPGA CLB SYNTHESIS Synthesis Involves synthesizing a gate netlist from verilog source code We use Design Compiler (DC) by Synopsys which is the most popular synthesis tool used in industry Target library examples:

More information

1. Prove that if you have tri-state buffers and inverters, you can build any combinational logic circuit. [4]

1. Prove that if you have tri-state buffers and inverters, you can build any combinational logic circuit. [4] HW 3 Answer Key 1. Prove that if you have tri-state buffers and inverters, you can build any combinational logic circuit. [4] You can build a NAND gate from tri-state buffers and inverters and thus you

More information

CAD for VLSI Design - I. Lecture 21 V. Kamakoti and Shankar Balachandran

CAD for VLSI Design - I. Lecture 21 V. Kamakoti and Shankar Balachandran CAD for VLSI Design - I Lecture 21 V. Kamakoti and Shankar Balachandran Overview of this Lecture Understanding the process of Logic synthesis Logic Synthesis of HDL constructs Logic Synthesis What is this?

More information

Columbia Univerity Department of Electrical Engineering Fall, 2004

Columbia Univerity Department of Electrical Engineering Fall, 2004 Columbia Univerity Department of Electrical Engineering Fall, 2004 Course: EE E4321. VLSI Circuits. Instructor: Ken Shepard E-mail: shepard@ee.columbia.edu Office: 1019 CEPSR Office hours: MW 4:00-5:00

More information

Tailoring the 32-Bit ALU to MIPS

Tailoring the 32-Bit ALU to MIPS Tailoring the 32-Bit ALU to MIPS MIPS ALU extensions Overflow detection: Carry into MSB XOR Carry out of MSB Branch instructions Shift instructions Slt instruction Immediate instructions ALU performance

More information

INSTITUTE OF AERONAUTICAL ENGINEERING Dundigal, Hyderabad ELECTRONICS AND COMMUNICATIONS ENGINEERING

INSTITUTE OF AERONAUTICAL ENGINEERING Dundigal, Hyderabad ELECTRONICS AND COMMUNICATIONS ENGINEERING INSTITUTE OF AERONAUTICAL ENGINEERING Dundigal, Hyderabad - 00 0 ELECTRONICS AND COMMUNICATIONS ENGINEERING QUESTION BANK Course Name : DIGITAL DESIGN USING VERILOG HDL Course Code : A00 Class : II - B.

More information

Digital Design Methodology (Revisited) Design Methodology: Big Picture

Digital Design Methodology (Revisited) Design Methodology: Big Picture Digital Design Methodology (Revisited) Design Methodology Design Specification Verification Synthesis Technology Options Full Custom VLSI Standard Cell ASIC FPGA CS 150 Fall 2005 - Lec #25 Design Methodology

More information

Announcements. Midterm 2 next Thursday, 6-7:30pm, 277 Cory Review session on Tuesday, 6-7:30pm, 277 Cory Homework 8 due next Tuesday Labs: project

Announcements. Midterm 2 next Thursday, 6-7:30pm, 277 Cory Review session on Tuesday, 6-7:30pm, 277 Cory Homework 8 due next Tuesday Labs: project - Fall 2002 Lecture 20 Synthesis Sequential Logic Announcements Midterm 2 next Thursday, 6-7:30pm, 277 Cory Review session on Tuesday, 6-7:30pm, 277 Cory Homework 8 due next Tuesday Labs: project» Teams

More information

Unit 2: High-Level Synthesis

Unit 2: High-Level Synthesis Course contents Unit 2: High-Level Synthesis Hardware modeling Data flow Scheduling/allocation/assignment Reading Chapter 11 Unit 2 1 High-Level Synthesis (HLS) Hardware-description language (HDL) synthesis

More information

FPGA. Logic Block. Plessey FPGA: basic building block here is 2-input NAND gate which is connected to each other to implement desired function.

FPGA. Logic Block. Plessey FPGA: basic building block here is 2-input NAND gate which is connected to each other to implement desired function. FPGA Logic block of an FPGA can be configured in such a way that it can provide functionality as simple as that of transistor or as complex as that of a microprocessor. It can used to implement different

More information

Verilog for High Performance

Verilog for High Performance Verilog for High Performance Course Description This course provides all necessary theoretical and practical know-how to write synthesizable HDL code through Verilog standard language. The course goes

More information

Lecture 11 Logic Synthesis, Part 2

Lecture 11 Logic Synthesis, Part 2 Lecture 11 Logic Synthesis, Part 2 Xuan Silvia Zhang Washington University in St. Louis http://classes.engineering.wustl.edu/ese461/ Write Synthesizable Code Use meaningful names for signals and variables

More information

One and a half hours. Section A is COMPULSORY UNIVERSITY OF MANCHESTER SCHOOL OF COMPUTER SCIENCE

One and a half hours. Section A is COMPULSORY UNIVERSITY OF MANCHESTER SCHOOL OF COMPUTER SCIENCE One and a half hours Section A is COMPULSORY UNIVERSITY OF MANCHESTER SCHOOL OF COMPUTER SCIENCE Fundamentals of Computer Engineering Date: Thursday 21st January 2016 Time: 14:00-15:30 Answer BOTH Questions

More information

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

VHDL. VHDL History. Why VHDL? Introduction to Structured VLSI Design. Very High Speed Integrated Circuit (VHSIC) Hardware Description Language VHDL Introduction to Structured VLSI Design VHDL I Very High Speed Integrated Circuit (VHSIC) Hardware Description Language Joachim Rodrigues A Technology Independent, Standard Hardware description Language

More information

ECE 574: Modeling and Synthesis of Digital Systems using Verilog and VHDL. Fall 2017 Final Exam (6.00 to 8.30pm) Verilog SOLUTIONS

ECE 574: Modeling and Synthesis of Digital Systems using Verilog and VHDL. Fall 2017 Final Exam (6.00 to 8.30pm) Verilog SOLUTIONS ECE 574: Modeling and Synthesis of Digital Systems using Verilog and VHDL Fall 2017 Final Exam (6.00 to 8.30pm) Verilog SOLUTIONS Note: Closed book no notes or other material allowed apart from the one

More information

Federal Urdu University of Arts, Science and Technology, Islamabad VLSI SYSTEM DESIGN. Prepared By: Engr. Yousaf Hameed.

Federal Urdu University of Arts, Science and Technology, Islamabad VLSI SYSTEM DESIGN. Prepared By: Engr. Yousaf Hameed. VLSI SYSTEM DESIGN Prepared By: Engr. Yousaf Hameed Lab Engineer BASIC ELECTRICAL & DIGITAL SYSTEMS LAB DEPARTMENT OF ELECTRICAL ENGINEERING VLSI System Design 1 LAB 01 Schematic Introduction to DSCH and

More information

FPGA: FIELD PROGRAMMABLE GATE ARRAY Verilog: a hardware description language. Reference: [1]

FPGA: FIELD PROGRAMMABLE GATE ARRAY Verilog: a hardware description language. Reference: [1] FPGA: FIELD PROGRAMMABLE GATE ARRAY Verilog: a hardware description language Reference: [] FIELD PROGRAMMABLE GATE ARRAY FPGA is a hardware logic device that is programmable Logic functions may be programmed

More information

Verilog. What is Verilog? VHDL vs. Verilog. Hardware description language: Two major languages. Many EDA tools support HDL-based design

Verilog. What is Verilog? VHDL vs. Verilog. Hardware description language: Two major languages. Many EDA tools support HDL-based design Verilog What is Verilog? Hardware description language: Are used to describe digital system in text form Used for modeling, simulation, design Two major languages Verilog (IEEE 1364), latest version is

More information

Digital Design Methodology

Digital Design Methodology Digital Design Methodology Prof. Soo-Ik Chae Digital System Designs and Practices Using Verilog HDL and FPGAs @ 2008, John Wiley 1-1 Digital Design Methodology (Added) Design Methodology Design Specification

More information

A Tutorial Introduction 1

A Tutorial Introduction 1 Preface From the Old to the New Acknowledgments xv xvii xxi 1 Verilog A Tutorial Introduction 1 Getting Started A Structural Description Simulating the binarytoeseg Driver Creating Ports For the Module

More information

Reference Sheet for C112 Hardware

Reference Sheet for C112 Hardware Reference Sheet for C112 Hardware 1 Boolean Algebra, Gates and Circuits Autumn 2016 Basic Operators Precedence : (strongest),, + (weakest). AND A B R 0 0 0 0 1 0 1 0 0 1 1 1 OR + A B R 0 0 0 0 1 1 1 0

More information

Topics. Verilog. Verilog vs. VHDL (2) Verilog vs. VHDL (1)

Topics. Verilog. Verilog vs. VHDL (2) Verilog vs. VHDL (1) Topics Verilog Hardware modeling and simulation Event-driven simulation Basics of register-transfer design: data paths and controllers; ASM charts. High-level synthesis Initially a proprietary language,

More information

MLR Institute of Technology

MLR Institute of Technology MLR Institute of Technology Laxma Reddy Avenue, Dundigal, Quthbullapur (M), Hyderabad 500 043 Course Name Course Code Class Branch ELECTRONICS AND COMMUNICATIONS ENGINEERING QUESTION BANK : DIGITAL DESIGN

More information

Computer Science 324 Computer Architecture Mount Holyoke College Fall Topic Notes: Building Memory

Computer Science 324 Computer Architecture Mount Holyoke College Fall Topic Notes: Building Memory Computer Science 324 Computer rchitecture Mount Holyoke College Fall 2007 Topic Notes: Building Memory We ll next look at how we can use the devices we ve been looking at to construct memory. Tristate

More information

Problem Formulation. Specialized algorithms are required for clock (and power nets) due to strict specifications for routing such nets.

Problem Formulation. Specialized algorithms are required for clock (and power nets) due to strict specifications for routing such nets. Clock Routing Problem Formulation Specialized algorithms are required for clock (and power nets) due to strict specifications for routing such nets. Better to develop specialized routers for these nets.

More information

Lecture 8: Synthesis, Implementation Constraints and High-Level Planning

Lecture 8: Synthesis, Implementation Constraints and High-Level Planning Lecture 8: Synthesis, Implementation Constraints and High-Level Planning MAH, AEN EE271 Lecture 8 1 Overview Reading Synopsys Verilog Guide WE 6.3.5-6.3.6 (gate array, standard cells) Introduction We have

More information

St.MARTIN S ENGINEERING COLLEGE Dhulapally, Secunderabad

St.MARTIN S ENGINEERING COLLEGE Dhulapally, Secunderabad St.MARTIN S ENGINEERING COLLEGE Dhulapally, Secunderabad-500 014 Subject: Digital Design Using Verilog Hdl Class : ECE-II Group A (Short Answer Questions) UNIT-I 1 Define verilog HDL? 2 List levels of

More information

CASE Statement. Controls execution of one or more sequential statements.

CASE Statement. Controls execution of one or more sequential statements. CASE Statement Controls execution of one or more sequential statements. Format: CASE expression IS WHEN expression_value0 => sequential_stmt; WHEN expression_value1 => sequential_stmt; Example: --a four

More information

EEC 116 Fall 2011 Lab #3: Digital Simulation Tutorial

EEC 116 Fall 2011 Lab #3: Digital Simulation Tutorial EEC 116 Fall 2011 Lab #3: Digital Simulation Tutorial Dept. of Electrical and Computer Engineering University of California, Davis Issued: October 10, 2011 Due: October 19, 2011, 4PM Reading: Rabaey Insert

More information

Prachi Sharma 1, Rama Laxmi 2, Arun Kumar Mishra 3 1 Student, 2,3 Assistant Professor, EC Department, Bhabha College of Engineering

Prachi Sharma 1, Rama Laxmi 2, Arun Kumar Mishra 3 1 Student, 2,3 Assistant Professor, EC Department, Bhabha College of Engineering A Review: Design of 16 bit Arithmetic and Logical unit using Vivado 14.7 and Implementation on Basys 3 FPGA Board Prachi Sharma 1, Rama Laxmi 2, Arun Kumar Mishra 3 1 Student, 2,3 Assistant Professor,

More information

CS429: Computer Organization and Architecture

CS429: Computer Organization and Architecture CS429: Computer Organization and Architecture Dr. Bill Young Department of Computer Sciences University of Texas at Austin Last updated: January 2, 2018 at 11:23 CS429 Slideset 5: 1 Topics of this Slideset

More information

Register Transfer Level in Verilog: Part I

Register Transfer Level in Verilog: Part I Source: M. Morris Mano and Michael D. Ciletti, Digital Design, 4rd Edition, 2007, Prentice Hall. Register Transfer Level in Verilog: Part I Lan-Da Van ( 范倫達 ), Ph. D. Department of Computer Science National

More information

Overview. CSE372 Digital Systems Organization and Design Lab. Hardware CAD. Two Types of Chips

Overview. CSE372 Digital Systems Organization and Design Lab. Hardware CAD. Two Types of Chips Overview CSE372 Digital Systems Organization and Design Lab Prof. Milo Martin Unit 5: Hardware Synthesis CAD (Computer Aided Design) Use computers to design computers Virtuous cycle Architectural-level,

More information

Introduction to CMOS VLSI Design (E158) Lecture 7: Synthesis and Floorplanning

Introduction to CMOS VLSI Design (E158) Lecture 7: Synthesis and Floorplanning Harris Introduction to CMOS VLSI Design (E158) Lecture 7: Synthesis and Floorplanning David Harris Harvey Mudd College David_Harris@hmc.edu Based on EE271 developed by Mark Horowitz, Stanford University

More information

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

FPGA Design Challenge :Techkriti 14 Digital Design using Verilog Part 1 FPGA Design Challenge :Techkriti 14 Digital Design using Verilog Part 1 Anurag Dwivedi Digital Design : Bottom Up Approach Basic Block - Gates Digital Design : Bottom Up Approach Gates -> Flip Flops Digital

More information

Introduction to Electronic Design Automation. Model of Computation. Model of Computation. Model of Computation

Introduction to Electronic Design Automation. Model of Computation. Model of Computation. Model of Computation Introduction to Electronic Design Automation Model of Computation Jie-Hong Roland Jiang 江介宏 Department of Electrical Engineering National Taiwan University Spring 03 Model of Computation In system design,

More information

Good Evening! Welcome!

Good Evening! Welcome! University of Florida EEL 3701 Fall 2011 Dr Eric M Schwartz Page 1/11 Exam 2 Instructions: Turn off all cell phones, beepers and other noise making devices Show all work on the front of the test papers

More information

High Speed SPI Slave Implementation in FPGA using Verilog HDL

High Speed SPI Slave Implementation in FPGA using Verilog HDL High Speed SPI Slave Implementation in FPGA using Verilog HDL Mr. Akshay K. Shah Abstract SPI (Serial Peripheral Interface) is a synchronous serial communication interface for short distance communication.

More information

Building Bigger Systems: Hardware Threads

Building Bigger Systems: Hardware Threads ! uilding igger Systems: Hardware Threads Lecture L06 18-4 dvanced igital esign ECE epartment Many elements on Thomas, 2014, used with permission with credit to G. Larson Today We build on our knowledge

More information

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

Lecture 7. Standard ICs FPGA (Field Programmable Gate Array) VHDL (Very-high-speed integrated circuits. Hardware Description Language) Standard ICs FPGA (Field Programmable Gate Array) VHDL (Very-high-speed integrated circuits Hardware Description Language) 1 Standard ICs PLD: Programmable Logic Device CPLD: Complex PLD FPGA: Field Programmable

More information

Design of Arithmetic circuits

Design of Arithmetic circuits Design of Arithmetic circuits ic principle of pipelining ditional approach Input Data clk Process < 100 ns Through 10 MH elining approach Throughput considerably. increases Chip area also increases. Latency

More information

LAB 5 Implementing an ALU

LAB 5 Implementing an ALU Goals To Do Design a practical ALU LAB 5 Implementing an ALU Learn how to extract performance numbers (area and speed) Draw a block level diagram of the MIPS 32-bit ALU, based on the description in the

More information

A Novel Pseudo 4 Phase Dual Rail Asynchronous Protocol with Self Reset Logic & Multiple Reset

A Novel Pseudo 4 Phase Dual Rail Asynchronous Protocol with Self Reset Logic & Multiple Reset A Novel Pseudo 4 Phase Dual Rail Asynchronous Protocol with Self Reset Logic & Multiple Reset M.Santhi, Arun Kumar S, G S Praveen Kalish, Siddharth Sarangan, G Lakshminarayanan Dept of ECE, National Institute

More information

Lecture 15: System Modeling and Verilog

Lecture 15: System Modeling and Verilog Lecture 15: System Modeling and Verilog Slides courtesy of Deming Chen Intro. VLSI System Design Outline Outline Modeling Digital Systems Introduction to Verilog HDL Use of Verilog HDL in Synthesis Reading

More information

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

Verilog Sequential Logic. Verilog for Synthesis Rev C (module 3 and 4) Verilog Sequential Logic Verilog for Synthesis Rev C (module 3 and 4) Jim Duckworth, WPI 1 Sequential Logic Module 3 Latches and Flip-Flops Implemented by using signals in always statements with edge-triggered

More information

FPGA Implementation of Multiplier for Floating- Point Numbers Based on IEEE Standard

FPGA Implementation of Multiplier for Floating- Point Numbers Based on IEEE Standard FPGA Implementation of Multiplier for Floating- Point Numbers Based on IEEE 754-2008 Standard M. Shyamsi, M. I. Ibrahimy, S. M. A. Motakabber and M. R. Ahsan Dept. of Electrical and Computer Engineering

More information

McGill University Faculty of Engineering FINAL EXAMINATION Fall 2007 (DEC 2007)

McGill University Faculty of Engineering FINAL EXAMINATION Fall 2007 (DEC 2007) McGill University Faculty of Engineering FINAL EXAMINATION Fall 2007 (DEC 2007) VERSION 1 Examiner: Professor T.Arbel Signature: INTRODUCTION TO COMPUTER ENGINEERING ECSE-221A 6 December 2007, 1400-1700

More information

L2: Design Representations

L2: Design Representations CS250 VLSI Systems Design L2: Design Representations John Wawrzynek, Krste Asanovic, with John Lazzaro and Yunsup Lee (TA) Engineering Challenge Application Gap usually too large to bridge in one step,

More information

Topics. Midterm Finish Chapter 7

Topics. Midterm Finish Chapter 7 Lecture 9 Topics Midterm Finish Chapter 7 ROM (review) Memory device in which permanent binary information is stored. Example: 32 x 8 ROM Five input lines (2 5 = 32) 32 outputs, each representing a memory

More information

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

Two HDLs used today VHDL. Why VHDL? Introduction to Structured VLSI Design Two HDLs used today Introduction to Structured VLSI Design VHDL I VHDL and Verilog Syntax and ``appearance'' of the two languages are very different Capabilities and scopes are quite similar Both are industrial

More information

A Low Power DDR SDRAM Controller Design P.Anup, R.Ramana Reddy

A Low Power DDR SDRAM Controller Design P.Anup, R.Ramana Reddy A Low Power DDR SDRAM Controller Design P.Anup, R.Ramana Reddy Abstract This paper work leads to a working implementation of a Low Power DDR SDRAM Controller that is meant to be used as a reference for

More information

Outline. EECS Components and Design Techniques for Digital Systems. Lec 11 Putting it all together Where are we now?

Outline. EECS Components and Design Techniques for Digital Systems. Lec 11 Putting it all together Where are we now? Outline EECS 5 - Components and Design Techniques for Digital Systems Lec Putting it all together -5-4 David Culler Electrical Engineering and Computer Sciences University of California Berkeley Top-to-bottom

More information

Synthesis vs. Compilation Descriptions mapped to hardware Verilog design patterns for best synthesis. Spring 2007 Lec #8 -- HW Synthesis 1

Synthesis vs. Compilation Descriptions mapped to hardware Verilog design patterns for best synthesis. Spring 2007 Lec #8 -- HW Synthesis 1 Verilog Synthesis Synthesis vs. Compilation Descriptions mapped to hardware Verilog design patterns for best synthesis Spring 2007 Lec #8 -- HW Synthesis 1 Logic Synthesis Verilog and VHDL started out

More information

Prototype of SRAM by Sergey Kononov, et al.

Prototype of SRAM by Sergey Kononov, et al. Prototype of SRAM by Sergey Kononov, et al. 1. Project Overview The goal of the project is to create a SRAM memory layout that provides maximum utilization of the space on the 1.5 by 1.5 mm chip. Significant

More information

Lecture 24: Sequential Logic Design. Let s refresh our memory.

Lecture 24: Sequential Logic Design. Let s refresh our memory. 18 100 Lecture 24: equential Logic esign 15 L24 1 James C. Hoe ept of ECE, CMU April 21, 2015 Today s Goal: tart thinking about stateful stuff Announcements: Read Rizzoni 12.6 HW 9 due Exam 3 on April

More information

101-1 Under-Graduate Project Digital IC Design Flow

101-1 Under-Graduate Project Digital IC Design Flow 101-1 Under-Graduate Project Digital IC Design Flow Speaker: Ming-Chun Hsiao Adviser: Prof. An-Yeu Wu Date: 2012/9/25 ACCESS IC LAB Outline Introduction to Integrated Circuit IC Design Flow Verilog HDL

More information

EECS150 - Digital Design Lecture 20 - Finite State Machines Revisited

EECS150 - Digital Design Lecture 20 - Finite State Machines Revisited EECS150 - Digital Design Lecture 20 - Finite State Machines Revisited April 2, 2009 John Wawrzynek Spring 2009 EECS150 - Lec20-fsm Page 1 Finite State Machines (FSMs) FSM circuits are a type of sequential

More information

Overview. Design flow. Principles of logic synthesis. Logic Synthesis with the common tools. Conclusions

Overview. Design flow. Principles of logic synthesis. Logic Synthesis with the common tools. Conclusions Logic Synthesis Overview Design flow Principles of logic synthesis Logic Synthesis with the common tools Conclusions 2 System Design Flow Electronic System Level (ESL) flow System C TLM, Verification,

More information

IMPLEMENTATION OF LOW POWER AREA EFFICIENT ALU WITH LOW POWER FULL ADDER USING MICROWIND DSCH3

IMPLEMENTATION OF LOW POWER AREA EFFICIENT ALU WITH LOW POWER FULL ADDER USING MICROWIND DSCH3 IMPLEMENTATION OF LOW POWER AREA EFFICIENT ALU WITH LOW POWER FULL ADDER USING MICROWIND DSCH3 Ritafaria D 1, Thallapalli Saibaba 2 Assistant Professor, CJITS, Janagoan, T.S, India Abstract In this paper

More information

Microprocessor Architecture. mywbut.com 1

Microprocessor Architecture. mywbut.com 1 Microprocessor Architecture mywbut.com 1 Microprocessor Architecture The microprocessor can be programmed to perform functions on given data by writing specific instructions into its memory. The microprocessor

More information

Design Progression With VHDL Helps Accelerate The Digital System Designs

Design Progression With VHDL Helps Accelerate The Digital System Designs Fourth LACCEI International Latin American and Caribbean Conference for Engineering and Technology (LACCET 2006) Breaking Frontiers and Barriers in Engineering: Education, Research and Practice 21-23 June

More information

ECE 4514 Digital Design II. Spring Lecture 20: Timing Analysis and Timed Simulation

ECE 4514 Digital Design II. Spring Lecture 20: Timing Analysis and Timed Simulation ECE 4514 Digital Design II Lecture 20: Timing Analysis and Timed Simulation A Tools/Methods Lecture Topics Static and Dynamic Timing Analysis Static Timing Analysis Delay Model Path Delay False Paths Timing

More information

Digital System Design with SystemVerilog

Digital System Design with SystemVerilog Digital System Design with SystemVerilog Mark Zwolinski AAddison-Wesley Upper Saddle River, NJ Boston Indianapolis San Francisco New York Toronto Montreal London Munich Paris Madrid Capetown Sydney Tokyo

More information

FPGA for Complex System Implementation. National Chiao Tung University Chun-Jen Tsai 04/14/2011

FPGA for Complex System Implementation. National Chiao Tung University Chun-Jen Tsai 04/14/2011 FPGA for Complex System Implementation National Chiao Tung University Chun-Jen Tsai 04/14/2011 About FPGA FPGA was invented by Ross Freeman in 1989 SRAM-based FPGA properties Standard parts Allowing multi-level

More information

Note: Closed book no notes or other material allowed, no calculators or other electronic devices.

Note: Closed book no notes or other material allowed, no calculators or other electronic devices. ECE 574: Modeling and Synthesis of Digital Systems using Verilog and VHDL Fall 2017 Exam Review Note: Closed book no notes or other material allowed, no calculators or other electronic devices. One page

More information

Virtex-II Architecture

Virtex-II Architecture Virtex-II Architecture Block SelectRAM resource I/O Blocks (IOBs) edicated multipliers Programmable interconnect Configurable Logic Blocks (CLBs) Virtex -II architecture s core voltage operates at 1.5V

More information

VLSI for Multi-Technology Systems (Spring 2003)

VLSI for Multi-Technology Systems (Spring 2003) VLSI for Multi-Technology Systems (Spring 2003) Digital Project Due in Lecture Tuesday May 6th Fei Lu Ping Chen Electrical Engineering University of Cincinnati Abstract In this project, we realized the

More information

Topics. FPGA Design EECE 277. Interconnect and Logic Elements Part 2. Laboratory Assignment #1 Save Everything!!! Guest Lecture

Topics. FPGA Design EECE 277. Interconnect and Logic Elements Part 2. Laboratory Assignment #1 Save Everything!!! Guest Lecture FPGA Design EECE 277 Interconnect and Logic Elements Part 2 Dr. William H. Robinson February 4, 2005 http://eecs.vanderbilt.edu/courses/eece277/ Topics The sky is falling. I must go and tell the King.

More information

Computer Architecture: Part III. First Semester 2013 Department of Computer Science Faculty of Science Chiang Mai University

Computer Architecture: Part III. First Semester 2013 Department of Computer Science Faculty of Science Chiang Mai University Computer Architecture: Part III First Semester 2013 Department of Computer Science Faculty of Science Chiang Mai University Outline Decoders Multiplexers Registers Shift Registers Binary Counters Memory

More information

Chapter 2 Basic Logic Circuits and VHDL Description

Chapter 2 Basic Logic Circuits and VHDL Description Chapter 2 Basic Logic Circuits and VHDL Description We cannot solve our problems with the same thinking we used when we created them. ----- Albert Einstein Like a C or C++ programmer don t apply the logic.

More information

ECE 465, Fall 2013, Instructor: Prof. Shantanu Dutt. Project 2 : Project Files Due Tue Nov. 26, Report Due Wed. Nov. 27, both at 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 ECE 465, Fall 2013, Instructor: Prof. Shantanu Dutt Project 2 : Project Files Due Tue Nov. 26, Report Due Wed. Nov. 27, both at midnight 1 Goal The goals of this project are: 1. To design a sequential

More information

CS 31: Intro to Systems Digital Logic

CS 31: Intro to Systems Digital Logic CS 3: Intro to Systems Digital Logic Martin Gagné Swarthmore College January 3, 27 You re going to want scratch papr today borrow some if needed. Quick nnouncements Late Policy Reminder 3 late days total

More information

CSE 140L Final Exam. Prof. Tajana Simunic Rosing. Spring 2008

CSE 140L Final Exam. Prof. Tajana Simunic Rosing. Spring 2008 CSE 140L Final Exam Prof. Tajana Simunic Rosing Spring 2008 NAME: ID#: Do not start the exam until you are told to. Turn off any cell phones or pagers. Write your name and PID at the top of every page.

More information

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

Recommended Design Techniques for ECE241 Project Franjo Plavec Department of Electrical and Computer Engineering University of Toronto Recommed Design Techniques for ECE241 Project Franjo Plavec Department of Electrical and Computer Engineering University of Toronto DISCLAIMER: The information contained in this document does NOT contain

More information

CPE/EE 427, CPE 527, VLSI Design I: Tutorial #4, Standard cell design flow (from verilog to layout, 8-bit accumulator)

CPE/EE 427, CPE 527, VLSI Design I: Tutorial #4, Standard cell design flow (from verilog to layout, 8-bit accumulator) CPE/EE 427, CPE 527, VLSI Design I: Tutorial #4, Standard cell design flow (from verilog to layout, 8-bit accumulator) Joel Wilder, Aleksandar Milenkovic, ECE Dept., The University of Alabama in Huntsville

More information

BUILDING BLOCKS OF A BASIC MICROPROCESSOR. Part 1 PowerPoint Format of Lecture 3 of Book

BUILDING BLOCKS OF A BASIC MICROPROCESSOR. Part 1 PowerPoint Format of Lecture 3 of Book BUILDING BLOCKS OF A BASIC MICROPROCESSOR Part PowerPoint Format of Lecture 3 of Book Decoder Tri-state device Full adder, full subtractor Arithmetic Logic Unit (ALU) Memories Example showing how to write

More information

INTERCONNECT TESTING WITH BOUNDARY SCAN

INTERCONNECT TESTING WITH BOUNDARY SCAN INTERCONNECT TESTING WITH BOUNDARY SCAN Paul Wagner Honeywell, Inc. Solid State Electronics Division 12001 State Highway 55 Plymouth, Minnesota 55441 Abstract Boundary scan is a structured design technique

More information

Actel s SX Family of FPGAs: A New Architecture for High-Performance Designs

Actel s SX Family of FPGAs: A New Architecture for High-Performance Designs Actel s SX Family of FPGAs: A New Architecture for High-Performance Designs A Technology Backgrounder Actel Corporation 955 East Arques Avenue Sunnyvale, California 94086 April 20, 1998 Page 2 Actel Corporation

More information

EEL 4783: HDL in Digital System Design

EEL 4783: HDL in Digital System Design EEL 4783: HDL in Digital System Design Lecture 15: Logic Synthesis with Verilog Prof. Mingjie Lin 1 Verilog Synthesis Synthesis vs. Compilation Descriptions mapped to hardware Verilog design patterns for

More information

High-Performance Full Adders Using an Alternative Logic Structure

High-Performance Full Adders Using an Alternative Logic Structure Term Project EE619 High-Performance Full Adders Using an Alternative Logic Structure by Atulya Shivam Shree (10327172) Raghav Gupta (10327553) Department of Electrical Engineering, Indian Institure Technology,

More information

Computer Science 324 Computer Architecture Mount Holyoke College Fall Topic Notes: Data Paths and Microprogramming

Computer Science 324 Computer Architecture Mount Holyoke College Fall Topic Notes: Data Paths and Microprogramming Computer Science 324 Computer Architecture Mount Holyoke College Fall 2007 Topic Notes: Data Paths and Microprogramming We have spent time looking at the MIPS instruction set architecture and building

More information

CSE 140L Final Exam. Prof. Tajana Simunic Rosing. Spring 2008

CSE 140L Final Exam. Prof. Tajana Simunic Rosing. Spring 2008 CSE 140L Final Exam Prof. Tajana Simunic Rosing Spring 2008 Do not start the exam until you are told to. Turn off any cell phones or pagers. Write your name and PID at the top of every page. Do not separate

More information