Configuration

31
Configuration

description

Configuration. Process of loading bitstream of a design into the configuration memory. Bitstream is the transmission of characters at the fixed rate of speed. Parallel and Serial configuration modes. Configuration File. - PowerPoint PPT Presentation

Transcript of Configuration

Page 1: Configuration

Configuration

Page 2: Configuration

Mirjana Stojanovic [email protected] 2

Process of loading bitstream of a design into the configuration memory.

Bitstream is the transmission of characters at the fixed rate of speed.

Parallel and Serial configuration modes.

Page 3: Configuration

Mirjana Stojanovic [email protected] 3

Configuration File

Data are generated by the Xilinx development software.

Frames of data are stored in configuration file.

PROM is not required for storing data before loading.

Page 4: Configuration

Mirjana Stojanovic [email protected] 4

Modes

Four configuration modes: # Slave Serial mode # Master Serial mode # Slave Parallel mode # Boundary-scan mode

Modes are selected with configuration mode pins (M2,M1,M0).

Mode pins are default to a logic High if left unconnected.

Page 5: Configuration

Mirjana Stojanovic [email protected] 5

Page 6: Configuration

Mirjana Stojanovic [email protected] 6

Signals

Two kinds of pins that are used in configuration process:

# dedicated - for specific configuration-related functions

# other pins - after configuration serve as general purpose I/Os

Dedicated pins: M2, M1, M0, CCLK, PROGRAM, DONE, TDI, TDO, TMS, TCK.

Page 7: Configuration

Mirjana Stojanovic [email protected] 7

Page 8: Configuration

Mirjana Stojanovic [email protected] 8

The Process

Phases of configuration process:

#1 Initiating the configuration

#2 Configuration memory clear

#3 Loading data frames

#4 Start-up

Page 9: Configuration

Mirjana Stojanovic [email protected] 9

Phase #1: Initiating the Configuration

• Two different ways to initiate the configuration process: applying power to the device

or asserting the PROGRAM input pin.

• Once in user operation, the device can be re-configured by pulling the PROGRAM pin Low.

• The device acknowledges the beginning of the configuration process by driving the DONE Low.

Page 10: Configuration

Mirjana Stojanovic [email protected] 10

Page 11: Configuration

Mirjana Stojanovic [email protected] 11

Phase #2: Clearing Configuration Memory

The device indicates that clearing the configuration memory is in progress by driving INIT Low.

The delay of configuration – holding either PROGRAM or INIT Low.

The device indicates that the memory is completely clear by driving INIT High.

Mode pins are sampled on Low-to-High transition of INIT .

Page 12: Configuration

Mirjana Stojanovic [email protected] 12

Phase #3: Loading Configuration Data

When INIT goes High, loading of the configuration data frames begins.

The sequence of operations in this phase is determined by the selected configuration mode.

The CRC (Cyclic Redundancy Checking) algorithm is used to verify bitstream integrity during configuration.

If error occurs the device pulls INIT low.

Page 13: Configuration

Mirjana Stojanovic [email protected] 13

Phase #4: Start-up

A match of CRC values initiates the Start-up sequence. The device performs four operations:

#1 The assertion of DONE

#2 The release of the Global Three State net (GTS)

#3 The Negation of Global Set Reset (GSR)

#4 The assertion of Global Write Enable (GWE)

Page 14: Configuration

Mirjana Stojanovic [email protected] 14

Start-up sequence lasts eight cycles, CO-C7.

The four operations can be selected to switch on any cycle C1-C6 through settings in the Xilinx development software.

Page 15: Configuration

Mirjana Stojanovic [email protected] 15

GTS,GSR, and GWE events are made conditional upon the DONE pin going high in the configuration options.

Sync-to-done is important for a daisy chain of multiple FPGAs in serial mode.

Page 16: Configuration

Mirjana Stojanovic [email protected] 16

Serial Modes

The FPGA is configured by loading one bit per CCLK cycle.

The MSB of each configuration data byte is always written to the DIN pin first.

Page 17: Configuration

Mirjana Stojanovic [email protected] 17

Page 18: Configuration

Mirjana Stojanovic [email protected] 18

Slave Serial Mode

FPGA in Slave Serial Mode passively receives CCLK as an input from an external agent (e.g. a microprocessor or second FPGA in master mode).

Multiple FPGAs in Slave Serial mode can be daisy-chained for configuration from a single source.

After an FPGA is configured, data for the next device is routed to the DOUT pin.

Configuration must be delayed until INIT pins of all daisy-chained FPGAs are High.

Page 19: Configuration

Mirjana Stojanovic [email protected] 19

Page 20: Configuration

Mirjana Stojanovic [email protected] 20

Master Serial Mode

In Master Serial mode, the CCLK output of the FPGA drives a Xilinx PROM which feeds a serial stream of configuration data to the FPGA’s DIN input.

An oscillator internal to the FPGA is used to generate the configuration clock (CCLK).

While the first 60 bytes of the configuration data are being loaded, the CCLK frequency is always 2.5 MHz.

When the ConfigRate bits are loaded into the FPGA, the frequency changes to the selected ConfigRate.

ConfigRate is 4MHz by default although it can range from 4 to 60MHz.

Page 21: Configuration

Mirjana Stojanovic [email protected] 21

Page 22: Configuration

Mirjana Stojanovic [email protected] 22

Slave Parallel Mode

The fastest configuration option.

Byte-wide data is written into the FPGA.

BUSY flag is provided for controlling the flow of data at a clock frequency above 50MHz.

Controlling agent of the Slave Parallel interface can be processor, microcontroller or CPLD .

Controlling agent provides byte-wide configuration data, CCLK,CS and WRITE.

Page 23: Configuration

Mirjana Stojanovic [email protected] 23

Page 24: Configuration

Mirjana Stojanovic [email protected] 24

The MSB must be routed to the D0 input on the FPGA.

If BUSY is asserted (High) by the FPGA, the data must be held until BUSY goes Low.

Multiple Spartan-II FPGAs can be configured using the Slave Parallel mode, and be made to start-up simultaneously.

Sync-to-DONE start-up timing is used to ensure that the start-up sequence does not begin until the FPGAs have been loaded.

Page 25: Configuration

Mirjana Stojanovic [email protected] 25

Write

Write operations send packets

of byte-wide configuration data

into the FPGA.

User holds WRITE and CS Low

through the sequence of write operations.

Page 26: Configuration

Mirjana Stojanovic [email protected] 26

Page 27: Configuration

Mirjana Stojanovic [email protected] 27

Write: #1 driving data onto D0-D7. The data source should be enabled while CS is low and WRITE is high. #2 on the rising edge of CCLK: if BUSY is low , the data is accepted on this clock. If BUSY is high the acceptance will occur on the first clock after BUSY goes low and data must be held until.

#3 repeat steps 1 and 2 until all the data has been sent.

#4 de-assert CS and WRITE.

If CCLK is slower than FCCNH , the data can simply be entered into the FPGA every CCLK cycle.

Page 28: Configuration

Mirjana Stojanovic [email protected] 28

Abort

To abort a configuration during a write sequence,

de-assert WRITE while holding CS Low.

The abort operation is initiated at the rising edge of CCLK.

The device will remain BUSY until the aborted operation is complete.

Page 29: Configuration

Mirjana Stojanovic [email protected] 29

Boundary-Scan Mode

Configuration being done entirely through the IEEE 1149.1 Test Access Port.

Used to test the interconnections between devices on a printed circuit board.

Architecture includes 4- or 5- wired TAP, the TAP controller , the instruction register, the instruction decoder, the boundary-scan register and bypass register.

Configuration and readback via TAP is always available.

The boundary-scan mode simply locks out the other modes.

Page 30: Configuration

Mirjana Stojanovic [email protected] 30

Steps required to configure the FPGA through the boundary-scan port:

#1 Load the CFG_IN instruction into the boundary-scan instruction register (IR) #2 Enter the Shift-DR (SDR) state #3 Shift a standard configuration bitstream into TDI #4 Return to Run-Test-Idle (RTI) #5 Load the JSTART instruction into IR #6 Enter the SDR state #7 Clock TCK through the sequence (the length is programmable) #8 Return to RTI

Page 31: Configuration

Mirjana Stojanovic [email protected] 31

Readback

Readback is the process of reading out all the data in the internal configuration memory.

Verifying that the current configuration data is correct.

Reading the current state of all internal CLB and IOB registers as well as current LUT RAM and block RAM values.

Available only through the Slave Parallel and boundary-scan interfaces.

Used for hardware debugging and functional verification.