PCIe control interface for user logic.

Slides:



Advertisements
Similar presentations
Bus Specification Embedded Systems Design and Implementation Witawas Srisa-an.
Advertisements

CPE 201 Digital Design Lecture 25: Register Transfer Level Design (2)
VHDL Lecture 1 Megan Peck EECS 443 Spring 08.
COE 405 VHDL Basics Dr. Aiman H. El-Maleh Computer Engineering Department King Fahd University of Petroleum & Minerals Dr. Aiman H. El-Maleh Computer Engineering.
Avalon Switch Fabric. 2 Proprietary interconnect specification used with Nios II Principal design goals – Low resource utilization for bus logic – Simplicity.
Pipeline transfer testing. The purpose of pipeline transfer increase the bandwidth for synchronous slave peripherals that require several cycles to return.
6/12/20151 Sequence Detectors Lecture Notes – Lab 4 Sequence detection is the act of recognizing a predefined series of inputs A sequence detector is a.
Counters Discussion D5.3 Example 33. Counters 3-Bit, Divide-by-8 Counter 3-Bit Behavioral Counter in Verilog Modulo-5 Counter An N-Bit Counter.
Assertions in OpenVera Assertions check for the occurrence of sequences during simulation Sequence is an ordered (maybe timed) series of boolean events.
VHDL And Synthesis Review. VHDL In Detail Things that we will look at: –Port and Types –Arithmetic Operators –Design styles for Synthesis.
EECS 470 Cache and Memory Systems Lecture 14 Coverage: Chapter 5.
Computer Architecture Lecture 08 Fasih ur Rehman.
Cis303a_chapt06_exam.ppt CIS303A: System Architecture Exam - Chapter 6 Name: __________________ Date: _______________ 1. What connects the CPU with other.
NS Training Hardware.
PCI Team 3: Adam Meyer, Christopher Koch,
I/O Example: Disk Drives To access data: — seek: position head over the proper track (8 to 20 ms. avg.) — rotational latency: wait for desired sector (.5.
© 2005 Altera Corporation SOPC Builder: a Design Tool for Rapid System Prototyping on FPGAs Kerry Veenstra Workshop on Architecture Research using FPGA.
VHDL Project I: Introduction to Testbench Design Matthew Murach Slides Available at:
VHDL in 1h Martin Schöberl. AK: JVMHWVHDL2 VHDL /= C, Java,… Think in hardware All constructs run concurrent Different from software programming Forget.
ENG241 Digital Design Week #8 Registers and Counters.
I2C Master Core Simulation Environment. I2C Master Core Requirements Coverage (*) Requirement I2C IP RS-906: The I2C IP shall define the period of time,
Copyright(c) 1996 W. B. Ligon III1 Getting Started with VHDL VHDL code is composed of a number of entities Entities describe the interface of the component.
1 COMP541 Sequential Circuits Montek Singh Feb 1, 2012.
Feb. 26, 2001Systems Architecture I1 Systems Architecture I (CS ) Lecture 12: State Elements, Registers, and Memory * Jeremy R. Johnson Mon. Feb.
 Seattle Pacific University EE Logic System DesignCounters-1 Shift Registers DQ clk DQ DQ ShiftIn Q3Q3 Q2Q2 DQ Q1Q1 Q0Q0 A shift register shifts.
CEC 220 Digital Circuit Design VHDL in Sequential Logic Wednesday, March 25 CEC 220 Digital Circuit Design Slide 1 of 13.
George Mason University Controllers for Keccak_F and AES ECE 545 Lecture 11 Addendum.
Copyright (c) 2003 by Valery Sklyarov and Iouliia Skliarova: DETUA, IEETA, Aveiro University, Portugal.
CS 478: Microcontroller Systems University of Wisconsin-Eau Claire Dan Ernst Bus Protocols and Interfacing Bus basics I/O transactions MPC555 bus Reference:
Bus Protocols and Interfacing (adopted Steven and Marios’s slides) Bus basics I/O transactions MPC823 bus Reference: Chapter 13 of “White Book”
ECE DIGITAL LOGIC LECTURE 20: REGISTERS AND COUNTERS Assistant Prof. Fareena Saqib Florida Institute of Technology Fall 2015, 11/19/2015.
Field Programmable Port Extender (FPX) 1 Modular Design Techniques for the Field Programmable Port Extender John Lockwood and David Taylor Washington University.
Latches-1 Feedback Circuits Two inverters, with feedback If the first input is 0, a 0 gets fed back into it If the first input is 1, a 1 gets fed back.
Registers and Counters Discussion D8.1. Logic Design Fundamentals - 3 Registers Counters Shift Registers.
Digital Design with SM Charts
Internal Logic Analyzer Middle presentation-part A By: Moran Katz and Zvika Pery Mentor: Moshe Porian Dual-semester project Spring 2012.
Sequential statements (1) process
An Introduction to Verilog: Transitioning from VHDL
System-on-Chip Design Homework Solutions
Class Exercise 1B.
Registers and Counters
Erno DAVID, Tivadar KISS Wigner Research Center for Physics (HU)
Hardware Description Languages
CHAPTER 17 VHDL FOR SEQUENTIAL LOGIC
Dept. of Info. & Comm. Eng. Prof. Jongbok Lee
ECE 4110–5110 Digital System Design
SIS3316 external clock D. R. Bett D. R. Bett FONT Meeting 9 May 2014.
On Behalf of the GBT Project Collaboration
An Introduction to Microprocessor Architecture using intel 8085 as a classic processor
Avalon Switch Fabric.
System Interconnect Fabric
VHDL 5 FINITE STATE MACHINES (FSM)
8254 Timer and Counter (8254 IC).
CHAPTER 17 VHDL FOR SEQUENTIAL LOGIC
RTL Style در RTL مدار ترتيبي به دو بخش (تركيبي و عناصر حافظه) تقسيم مي شود. مي توان براي هر بخش يك پروسس نوشت يا براي هر دو فقط يك پروسس نوشت. مرتضي صاحب.
Architecture & Support Components
Programmable Interval timer 8253 / 8254
Software Environment ISE 5.x Interaction with simple LCDs
Operating Systems Chapter 5: Input/Output Management
8085 Microprocessor Architecture
Programmable Interval timer 8253 / 8254
Test Fixture (Testbench)
Figure 8.1. The general form of a sequential circuit.
8253 – PROGRAMMABLE INTERVAL TIMER (PIT). What is a Timer? Timer is a specialized type of device that is used to measure timing intervals. Timers can.
14 Digital Systems.
Programmable Interval Timer
CBETA bunch pattern and BPM trigger generator Version 2
디 지 털 시 스 템 설 계 UP2 Kit를 이용한 카운터 설계
(Sequential-Circuit Building Blocks)
EEL4712 Digital Design (VHDL Tutorial).
Presentation transcript:

PCIe control interface for user logic.

PCIe CONNECTIONs Avalon MM is an interface that provides read/write address based access. Possible usage: Single Master to control all the Slaves (selection will be done using add. range on the Slave side) Different Masters connected to different Slave, point to point connection, as showed in the picture (selection will be done in the PCIe wrapper)

AVALON master signal interface AVALON MM implements ADD + DATA transfers in 2 directions. The Master can write data to the Slave. The Master can read data from the Slave. Burst operation is supported by the protocol.

Signal configurations There are mainly 3 type of transfer to be handled by the user logic: Pulse signals: active for one or more than one clock cycle Enable/disable signals: active until the command disables them Register configuration. Example of pulse signals : reset Example of toggle signals : enable Example of register : configure a 32 bit register in the user logic, set configuration values.

WAVE form (burstcount = 1) Example Master Slave transfer: Data is valid only when write is ‘1’ The transaction is frozen if the slave rises the waitrequest signal

Example : RESET generation rst <= '1' when (avm_write = '1' and avm_address = x"00000524“ and avm_writedata(0) = ‘1’) else '0'; --! component to extend the reset signal for CC clock cycle cmp_gen_reset : entity work.gen_reset generic map (CC => 10, POL=>1) port map ( clk => clock, i => rst, o => reset );

GEN RESET component entity gen_reset is generic (CC : integer := 10, POL : integer := 1); port ( clk : in std_logic; i : in std_logic; o : out std_logic ); end gen_reset; architecture rtl of gen_reset is signal cnt : integer range 50 to 0; signal s : std_logic; begin o <= s when (POL = 1) else not(s); s <= '0' when (cnt = 0) else '1'; p_cnt : process(clk) if rising_edge(clk) then if i = '1' then cnt <= CC; else if cnt > 0 then cnt <= cnt - 1; end if; end process; end rtl;

ENABLE signal ena <= '1' when (avm_write = '1' and avm_address = x"00000524“ and avm_writedata(1) = ‘1’) else '0'; cmp_toggle_signal : entity work.toggle_signal port map ( clk => clock, i => ena, o => cluste_finder_enable );

TOGGLE signal entity toggle_signal is port ( clk : in std_logic; rst : in std_logic; i : in std_logic; o : out std_logic ); end toggle_signal; architecture rtl of toggle_signal is signal s : std_logic; begin o <= s; p_cnt : process(clk) if rising_edge(clk) then if rst = '1' then s <= '0'; else if i = '1' then --! This is a pulse of 1 CC s <= not(s); end if end if; end process;

BURST tranfer The AVALON MM interface allows the transfer of several words. The size of the BURST is 1< BURST <2x-1 A burst executes multiple transfers as a unit, rather than treating every words independently. Slave can delay a transfer by asserting waitrequest signal, forcing the master to old the value of writedata, write, burstcount and byteenables signals 1 2 3 4 5 6 7

Timing Avalon interfaces must be edge sensitive only to clock and reset. The Avalon interface should be able to operate properly, running @ 250 MHz (PCIe interface clock). The user logic doesn’t have to run at such speed, however to easy the communication and the handling of the signals the 2 AVALON interfaces should run at the same clock speed. The Clock Domain Crossing will happen after/before the interface CLK2 CLK1 CDC AVALON SLAVE AVALON MASTER