Normal text - click to edit Configuring of Xilinx Virtex-II Kjetil Ullaland, Ketil Røed, Bjørn Pommeresche, Johan Alme TPC Electronics meeting. CERN 13-14.

Slides:



Advertisements
Similar presentations
FPGA Configuration. Introduction What is configuration? – Process for loading data into the FPGA Configuration Data Source Configuration Data Source FPGA.
Advertisements

Sundance Multiprocessor Technology SMT702 + SMT712.
Xilinx CPLDs and FPGAs Module F2-1. CPLDs and FPGAs XC9500 CPLD XC4000 FPGA Spartan FPGA Spartan II FPGA Virtex FPGA.
EXTERNAL COMMUNICATIONS DESIGNING AN EXTERNAL 3 BYTE INTERFACE Mark Neil - Microprocessor Course 1 External Memory & I/O.
Programmable Interval Timer
A self-reconfiguring platform Brandon Blodget,Philip James- Roxby, Eric Keller, Scott McMillan, Prasanna Sundararajan.
VirtexII 3000 FPGA Dynamic Burn-In Test For Military And Aerospace Applications Sponsored By NASA Electronic Parts and Packaging Program (NEPP) Electronic.
Normal text - click to edit Status Report TPC Electronics Meeting, CERN Johan Alme & Ketil Røed, UoB.
Normal text - click to edit Trigger interface module Kjetil Ullaland, Sten Solli, Johan Alme TPC Electronics meeting. CERN Jan 2005.
1 Performed By: Khaskin Luba Einhorn Raziel Einhorn Raziel Instructor: Rivkin Ina Spring 2004 Spring 2004 Virtex II-Pro Dynamical Test Application Part.
1 Performed by: Lin Ilia Khinich Fanny Instructor: Fiksman Eugene המעבדה למערכות ספרתיות מהירות High Speed Digital Systems Laboratory הטכניון - מכון טכנולוגי.
Other I/O LCD display Flash ROM Keyboard (PS/2) UART connectors.
VirtexIIPRO FPGA Device Functional Testing In Space environment. Performed by: Mati Musry, Yahav Bar Yosef Instuctor: Inna Rivkin Semester: Winter/Spring.
Configurable System-on-Chip: Xilinx EDK
Programmable logic and FPGA
Configuration. Mirjana Stojanovic Process of loading bitstream of a design into the configuration memory. Bitstream is the transmission.
CCNA 2 v3.1 Module 2.
Lecture 7 Lecture 7: Hardware/Software Systems on the XUP Board ECE 412: Microcomputer Laboratory.
3-1 System peripherals & Bus Structure Memory map of the LPC2300 device is one contiguous 32-bit address range. However, the device itself is made up of.
HD44780 LCD programming From the Hardware Side
® ChipScope ILA TM Xilinx and Agilent Technologies.
NetBurner MOD 5282 Network Development Kit MCF 5282 Integrated ColdFire 32 bit Microcontoller 2 DB-9 connectors for serial I/O supports: RS-232, RS-485,
System Clocks.
Normal text - click to edit RCU – DCS system in ALICE RCU design, prototyping and test results (TPC & PHOS) Johan Alme.
ATLAS SCT/Pixel TIM FDR/PRR 28 July 2004 Firmware - Matt Warren1 Physics & Astronomy HEP Electronics Matthew Warren John Lane, Martin Postranecky TIM Firmware.
(More) Interfacing concepts. Introduction Overview of I/O operations Programmed I/O – Standard I/O – Memory Mapped I/O Device synchronization Readings:
Gregory PawloskiAugust 22, 2002 MPC Testing Progress.
Microprocessor-Based System. What is it? How simple can a microprocessor-based system actually be? – It must obviously contain a microprocessor otherwise.
J. Christiansen, CERN - EP/MIC
Status-report TPC Electronics Meeting Dieter Röhrich, Kjetil Ullaland, Ketil Røed, Mattias Richter, Sebastian Bablok, Johan Alme.
Tools - Implementation Options - Chapter15 slide 1 FPGA Tools Course Implementation Options.
Design of a Novel Bridge to Interface High Speed Image Sensors In Embedded Systems Tareq Hasan Khan ID: ECE, U of S Term Project (EE 800)
1 EDK 7.1 Tutorial -- SystemACE and EthernetMAC on Avnet Virtex II pro Development Boards Chia-Tien Dan Lo Department of Computer Science University of.
Bernardo Mota (CERN PH/ED) 17/05/04ALICE TPC Meeting Progress on the RCU Prototyping Bernardo Mota CERN PH/ED Overview Architecture Trigger and Clock Distribution.
CHAPTER 5 Configuration, Reconfiguration and Security.
ACCESS IC LAB Graduate Institute of Electronics Engineering, NTU FPGA Design with Xilinx ISE Presenter: Shu-yen Lin Advisor: Prof. An-Yeu Wu 2005/6/6.
PROJECT - ZYNQ Yakir Peretz Idan Homri Semester - winter 2014 Duration - one semester.
Lecture 12: Reconfigurable Systems II October 20, 2004 ECE 697F Reconfigurable Computing Lecture 12 Reconfigurable Systems II: Exploring Programmable Systems.
Field Programmable Port Extender (FPX) 1 Modular Design Techniques for the FPX.
Interrupt driven I/O. MIPS RISC Exception Mechanism The processor operates in The processor operates in user mode user mode kernel mode kernel mode Access.
L/O/G/O Input Output Chapter 4 CS.216 Computer Architecture and Organization.
This material exempt per Department of Commerce license exception TSU Xilinx On-Chip Debug.
ESS | FPGA for Dummies | | Maurizio Donna FPGA for Dummies Basic FPGA architecture.
PS/2 Mouse/Keyboard Port
Proposal for an Open Source Flash Failure Analysis Platform (FLAP) By Michael Tomer, Cory Shirts, SzeHsiang Harper, Jake Johns
© 2008, Renesas Technology America, Inc., All Rights Reserved 1 Course Introduction Purpose  This course provides an introduction to the peripheral functions.
Survey of Reconfigurable Logic Technologies
بسم الله الرحمن الرحيم MEMORY AND I/O.
Lab Environment and Miniproject Assignment Spring 2009 ECE554 Digital Engineering Laboratory.
17/02/06H-RORCKIP HeidelbergTorsten Alt The new H-RORC H-RORC.
Radiation Tolerance Studies using Fault Injection on the Readout Control FPGA Design of the ALICE TPC Detector Johan Alme Bergen University College, Norway.
Trigger for MEG2: status and plans Donato Nicolo` Pisa (on behalf of the Trigger Group) Lepton Flavor Physics with Most Intense DC Muon Beam Fukuoka, 22.
Firmware for the CPLD on the RCU
The first change to your project files that is needed is to change the device to the correct FPGA. This is done by going to the Assignments tab on the.
FPGA Configuration Chris Stinson, 1998.
SEU Mitigation Techniques for Virtex FPGAs in Space Applications
Radiation Tolerance of an Used in a Large Tracking Detector
RCU3 –> RCU4 New Schematics
Torsten Alt, Kjetil Ullaland, Matthias Richter, Ketil Røed, Johan Alme
AT91RM9200 Boot strategies This training module describes the boot strategies on the AT91RM9200 including the internal Boot ROM and the U-Boot program.
The Xilinx Virtex Series FPGA
Serial EEPROM (Atmel 24C-512)
I/O Systems I/O Hardware Application I/O Interface
ChipScope Pro Software
HD44780 LCD programming From the Hardware Side
Reconfigurable FPGAs (The Xilinx Virtex II Pro / ProX FPGA family)
The Xilinx Virtex Series FPGA
ChipScope Pro Software
"Computer Design" by Sunggu Lee
CHAPTER 4 I/O PORT PROGRAMMING.
Presentation transcript:

Normal text - click to edit Configuring of Xilinx Virtex-II Kjetil Ullaland, Ketil Røed, Bjørn Pommeresche, Johan Alme TPC Electronics meeting. CERN Jan 2005

Normal text - click to edit Overview Xilinx Virtex-II configuration facts Work so far Results Status

Normal text - click to edit Configuring Xilinx Virtex-II 5 built-in modes –JTAG –Master/Slave Serial –Master/Slave SelectMap JTAG and Slave SelectMap is chosen for RCU. 3 mode pins (M2, M1, M0) are used for setting the mode.

Normal text - click to edit Configuring - details A Xilinx Virtex is divided into Columns, which again is divided into frames. The XC2VP4 has: –One center column (8 frames/column) –752 CLB Colums (48 frames/column) –4 BRAM Columns (27 frames/column) DCM is included here –2 IOB Columns (54 frames/column The Column number from the start is called Major Number, and the frame number in the columns is called Minor number.

Normal text - click to edit Configuring - details Counting of the major number is 0 in the center, the even numbers to the left, and the odd to the right. The Major and Minor numbers are used to locate a specific frame in the Virtex- II. Writing these numbers to the FAR (Frame address register) in the FPGA, makes it possible to read or write from/to this frame.

Normal text - click to edit JTAG JTAG is the default mode. –JTAG always work whenever connected, no matter what mode is selected. Benefits: –Well known interface that is easy to use and is supported by all companies. –Possibility to do a readback –No extra firmware/software required except what is delivered by Xilinx.

Normal text - click to edit Slave SelectMap Mode pins should be set to 110 (M2, M1, M0) –Note: If connected to a 3.3V network, these inputs must have a 100  serial resistor attached External clock is used for configuring. 8 bit wide databus 6 control/status lines Benefits: –Parallel data transport => fast interface. –Possibility to do readback of configuration memory.

Normal text - click to edit Slave SelectMap Waveform showing Slave SelectMap with Controlled Clocks. Data is clocked in at each rising edge of cclk. Note: Prog_b should only be pulled low if clearing configuration memory.

Normal text - click to edit Why use controlled clock Second option is to use a free running clock and toggle chip select when data is ready from the sender. This means danger for skew between clock and chip select signal, which may lead to the wrong data is transported. Controlled clock ensures that no skew or glitches will occur, as the clock is toggled when data is put on the bus.

Normal text - click to edit What is Scrubbing? Scrubbing is when the FPGA has been reconfigured without first deleting existing configuration. This is possible because there is a shadow register column for the configuration register columns. A scrubbing cycle should always be preceded and followed by an abort- command, according to documentation.

Normal text - click to edit Scrubbing When doing a scrubbing cycle, it’s important to stop on the column before the BRAM content. –If deleting the BRAM contant, all values stored in RAM blocks are deleted. –Before this column, an abort is issued. In the beginning of the configuration file, Frame 0 in Column 0 is written to the FAR register setting the starting point of the configuration. If we want to do a partial reconfiguration, a different start address should be written to the FAR

Normal text - click to edit Abort command Part of scrubbing procedure The abort command is issued by toggling RDWR_B while cs_b is asserted. An abort command lasts for at least four clock cycles. A 32-bit abort status word is driven onto the databus during this time. The abort ends when cs_b is deasserted. Configuration abort sequenceReadback abort sequence

Normal text - click to edit Abort status word Typical result according to documentation is: – (no error, sync word received, no readback, no abort) – (no error, sync word received, no readback, abort) – (no error, no sync word, no readback, abort) – (no error, no sync word, no readback, no abort)

Normal text - click to edit Preparing a project in ISE To be able to do readback or scrubbing, the selectMap bus I/O pins must stay in configuration mode after initial configuration. Default setting is to go back to normal user I/Os Binary configuration file should also be created. Startup clock must be set to CCLK (for selectMap).

Normal text - click to edit Files to use for configuring.bit –A binary configuration file with header information. The configuration stream start with 0xFFFFFFFF and a synch word. –If the bit file is used a search algorithm for the start of configuration stream must be added in software/firmware.bin –Same as.bit-file, but without header information.rbb –Used for readback verification. –Readback verification is a process of making a bit per bit comparison of the readback data frames to the bitmap in the.rbb readback file..msk –Used for readback verification. –Masks out irrelevant data, as not all readback data should be used for verification. All files have approximately the same size, 368KB for the Xilinx Virtex-II XC2VP4

Normal text - click to edit More information Ug012.pdf –Virtex-II Pro and Virtex-II Pro FPGA User Guide Ds083.pdf –Virtex-II Pro and Virtex-II Pro X Platform FPGAs: Complete Data Sheet Xapp216.pdf –Correcting Single-Event Upsets Through Virtex Partial Configuration Xapp138.pdf –Virtex FPGA Series Configuration and Readback

Normal text - click to edit Picture of setup

Normal text - click to edit The test design - configuring Changed the DCS messagebuffer-design so that Linux (ARM processor) have complete control of the RCU bus lines (data, address & ctrl) Wrote a device driver in C that configures the design using controlled clock scheme. (Virtexdriver.c) Made a simple design in the Altera CPLD that maps the selectMap bus to the RCU bus. This means we have a ”tunnel” going from linux directly to the SelectMap bus.

Normal text - click to edit Sketch of test design

Normal text - click to edit Configuring This made us able to use the cat-command in linux as: –cat virtexdesign.bin > /dev/virtex The device driver then controls and responds to the control signals on the selectMap bus. Wrote error and info messages to kernel log.

Normal text - click to edit Testdesigns for Virtex-II Two very simple test-designs were made. Led 01 and Led 02 were physically in the same column in the Virtex FPGA.

Normal text - click to edit Configuring with erasing configuration memory Controlled from software One of the two designs sent to the device driver using the cat command. Without optimization the configuration time is approx. 600ms. Time consuming: –Initialising Deivce driver –Writing to Kernel log –Buffering input file

Normal text - click to edit Configuring with erasing configuration memory CCLK CS_B Configuration time approx 625ms Beginning of config cycleComplete configuration

Normal text - click to edit Scrubbing Scrubbing is tested by altering between the two different led designs, and slightly changing the virtex_driver.c code –Cat design01.bin >/dev/virtex –Cat design02.bin >/dev/virtex –Cat design01.bin >/dev/virtex When doing this we could see leds switching in the middle of the configuration-cycle. Because led1 and led2 are in the same physical row in the virtex, they switch at the same time. At led3, which is driven by the same clock in both designs, there was no visible delay in the pulse. Led1 Led2Led3

Normal text - click to edit Scrubbing Led1 Led2Led3 Led1 Led2

Normal text - click to edit Results - Configuration Clearing Configuration Memory and configuring successful Scrubbing successful. –When doing a hard scrub cycle (deleting BRAM content), the abort word is not needed, as we are writing the complete config file. –When not deleting BRAM memory, the DCM cannot be refreshed as this in the same column as the BRAM. Read back status word issued when doing an Abort sequence. –Depending on when the abort was issued, different words are issued. –Fits with documentation.

Normal text - click to edit Results – Flash memory Writing to Flash memory has been tested on DCS board. Used XJTAG to write to the Flash. –XJTAG makes it possible to clock data to the correct pins on the FPGA and then shift it over to the Flash memory as an ordinary bus transaction. We can use the JTAG chain to program the Flash by manually control the IO pins on the CPLD.

Normal text - click to edit Ongoing work Readback and verification of configuration memory. –A prototype is being designed in C, and then implemented in Firmware. Making the firmware for the CPLD on the RCU according to presented specification.