ENGG3380: Computer Organization and Design Lab4: Buses and Peripheral Devices

Size: px
Start display at page:

Download "ENGG3380: Computer Organization and Design Lab4: Buses and Peripheral Devices"

Transcription

1 ENGG3380: Computer Organization and Design Lab4: Buses and Peripheral Devices School of Engineering, University of Guelph Winter Objectives: The purpose of this lab is : Learn basic bus design techniques. Start Date: Week # Due Date: Week # Review registers and Register Transfer Level (RTL) Design. Experiment with a peripheral bus implementation. Understand how generic peripheral interface modules for input and output work. Connect external (to CPU core) IO peripherals using a peripheral bus and peripheral interface modules. 2 Review RTL Register Transfer Level (RTL) is a type of description for a synchronous digital circuit that specifies how data can move from one register to another while possibly traversing a set of control or processing blocks. A basic processor design typically consists of control unit and datapath. We already implemented a register file. It can be used in RTL principles as the source and sink of data during CPU operation, since it simultaneously has at least one read and one write port. The ALU can be considered as a processing block in RTL micro-operations. Data from one register can be read, passed through a combinational logic circuit, such as an ALU, and stored back into another register, thus forming one RTL micro-operation. While a review of RTL notation is beyond the scope of this lab, remember that the datapath provides the available logic and storage hardware for each micro-operation, and it is the control block that needs to provide the appropriate register/logic signals, such as enables, loads, and function selects, to implement the desired functionality at each clock. Similarly, on external buses, peripherals and masters provide the sources of data, and arbitrator circuits select the transfer operations that are to take place. 3 Introduction- Buses The simplest operations within a CPU require some sort of data transfer to occur in order to process information. Whether it is from a register file to an ALU, or from external memory to an IO port. There are two basic bus technologies to achieve these transfers physically - shared or dedicated. In a shared bus architecture, one common set of conductors are used among all communicating modules in a block. Typically, one module is the source of data (master) - it applies signals to the bus, and another 1

2 sinks data (slave), it reads the data from the bus and proceeds according to the content. There may be several modules capable of master operation, but only one master may be operating on the bus at any time. They all are connected to the bus using tri-state buffers, and all buffers except one must be disconnected at all times. Simultaneous operation of two masters on a shared bus, may result in a short circuit between signal drivers and may damage the chip. All slaves, however, may listen to the bus at the same time for signals to determine if they are being addressed. A slave which determines that the data is addressed to it will respond by saving the data inside its logic, or performing a control operation based on this data. Since there is only one set of conductors involved in a shared bus, all masters except the one performing the bus operation must wait their turn. Benefits of this design are seeming simplicity of construction and low resource utilization, especially on the wire routing side. In the FPGA world, the synthesis tools do not allow the designer to take the risk of a non-conflicting controller design as the chance of short circuit within a chip is always high, so internally all communication switching is facilitated using logic gate based multiplexers most of the time. Figure 1: Bus connect an ALU and RAM In the simplest dedicated bus architecture, all slaves still read the same common data line. However, each master has its own source connection to a common hub. This hub, in the most basic form, may be implemented using a multiplexer. A control circuit, typically called the bus arbitrator, decides which master is allowed access to the bus during a particular time slot as shown in Figure 2. Only one master thus is allowed to broadcast data to the slaves. More advanced implementations of the dedicated bus architecture may involve multiple broadcast channels, and allow many simultaneous transfers by using dedicated sink buses to each slave individually. The onus in this case is on the complexity of the routing or hub circuit to transfer the data from masters to slaves as addressed. The details of such designs are beyond the scope of this course. To make matters simpler, consider that your CPU will be the only master. However, let s begin by looking at the simple case in more detail. Remember that, by design, a system module can carry both a master and a slave bus interfaces. 4 Dedicated Bus Design For the purpose of your project, there are two places in the design hierarchy where buses should be considered. One is inside the CPU - the datapath bus. The other outside - memory and peripheral bus. The interconnect bus structure is usually facilitated at the higher if not highest levels of the design hierarchy. This is where all top modules can be instantiated, and the signals connected between them. The 2

3 Figure 2: Multi master/slave bus with an arbitrator following code sample illustrates this strategy: entity toplevel is port ( clk: in std_logic; sw1: in std_logic; led: out std_logic); end toplevel; architecture Str of toplevel is -- Mout is master data out, Min is master data in, addr is the address signal Bus_Mout, Bus_Min1, Bus_Min2 : std_logic_vector (X downto 0); signal Bus_Min3, Bus_addr : std_logic_vector (X downto 0); signal req : std_logic_vector(2 downto 0); signal Bus_Min : std_logic_vector (X downto 0); signal RW : std_logic; begin peripheral1: sseg port map (Bus_addr, Bus_Mout, Bus_Min1, req(0), RW, clk, led); peripheral2: switches port map (Bus_addr, Bus_Mout, Bus_Min2, req(1), RW, clk, sw1); peripheral3: memory port map (Bus_addr, Bus_Mout, Bus_Min3, req(2), RW, clk); master: cpu port map(bus_addr, Bus_Min, Bus_Mout, RW, clk); arb: Bus_Min <= Bus_Min1 when req(0)=1 else Bus_Min2 when req(1)=1 else Bus_Min3 when req(2)=1 else x00"; end Str; Here, the top level entity incorporates the necessary external IO pins, such as clock, a switch and an LED. Inside its body, the necessary bus signals are declared to facilitate the transfer of data between modules. Three peripheral entities are instantiated, where they take Bus addr, Bus Mout and clock as an input, and provide Bus Min and req lines as an output. A single master entity, CPU, is declared with Bus addr and Bus Mout as an output, and Bus Min as an input. RW is a single line that specifies if the request by the master is a read or a write, i.e. if data is to be stored in the peripheral, or sent to the master. A write enable is another name for this line. Notice that a simple arbitrator is implemented here using a dedicated bus approach directly in the body of the top level entity - depending on which peripheral responds to the master s request, the appropriate data output of that peripheral is connected to the data input of the master, the CPU. Notice that this implicit multiplexer design is prioritized - if more than one peripheral responds to the request, only one data line will be connected to the master, of the peripheral with the least significant request bit in this case. 3

4 More complicated arbitrator circuits are possible, and they would typically be implemented in their own modules. However, stating a simple arbitrator logic in the top level module in our case saves us a long entity port declaration with all data bus signals listed in a dedicated arbitrator entity module. Also, please note that the external memory to the CPU, the one that will contain the data and instructions to be executed, appears as an external bus peripheral. This is typical of memory mapped IO systems, where the memory becomes one of the peripherals mapped and accessed by a block of addresses in the global address space of the CPU. 5 Peripheral Design Thus, the connection between the master requesting and a peripheral accepting or providing data is in the address. The global address space is typically defined by the width of the registers and the datapath in your CPU architecture. For example, if a 16-bit architecture is designed, an address space with locations is available. Since it is easiest to make the CPU access the first address (x0000 ) on start up, it is most convenient to place system memory containing system software at that address. A 1KB memory placed at the start of the address space will take up the addresses x x03ff. When the CPU, or any master, accesses these address locations, it should receive the contents of main memory at those locations on the incoming data lines. This leaves the space x0400 -xffff open to map other peripherals to. A peripheral can either be for input only, output only, or both at the same time. For example, a 7-segment display controller can be an output peripheral. However, to connect any logic circuit as a peripheral on a bus requires some glue logic, in the form of slave logic circuit added on top of the 7-segment display as shown in Figure 3. Figure 3: A 7-segment display interface example. Here, a single digit 7-segment display controller is driven by a register. In this simple example, the register ports can be connected to the Din and Dout lines directly, since this is the only register contained in this peripheral. The enable register is driven by the slave logic circuit. The function of the slave logic circuit is to compare the address value presented on the bus to the base address for this peripheral. If they match, slave logic performs two tasks - it asserts an enable for the register to latch the new data value on Din onto the input of the 7-segment controller, and it asserts the request line, telling the arbitrator circuit that this peripheral is the one being accessed. While there is not likely any use in reading back the register value from this 7-segment peripheral because it s an output block, the request line is important when reading values back 4

5 from input blocks, such as from a peripheral obtaining values from a bank of switches as will be discussed in next section. The RW line is not used in the above diagram for clarity, but can otherwise be also used to control the write enable of the register depending on the design requirements. Normally, peripheral registers are overwritten only in the case when RW is asserted meaning a write cycle. Otherwise, it can be assumed that every access will be a write access. There are peripherals that also change state on a read cycle. Be very clear when designing and documenting peripheral modules of their exact functionality. 5.1 Output Peripheral - 7 segment We will be working on the external bus architecture in this lab. Since the CPU will not be present at this time, we will make due with a dummy master, which will serve in place of the CPU to make arbitration logic simpler. Let us begin an implementation with the simple single digit 7-segment control peripheral. The top level entity for this peripheral should look like this: entity per7seg is generic ( Dwidth : integer := 8; Awidth : integer := 8; BaseAddr : std_logic_vector(7 downto 0) := x10"; Digits : integer := 1); port ( Din : in std_logic_vector (Dwidth-1 downto 0); Dout : out std_logic_vector (Dwidth-1 downto 0); Addr : in std_logic_vector (Awidht-1 downto 0); RW : in std_logic; req : out std_logic Clk : in std_logic; ssegleds : out std_logic_vector(7 downto 0); SsegEN : out std_logic_vector(digits-1 downto 0)); end per7seg architecture Str of per7seg is -- register enable for the single digit display input signal en: std_logic; begin sl: sl7seg generic map (BaseAddr) port map(addr, req, en); ss: sseg register logic to connect Din with sseg inputs using en end Str; Notice that we parameterized this peripheral so that it can be connected to a bus structure of any width. 1. Complete the design of this peripheral Use a single digit 7-segment decoder to complete this design. Place an address comparator that compares the value on the Addr lines with the generic BaseAddr parameter. The idea behind this generic is to help with address space mapping. Since you will instantiate this and other peripherals at the top level of the hierarchy, it is there in one place where you will be able to select the address spaces for each of these components. You can ignore the RW input in this peripheral at this point, as we discussed. Its reference exists here to keep the entity declarations of all peripherals homogeneous. 2. Simulate this peripheral Assign a few addresses on the input, some that match the BaseAddress, and some that do not. Up to now there was no need to control Din and Dout lines, as they could be directly connected to the internal register. For a more robust design, assume we are dealing with the full 4-digit 7-segment decoder. In our 8-bit bus architecture, we would need two separate word transfers to change the display, 2 nibbles at a time. Therefore we need two registers to store the full input value for the 7-segment, and two enable lines. Since there now are two distinct values to remember, two of the consecutive addresses starting with BaseAddr need to be used to select which register to write. Additionally, the Dout line needs to be multiplexed from the two register outputs depending on which address is selected. 5

6 3. Expand this design to a 4 digit (2 address) 7-segment peripheral module and simulate Remember, you would need to use the clock to multiplex through the 4-digits in the 7-segment controller in this design. You may reduce the divider frequency in simulation to 1 clock cycle per digit to improve your work flow. Don t forget to change this value to the actual desired one when using the board with the 50MHz clock. Also, please insert RW logic in this peripheral at this stage. The registers should only update with a new value during a write cycle. 5.2 Input Peripheral - Switch Bank The same approach can be used to create an input peripheral by connecting a set of 8 switches on the board, to the Dout bus of the peripheral module. The entity declaration should look like this: entity per8sw is generic ( Dwidth : integer := 8; Awidth : integer := 16; BaseAddr : std_logic_vector(7 downto 0) := x1000"); port ( Din : in std_logic_vector (Dwidth-1 downto 0); Dout : out std_logic_vector (Dwidth-1 downto 0); Addr : in std_logic_vector (Awidht-1 downto 0); RW : in std_logic; req : out std_logic Clk : in std_logic; LED : in std_logic_vector (7 downto 0)); end per8sw architecture... Str of per8sw is begin sl:... sl8sw generic map (BaseAddr) port map(addr, req); end Str; As we are only connecting the 8 switches, this peripheral is input only. There is no need to generate an enable signal, however the request line should be generated accordingly on a BaseAddr match. A register can still be used to debounce the state of the switches at each clock without an enable, so that the data value on the bus never changes during a transfer cycle. Design and simulate the peripheral. To verify your design works, you just need to make sure the switches values are transferred onto the Dout bus, and req line lights up whenever there is an address match. For the slave logic in this peripheral, make it assert the request line whenever the addresses fall within a block range by ignoring the 4 least significant bits, i.e. it should match to all addresses within x1x where x is don t care - this covers the block of addresses x10 - x1f. A further improvement on this peripheral is to make it bidirectional by connecting the 8 switches and 8 LEDs above them in one module. The switches are read on a bus read request, and the LEDs are updated on a write cycle. This is optional. 5.3 Putting it all together Figure 4 is a high level view of what a possible bus system and design hierarchy might look like when all slaves and masters are connected together: In simple peripherals, only the BaseAddr value matters, as simple peripherals contain only one or a few words of data, and direct register enable lines are generated by slave logic. In more complex, or higher capacity peripherals, such as memory controllers, the BaseAddr value is used to match a block of addresses within a given range, and the lower bits of the address line on the bus is used to actually address into the data structure, such as a memory, directly. Note, in the diagram of Figure 4, the arbitrator circuit is omitted for clarity. 1. Connect the peripherals at top level and then simulate everything Instead of a CPU being a master, for this lab simply connect the data output of the arbitrator circuit to the Mout bus that is connected to 6

7 Figure 4: High level complete view of a proposed bus system both slaves. Select the same BaseAddr for both peripherals. This will ensure both are active at the same cycle facilitating data transfer directly between the two. In the arbitrator logic, make sure switch peripheral takes precedence over the 7-segment controller on requests from both. Make sure you simulate the design and each component in it before attempting to program the FPGA board. You will be required to demonstrate the simulations, as simulating all components of your design, bottom up, is a standard design practice. It is important that you parameterize as many hierarchy levels of your design as is useful with VHDL generics. You will be asked to justify your design decisions. 2. Demonstrate the circuit on the FPGA board Connect BTN1 to bit 4, and BTN2 to bit 0 of the bus address line, and BTN3 to RW select. Use the 50MHz single clock to drive the design. Change the switches to the first 8-bit value. Select the first 7-segment register address on the bus using BTN1 & 2. Press BTN3 to transfer the value from the switch to the 7-segment peripheral using the bus. Repeat for another 8-bit value. 6 Report When completed, you will hand in the following deliverables: 1. Title Page 2. A Block diagram of each design. 3. Simulation of each design. 4. VHDL code for each circuit designed (with comments). 5. VHDL code for simulation test-bench (with comments). 6. Report the resources used (LUTS, Flip Flops, e.t.c) for each implementation. 7

ENGG3380: Computer Organization and Design Lab5: Microprogrammed Control

ENGG3380: Computer Organization and Design Lab5: Microprogrammed Control ENGG330: Computer Organization and Design Lab5: Microprogrammed Control School of Engineering, University of Guelph Winter 201 1 Objectives: The objectives of this lab are to: Start Date: Week #5 201 Due

More information

Introduction to VHDL Design on Quartus II and DE2 Board

Introduction to VHDL Design on Quartus II and DE2 Board ECP3116 Digital Computer Design Lab Experiment Duration: 3 hours Introduction to VHDL Design on Quartus II and DE2 Board Objective To learn how to create projects using Quartus II, design circuits and

More information

In our case Dr. Johnson is setting the best practices

In our case Dr. Johnson is setting the best practices VHDL Best Practices Best Practices??? Best practices are often defined by company, toolset or device In our case Dr. Johnson is setting the best practices These rules are for Class/Lab purposes. Industry

More information

SPI 3-Wire Master (VHDL)

SPI 3-Wire Master (VHDL) SPI 3-Wire Master (VHDL) Code Download Features Introduction Background Port Descriptions Clocking Polarity and Phase Command and Data Widths Transactions Reset Conclusion Contact Code Download spi_3_wire_master.vhd

More information

Chapter 4. MARIE: An Introduction to a Simple Computer. Chapter 4 Objectives. 4.1 Introduction. 4.2 CPU Basics

Chapter 4. MARIE: An Introduction to a Simple Computer. Chapter 4 Objectives. 4.1 Introduction. 4.2 CPU Basics Chapter 4 Objectives Learn the components common to every modern computer system. Chapter 4 MARIE: An Introduction to a Simple Computer Be able to explain how each component contributes to program execution.

More information

VHDL: Modeling RAM and Register Files. Textbook Chapters: 6.6.1, 8.7, 8.8, 9.5.2, 11.2

VHDL: Modeling RAM and Register Files. Textbook Chapters: 6.6.1, 8.7, 8.8, 9.5.2, 11.2 VHDL: Modeling RAM and Register Files Textbook Chapters: 6.6.1, 8.7, 8.8, 9.5.2, 11.2 Memory Synthesis Approaches: Random logic using flip-flops or latches Register files in datapaths RAM standard components

More information

Problem Set 10 Solutions

Problem Set 10 Solutions CSE 260 Digital Computers: Organization and Logical Design Problem Set 10 Solutions Jon Turner thru 6.20 1. The diagram below shows a memory array containing 32 words of 2 bits each. Label each memory

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

ECEU530. Schedule. ECE U530 Digital Hardware Synthesis. Datapath for the Calculator (HW 5) HW 5 Datapath Entity

ECEU530. Schedule. ECE U530 Digital Hardware Synthesis. Datapath for the Calculator (HW 5) HW 5 Datapath Entity ECE U530 Digital Hardware Synthesis Prof. Miriam Leeser mel@coe.neu.edu November 6, 2006 Classes November 6 and 8 are in 429 Dana! Lecture 15: Homework 5: Datapath How to write a testbench for synchronous

More information

Control and Datapath 8

Control and Datapath 8 Control and Datapath 8 Engineering attempts to develop design methods that break a problem up into separate steps to simplify the design and increase the likelihood of a correct solution. Digital system

More information

XiNES Design Document. XiNES is a Nintendo Entertainment System simulator coded in pure VHDL

XiNES Design Document. XiNES is a Nintendo Entertainment System simulator coded in pure VHDL XiNES Design Document William Blinn (wb169@columbia.edu) David Coulthart (davec@columbia.edu) Jay Fernandez (jjf112@columbia.ed) Neel Goyal (neel@columbia.edu) Jeffrey Lin (jlin@columbia.edu) XiNES is

More information

Introduction to VHDL #1

Introduction to VHDL #1 ECE 3220 Digital Design with VHDL Introduction to VHDL #1 Lecture 3 Introduction to VHDL The two Hardware Description Languages that are most often used in industry are: n VHDL n Verilog you will learn

More information

CSC / EE Digital Systems Design. Summer Sample Project Proposal 01

CSC / EE Digital Systems Design. Summer Sample Project Proposal 01 THE CATHOLIC UNIVERSITY OF AMERICA SCHOOL OF ENGINEERING DEPARTMENT OF ELECTRICAL ENGINEERING AND COMPUTER SCIENCE CSC / EE 519-01 Digital Systems Design Summer 2013 Sample Project Proposal 01 Thursday

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

Lecture 12 VHDL Synthesis

Lecture 12 VHDL Synthesis CPE 487: Digital System Design Spring 2018 Lecture 12 VHDL Synthesis Bryan Ackland Department of Electrical and Computer Engineering Stevens Institute of Technology Hoboken, NJ 07030 1 What is Synthesis?

More information

Design Problem 3 Solutions

Design Problem 3 Solutions CSE 260 Digital Computers: Organization and Logical Design Jon Turner Design Problem 3 Solutions In this problem, you are to design, simulate and implement a sequential pattern spotter, using VHDL. This

More information

Laboratory Exercise 8

Laboratory Exercise 8 Laboratory Exercise 8 Memory Blocks In computer systems it is necessary to provide a substantial amount of memory. If a system is implemented using FPGA technology it is possible to provide some amount

More information

Field Programmable Gate Array

Field Programmable Gate Array Field Programmable Gate Array System Arch 27 (Fire Tom Wada) What is FPGA? System Arch 27 (Fire Tom Wada) 2 FPGA Programmable (= reconfigurable) Digital System Component Basic components Combinational

More information

MARIE: An Introduction to a Simple Computer

MARIE: An Introduction to a Simple Computer MARIE: An Introduction to a Simple Computer 4.2 CPU Basics The computer s CPU fetches, decodes, and executes program instructions. The two principal parts of the CPU are the datapath and the control unit.

More information

CPE/EE 421/521 Fall 2004 Chapter 4 The CPU Hardware Model. Dr. Rhonda Kay Gaede UAH. The CPU Hardware Model - Overview

CPE/EE 421/521 Fall 2004 Chapter 4 The CPU Hardware Model. Dr. Rhonda Kay Gaede UAH. The CPU Hardware Model - Overview CPE/EE 421/521 Fall 2004 Chapter 4 The 68000 CPU Hardware Model Dr. Rhonda Kay Gaede UAH Fall 2004 1 The 68000 CPU Hardware Model - Overview 68000 interface Timing diagram Minimal configuration using the

More information

The 9S12 in Expanded Mode - Using MSI logic to build ports Huang Chapter 14

The 9S12 in Expanded Mode - Using MSI logic to build ports Huang Chapter 14 The 9S12 in Expanded Mode - Using MSI logic to build ports Huang Chapter 14 Using MSI Logic To Build An Output Port Many designs use standard MSI logic for microprocessor expansion This provides an inexpensive

More information

Contents. Chapter 9 Datapaths Page 1 of 28

Contents. Chapter 9 Datapaths Page 1 of 28 Chapter 9 Datapaths Page of 2 Contents Contents... 9 Datapaths... 2 9. General Datapath... 3 9.2 Using a General Datapath... 5 9.3 Timing Issues... 7 9.4 A More Complex General Datapath... 9 9.5 VHDL for

More information

VHDL HIERARCHICAL MODELING

VHDL HIERARCHICAL MODELING To incorporate hierarchy in VHDL we must add component declarations and component instantiations to the model. In addition, we need to declare internal signals to interconnect the components. We can also

More information

Altera s Avalon Communication Fabric

Altera s Avalon Communication Fabric Altera s Avalon Communication Fabric Stephen A. Edwards Columbia University Spring 2012 Altera s Avalon Bus Something like PCI on a chip Described in Altera s Avalon Memory-Mapped Interface Specification

More information

CCE 3202 Advanced Digital System Design

CCE 3202 Advanced Digital System Design CCE 3202 Advanced Digital System Design Lab Exercise #2 This lab exercise will show you how to create, synthesize, and test a 3-bit ripple counter. A ripple counter is simply a circuit that outputs the

More information

FPGA briefing Part II FPGA development DMW: FPGA development DMW:

FPGA briefing Part II FPGA development DMW: FPGA development DMW: FPGA briefing Part II FPGA development FPGA development 1 FPGA development FPGA development : Domain level analysis (Level 3). System level design (Level 2). Module level design (Level 1). Academical focus

More information

VHDL for Complex Designs

VHDL for Complex Designs ELEC 379 : DESIGN OF DIGITAL AND MICROCOMPUTER SYSTEMS 1998/99 WINTER SESSION, TERM 2 VHDL for Complex Designs This lecture covers VHDL features that are useful when designing complex logic circuits. After

More information

The CPU Bus : Structure 0

The CPU Bus : Structure 0 The CPU Bus : Structure 0 The following can be applied to both the internal CPU buses and the external system buses. This distinction becomes blurred when we discuss Systems on a single Chip (SoC). The

More information

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

Synthesis from VHDL. Krzysztof Kuchcinski Department of Computer Science Lund Institute of Technology Sweden Synthesis from VHDL Krzysztof Kuchcinski Krzysztof.Kuchcinski@cs.lth.se Department of Computer Science Lund Institute of Technology Sweden March 23, 2006 Kris Kuchcinski (LTH) Synthesis from VHDL March

More information

CCE 3202 Advanced Digital System Design

CCE 3202 Advanced Digital System Design CCE 3202 Advanced Digital System Design Lab Exercise #2 Introduction You will use Xilinx Webpack v9.1 to allow the synthesis and creation of VHDLbased designs. This lab will outline the steps necessary

More information

CSE 260 Digital Computers: Organization and Logical Design. Exam 2. Jon Turner 3/28/2012

CSE 260 Digital Computers: Organization and Logical Design. Exam 2. Jon Turner 3/28/2012 CSE 260 Digital Computers: Organization and Logical Design Exam 2 Jon Turner 3/28/2012 1. (15 points). Draw a diagram for a circuit that implements the VHDL module shown below. Your diagram may include

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

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

Lecture 5: Computing Platforms. Asbjørn Djupdal ARM Norway, IDI NTNU 2013 TDT

Lecture 5: Computing Platforms. Asbjørn Djupdal ARM Norway, IDI NTNU 2013 TDT 1 Lecture 5: Computing Platforms Asbjørn Djupdal ARM Norway, IDI NTNU 2013 2 Lecture overview Bus based systems Timing diagrams Bus protocols Various busses Basic I/O devices RAM Custom logic FPGA Debug

More information

VHDL: RTL Synthesis Basics. 1 of 59

VHDL: RTL Synthesis Basics. 1 of 59 VHDL: RTL Synthesis Basics 1 of 59 Goals To learn the basics of RTL synthesis. To be able to synthesize a digital system, given its VHDL model. To be able to relate VHDL code to its synthesized output.

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

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

Sign here to give permission for your test to be returned in class, where others might see your score: EEL 4712 Midterm 2 Spring 216 VERSION 1 Name: UFID: Sign here to give permission for your test to be returned in class, where others might see your score: IMPORTANT: Please be neat and write (or draw)

More information

Introduction to Computer Design

Introduction to Computer Design Introduction to Computer Design Memory (W 800-840) Basic processor operation Processor organization Executing instructions Processor implementation using VHDL 1 Random Access Memory data_in address read/write

More information

ECE 545 Lecture 6. Behavioral Modeling of Sequential-Circuit Building Blocks. George Mason University

ECE 545 Lecture 6. Behavioral Modeling of Sequential-Circuit Building Blocks. George Mason University ECE 545 Lecture 6 Behavioral Modeling of Sequential-Circuit Building Blocks George Mason University Required reading P. Chu, RTL Hardware Design using VHDL Chapter 5.1, VHDL Process Chapter 8, Sequential

More information

Assignment 01 Computer Architecture Lab ECSE

Assignment 01 Computer Architecture Lab ECSE Assignment 01 Computer Architecture Lab ECSE 487-001 Date due: September 22, 2006, Trottier Assignment Box by 14:30 1 Introduction The purpose of this assignment is to re-familiarize the student with VHDL

More information

Chapter 4. MARIE: An Introduction to a Simple Computer

Chapter 4. MARIE: An Introduction to a Simple Computer Chapter 4 MARIE: An Introduction to a Simple Computer Chapter 4 Objectives Learn the components common to every modern computer system. Be able to explain how each component contributes to program execution.

More information

The D igital Digital Logic Level Chapter 3 1

The D igital Digital Logic Level Chapter 3 1 The Digital Logic Level Chapter 3 1 Gates and Boolean Algebra (1) (a) A transistor inverter. (b) A NAND gate. (c) A NOR gate. 2 Gates and Boolean Algebra (2) The symbols and functional behavior for the

More information

ECE 545 Lecture 8. Data Flow Description of Combinational-Circuit Building Blocks. George Mason University

ECE 545 Lecture 8. Data Flow Description of Combinational-Circuit Building Blocks. George Mason University ECE 545 Lecture 8 Data Flow Description of Combinational-Circuit Building Blocks George Mason University Required reading P. Chu, RTL Hardware Design using VHDL Chapter 7, Combinational Circuit Design:

More information

Summer 2003 Lecture 21 07/15/03

Summer 2003 Lecture 21 07/15/03 Summer 2003 Lecture 21 07/15/03 Simple I/O Devices Simple i/o hardware generally refers to simple input or output ports. These devices generally accept external logic signals as input and allow the CPU

More information

EENG 2910 Project III: Digital System Design. Due: 04/30/2014. Team Members: University of North Texas Department of Electrical Engineering

EENG 2910 Project III: Digital System Design. Due: 04/30/2014. Team Members: University of North Texas Department of Electrical Engineering EENG 2910 Project III: Digital System Design Due: 04/30/2014 Team Members: University of North Texas Department of Electrical Engineering Table of Content i Contents Abstract...3 Introduction...3 Report...4

More information

Unit 3 and Unit 4: Chapter 4 INPUT/OUTPUT ORGANIZATION

Unit 3 and Unit 4: Chapter 4 INPUT/OUTPUT ORGANIZATION Unit 3 and Unit 4: Chapter 4 INPUT/OUTPUT ORGANIZATION Introduction A general purpose computer should have the ability to exchange information with a wide range of devices in varying environments. Computers

More information

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

Schedule. ECE U530 Digital Hardware Synthesis. Rest of Semester. Midterm Question 1a ECE U530 Digital Hardware Synthesis Prof. Miriam Leeser mel@coe.neu.edu November 8, 2006 Midterm Average: 70 Lecture 16: Midterm Solutions Homework 6: Calculator Handshaking HW 6: Due Wednesday, November

More information

Summary of FPGA & VHDL

Summary of FPGA & VHDL FYS4220/9220 Summary of FPGA & VHDL Lecture #6 Jan Kenneth Bekkeng, University of Oslo - Department of Physics 16.11.2011 Curriculum (VHDL & FPGA part) Curriculum (Syllabus) defined by: Lectures Lecture6:

More information

FPGA design with National Instuments

FPGA design with National Instuments FPGA design with National Instuments Rémi DA SILVA Systems Engineer - Embedded and Data Acquisition Systems - MED Region ni.com The NI Approach to Flexible Hardware Processor Real-time OS Application software

More information

Lab 6 Debugging. Objective. Introduction. Prelab

Lab 6 Debugging. Objective. Introduction. Prelab UNIVERSITY OF CALIFORNIA AT BERKELEY COLLEGE OF ENGINEERING DEPARTMENT OF ELECTRICAL ENGINEERING AND COMPUTER SCIENCE Lab 6 Debugging Objective You will explore several techniques for debugging a digital

More information

VHDL for Modeling - Module 10

VHDL for Modeling - Module 10 VHDL for Modeling Module 10 Jim Duckworth, WPI 1 Overview General examples AND model Flip-flop model SRAM Model Generics DDR SDRAM Model Constraints Metastability Block Statements Just for reference Jim

More information

Module 5 - CPU Design

Module 5 - CPU Design Module 5 - CPU Design Lecture 1 - Introduction to CPU The operation or task that must perform by CPU is: Fetch Instruction: The CPU reads an instruction from memory. Interpret Instruction: The instruction

More information

ENGIN 241 Digital Systems with Lab

ENGIN 241 Digital Systems with Lab ENGIN 241 Digital Systems with Lab (4) Dr. Honggang Zhang Engineering Department University of Massachusetts Boston 1 Introduction Hardware description language (HDL): Specifies logic function only Computer-aided

More information

CSEE W4840 Embedded System Design Lab 1

CSEE W4840 Embedded System Design Lab 1 CSEE W4840 Embedded System Design Lab 1 Stephen A. Edwards Due January 31, 2008 Abstract Learn to use the Altera Quartus development envrionment and the DE2 boards by implementing a small hardware design

More information

The MC9S12 in Expanded Mode Using MSI logic to build ports Using MSI logic to build an output port Using MSI logic to build an input port

The MC9S12 in Expanded Mode Using MSI logic to build ports Using MSI logic to build an output port Using MSI logic to build an input port The MC9S12 in Expanded Mode Using MSI logic to build ports Using MSI logic to build an output port Using MSI logic to build an input port A Simple Parallel Output Port We want a port which will write 8

More information

ECE 485/585 Microprocessor System Design

ECE 485/585 Microprocessor System Design Microprocessor System Design Lecture 4: Memory Hierarchy Memory Taxonomy SRAM Basics Memory Organization DRAM Basics Zeshan Chishti Electrical and Computer Engineering Dept Maseeh College of Engineering

More information

Block Diagram. mast_sel. mast_inst. mast_data. mast_val mast_rdy. clk. slv_sel. slv_inst. slv_data. slv_val slv_rdy. rfifo_depth_log2.

Block Diagram. mast_sel. mast_inst. mast_data. mast_val mast_rdy. clk. slv_sel. slv_inst. slv_data. slv_val slv_rdy. rfifo_depth_log2. Key Design Features Block Diagram Synthesizable, technology independent IP Core for FPGA, ASIC and SoC reset Supplied as human readable VHDL (or Verilog) source code mast_sel SPI serial-bus compliant Supports

More information

NIOS CPU Based Embedded Computer System on Programmable Chip

NIOS CPU Based Embedded Computer System on Programmable Chip NIOS CPU Based Embedded Computer System on Programmable Chip 1 Lab Objectives EE8205: Embedded Computer Systems NIOS-II SoPC: PART-I This lab has been constructed to introduce the development of dedicated

More information

ECE 448 Lecture 3. Combinational-Circuit Building Blocks. Data Flow Modeling of Combinational Logic

ECE 448 Lecture 3. Combinational-Circuit Building Blocks. Data Flow Modeling of Combinational Logic ECE 448 Lecture 3 Combinational-Circuit Building Blocks Data Flow Modeling of Combinational Logic George Mason University Reading Required P. Chu, FPGA Prototyping by VHDL Examples Chapter 3, RT-level

More information

ECE 448 Lecture 3. Combinational-Circuit Building Blocks. Data Flow Modeling of Combinational Logic

ECE 448 Lecture 3. Combinational-Circuit Building Blocks. Data Flow Modeling of Combinational Logic ECE 448 Lecture 3 Combinational-Circuit Building Blocks Data Flow Modeling of Combinational Logic George Mason University Reading Required P. Chu, FPGA Prototyping by VHDL Examples Chapter 3, RT-level

More information

ECE 545 Lecture 5. Data Flow Modeling in VHDL. George Mason University

ECE 545 Lecture 5. Data Flow Modeling in VHDL. George Mason University ECE 545 Lecture 5 Data Flow Modeling in VHDL George Mason University Required reading P. Chu, RTL Hardware Design using VHDL Chapter 4, Concurrent Signal Assignment Statements of VHDL 2 Types of VHDL Description

More information

Introduction to VHDL #3

Introduction to VHDL #3 ECE 322 Digital Design with VHDL Introduction to VHDL #3 Lecture 7 & 8 VHDL Modeling Styles VHDL Modeling Styles Dataflow Concurrent statements Structural Components and interconnects Behavioral (sequential)

More information

[VARIABLE declaration] BEGIN. sequential statements

[VARIABLE declaration] BEGIN. sequential statements PROCESS statement (contains sequential statements) Simple signal assignment statement

More information

VHDL simulation and synthesis

VHDL simulation and synthesis VHDL simulation and synthesis How we treat VHDL in this course You will not become an expert in VHDL after taking this course The goal is that you should learn how VHDL can be used for simulation and synthesis

More information

NIOS CPU Based Embedded Computer System on Programmable Chip

NIOS CPU Based Embedded Computer System on Programmable Chip 1 Objectives NIOS CPU Based Embedded Computer System on Programmable Chip EE8205: Embedded Computer Systems This lab has been constructed to introduce the development of dedicated embedded system based

More information

2. System Interconnect Fabric for Memory-Mapped Interfaces

2. System Interconnect Fabric for Memory-Mapped Interfaces 2. System Interconnect Fabric for Memory-Mapped Interfaces QII54003-8.1.0 Introduction The system interconnect fabric for memory-mapped interfaces is a high-bandwidth interconnect structure for connecting

More information

Writing VHDL for RTL Synthesis

Writing VHDL for RTL Synthesis Writing VHDL for RTL Synthesis Stephen A. Edwards, Columbia University December 21, 2009 The name VHDL is representative of the language itself: it is a two-level acronym that stands for VHSIC Hardware

More information

Test Bench. Top Level Model Test Bench MUT

Test Bench. Top Level Model Test Bench MUT A test bench is usually a simulation-only model used for design verification of some other model(s) to be synthesized. A test bench is usually easier to develop than a force file when verifying the proper

More information

MICROPROCESSOR AND MICROCONTROLLER BASED SYSTEMS

MICROPROCESSOR AND MICROCONTROLLER BASED SYSTEMS MICROPROCESSOR AND MICROCONTROLLER BASED SYSTEMS UNIT I INTRODUCTION TO 8085 8085 Microprocessor - Architecture and its operation, Concept of instruction execution and timing diagrams, fundamentals of

More information

EITF35 - Introduction to the Structured VLSI Design (Fall 2016) Interfacing Keyboard with FPGA Board. (FPGA Interfacing) Teacher: Dr.

EITF35 - Introduction to the Structured VLSI Design (Fall 2016) Interfacing Keyboard with FPGA Board. (FPGA Interfacing) Teacher: Dr. EITF35 - Introduction to the Structured VLSI Design (Fall 2016) Interfacing Keyboard with FPGA Board (FPGA Interfacing) Teacher: Dr. Liang Liu v.1.0.0 1 Abstract This document describes the basic behavior

More information

ECE 545 Lecture 12. Datapath vs. Controller. Structure of a Typical Digital System Data Inputs. Required reading. Design of Controllers

ECE 545 Lecture 12. Datapath vs. Controller. Structure of a Typical Digital System Data Inputs. Required reading. Design of Controllers ECE 545 Lecture 12 Design of Controllers Finite State Machines and Algorithmic State Machine (ASM) Charts Required reading P. Chu, using VHDL Chapter 1, Finite State Machine: Principle & Practice Chapter

More information

COVER SHEET: Total: Regrade Info: 2 (6 points) 3 (8 points) 4 (10 points) 8 (12 points) 6 (6 points) 7 (6 points) 9 (30 points) 10 (4 points)

COVER SHEET: Total: Regrade Info: 2 (6 points) 3 (8 points) 4 (10 points) 8 (12 points) 6 (6 points) 7 (6 points) 9 (30 points) 10 (4 points) EEL 4712 Midterm 2 Spring 2010 VERSION 1 Name: UFID: Sign your name here if you would like for your test to be returned in class: IMPORTANT: Please be neat and write (or draw) carefully. If we cannot read

More information

CS/EE 3710 Computer Architecture Lab Checkpoint #2 Datapath Infrastructure

CS/EE 3710 Computer Architecture Lab Checkpoint #2 Datapath Infrastructure CS/EE 3710 Computer Architecture Lab Checkpoint #2 Datapath Infrastructure Overview In order to complete the datapath for your insert-name-here machine, the register file and ALU that you designed in checkpoint

More information

14:332:331. Computer Architecture and Assembly Language Fall Week 5

14:332:331. Computer Architecture and Assembly Language Fall Week 5 14:3:331 Computer Architecture and Assembly Language Fall 2003 Week 5 [Adapted from Dave Patterson s UCB CS152 slides and Mary Jane Irwin s PSU CSE331 slides] 331 W05.1 Spring 2005 Head s Up This week

More information

Codec. WM8731 Audio Codec

Codec. WM8731 Audio Codec Codec WM8731 Audio Codec Codec Coder / Decoder Audio, Video Compression/decompression signal coding 2 tj WM8731 3 tj WM8731 Data Path Basic Connection 4 tj WM8731 Data Path Basic Timing 5 tj WM8731 Data

More information

Using ModelSim to Simulate Logic Circuits in VHDL Designs. 1 Introduction. For Quartus II 13.0

Using ModelSim to Simulate Logic Circuits in VHDL Designs. 1 Introduction. For Quartus II 13.0 Using ModelSim to Simulate Logic Circuits in VHDL Designs For Quartus II 13.0 1 Introduction This tutorial is a basic introduction to ModelSim, a Mentor Graphics simulation tool for logic circuits. We

More information

VHDL in 1h. Martin Schöberl

VHDL in 1h. Martin Schöberl VHDL in 1h Martin Schöberl VHDL /= C, Java, Think in hardware All constructs run concurrent Different from software programming Forget the simulation explanation VHDL is complex We use only a small subset

More information

Lecture 3: Modeling in VHDL. EE 3610 Digital Systems

Lecture 3: Modeling in VHDL. EE 3610 Digital Systems EE 3610: Digital Systems 1 Lecture 3: Modeling in VHDL VHDL: Overview 2 VHDL VHSIC Hardware Description Language VHSIC=Very High Speed Integrated Circuit Programming language for modelling of hardware

More information

COVER SHEET: Total: Regrade Info: 5 (5 points) 2 (8 points) 6 (10 points) 7b (13 points) 7c (13 points) 7d (13 points)

COVER SHEET: Total: Regrade Info: 5 (5 points) 2 (8 points) 6 (10 points) 7b (13 points) 7c (13 points) 7d (13 points) EEL 4712 Midterm 2 Spring 2011 VERSION 1 Name: UFID: Sign your name here if you would like for your test to be returned in class: IMPORTANT: Please be neat and write (or draw) carefully. If we cannot read

More information

The Memory Component

The Memory Component The Computer Memory Chapter 6 forms the first of a two chapter sequence on computer memory. Topics for this chapter include. 1. A functional description of primary computer memory, sometimes called by

More information

AIRbus Interface. Features Fixed width (8-, 16-, or 32-bit) data transfers (dependent on the width. Functional Description. General Arrangement

AIRbus Interface. Features Fixed width (8-, 16-, or 32-bit) data transfers (dependent on the width. Functional Description. General Arrangement AIRbus Interface December 22, 2000; ver. 1.00 Functional Specification 9 Features Fixed width (8-, 16-, or 32-bit) data transfers (dependent on the width of the data bus) Read and write access Four-way

More information

Using MSI Logic To Build An Output Port

Using MSI Logic To Build An Output Port Using MSI Logic To Build An Output Port Many designs use standard MSI logic for microprocessor expansion This provides an inexpensive way to expand microprocessors One MSI device often used in such expansions

More information

Introduction Electrical Considerations Data Transfer Synchronization Bus Arbitration VME Bus Local Buses PCI Bus PCI Bus Variants Serial Buses

Introduction Electrical Considerations Data Transfer Synchronization Bus Arbitration VME Bus Local Buses PCI Bus PCI Bus Variants Serial Buses Introduction Electrical Considerations Data Transfer Synchronization Bus Arbitration VME Bus Local Buses PCI Bus PCI Bus Variants Serial Buses 1 Most of the integrated I/O subsystems are connected to the

More information

Lecture 2 Hardware Description Language (HDL): VHSIC HDL (VHDL)

Lecture 2 Hardware Description Language (HDL): VHSIC HDL (VHDL) Lecture 2 Hardware Description Language (HDL): VHSIC HDL (VHDL) Pinit Kumhom VLSI Laboratory Dept. of Electronic and Telecommunication Engineering (KMUTT) Faculty of Engineering King Mongkut s University

More information

The Virtex FPGA and Introduction to design techniques

The Virtex FPGA and Introduction to design techniques The Virtex FPGA and Introduction to design techniques SM098 Computation Structures Lecture 6 Simple Programmable Logic evices Programmable Array Logic (PAL) AN-OR arrays are common blocks in SPL and CPL

More information

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

Assignment. Last time. Last time. ECE 4514 Digital Design II. Back to the big picture. Back to the big picture Assignment Last time Project 4: Using synthesis tools Synplify Pro and Webpack Due 11/11 ning of class Generics Used to parameterize models E.g., Delay, bit width Configurations Configuration specification

More information

VME64M VME64 MASTER CONTROLLER. Version 1.1

VME64M VME64 MASTER CONTROLLER. Version 1.1 Datasheet VME64M VME64 MASTER CONTROLLER Version 1.1 INICORE INC. 5600 Mowry School Road Suite 180 Newark, CA 94560 t: 510 445 1529 f: 510 656 0995 e: info@inicore.com www.inicore.com C O P Y R I G H T

More information

Memory Supplement for Section 3.6 of the textbook

Memory Supplement for Section 3.6 of the textbook The most basic -bit memory is the SR-latch with consists of two cross-coupled NOR gates. R Recall the NOR gate truth table: A S B (A + B) The S stands for Set to remember, and the R for Reset to remember.

More information

EECE-4740/5740 Advanced VHDL and FPGA Design. Lecture 3 Concurrent and sequential statements

EECE-4740/5740 Advanced VHDL and FPGA Design. Lecture 3 Concurrent and sequential statements EECE-4740/5740 Advanced VHDL and FPGA Design Lecture 3 Concurrent and sequential statements Cristinel Ababei Marquette University Department of Electrical and Computer Engineering Overview Components hierarchy

More information

Chapter Operation Pinout Operation 35

Chapter Operation Pinout Operation 35 68000 Operation 35 Chapter 6 68000 Operation 6-1. 68000 Pinout We will do no construction in this chapter; instead, we will take a detailed look at the individual pins of the 68000 and what they do. Fig.

More information

CARDBUS INTERFACE USER MANUAL

CARDBUS INTERFACE USER MANUAL CARDBUS INTERFACE USER MANUAL 1 Scope The COM-13xx ComBlock modules are PC cards which support communication with a host computer through a standard CardBus interface. These ComBlock modules can be used

More information

Lecture 9. VHDL, part IV. Hierarchical and parameterized design. Section 1 HIERARCHICAL DESIGN

Lecture 9. VHDL, part IV. Hierarchical and parameterized design. Section 1 HIERARCHICAL DESIGN Lecture 9 VHDL, part IV Hierarchical and parameterized design Section 1 HIERARCHICAL DESIGN 2 1 Dealing with Large Digital System Design 1. Apply hierarchy to the design At the highest level use larger

More information

Chapter 6 Combinational-Circuit Building Blocks

Chapter 6 Combinational-Circuit Building Blocks Chapter 6 Combinational-Circuit Building Blocks Commonly used combinational building blocks in design of large circuits: Multiplexers Decoders Encoders Comparators Arithmetic circuits Multiplexers A multiplexer

More information

Programmable Logic. Simple Programmable Logic Devices

Programmable Logic. Simple Programmable Logic Devices Programmable Logic SM098 Computation Structures - Programmable Logic Simple Programmable Logic evices Programmable Array Logic (PAL) AN-OR arrays are common blocks in SPL and CPL architectures Implements

More information

MARIE: An Introduction to a Simple Computer

MARIE: An Introduction to a Simple Computer MARIE: An Introduction to a Simple Computer Outline Learn the components common to every modern computer system. Be able to explain how each component contributes to program execution. Understand a simple

More information

Introduction. Embedded system functionality aspects. Processing. Storage. Communication. Transformation of data Implemented using processors

Introduction. Embedded system functionality aspects. Processing. Storage. Communication. Transformation of data Implemented using processors Input/Output 1 Introduction Embedded system functionality aspects Processing Transformation of data Implemented using processors Storage Retention of data Implemented using memory Communication Transfer

More information

RTL Power Estimation and Optimization

RTL Power Estimation and Optimization Power Modeling Issues RTL Power Estimation and Optimization Model granularity Model parameters Model semantics Model storage Model construction Politecnico di Torino Dip. di Automatica e Informatica RTL

More information

APPLICATION NOTE. A CPLD VHDL Introduction. Introduction. Overview. Entity. XAPP 105 January12, 1998 (Version 1.0) 0 4* Application Note

APPLICATION NOTE. A CPLD VHDL Introduction. Introduction. Overview. Entity. XAPP 105 January12, 1998 (Version 1.0) 0 4* Application Note 0 APPLICATION NOTE A CPLD VHDL Introduction XAPP 105 January12, 1998 Version 1.0) 0 4* Application Note Summary This introduction covers the basics of VHDL as applied to Complex Programmable Logic Devices.

More information

EE 459/500 HDL Based Digital Design with Programmable Logic. Lecture 4 Introduction to VHDL

EE 459/500 HDL Based Digital Design with Programmable Logic. Lecture 4 Introduction to VHDL EE 459/500 HDL Based Digital Design with Programmable Logic Lecture 4 Introduction to VHDL Read before class: Chapter 2 from textbook (first part) Outline VHDL Overview VHDL Characteristics and Concepts

More information

Altera s Avalon Communication Fabric

Altera s Avalon Communication Fabric Altera s Avalon Communication Fabric p. 1/1 Altera s Avalon Communication Fabric Prof. Stephen A. Edwards sedwards@cs.columbia.edu Columbia University Spring 2007 Altera s Avalon Communication Fabric p.

More information