designing a superclock with an axcelerator device - microsemi

12
September 2004 1 © 2004 Actel Corporation Designing a SuperClock with an Axcelerator Device Introduction Many board designs today require complex clocking schemes involving multiple frequencies and phases. Semiconductor manufacturers have developed a multitude of products to address these situations, from simple low-skew clock buffers to multi-clock frequency synthesizers. In an effort to provide more system- level capabilities, field programmable gate array (FPGA) manufacturers have also introduced clock- conditioning elements in their devices. The Axcelerator family, with its eight segmentable clock buffers, eight 1 gigahertz (GHz) phase-locked loops (PLLs), and extremely fast routing resources, is ideally suited for system-level applications. This application note is intended as a template to help designers create complex, high-performance clock-conditioning circuits quickly and easily. What is SuperClock? SuperClock is a dynamic clocking system that enables users to generate multiple clock frequencies from a single source. An example block diagram of a SuperClock design is shown in Figure 1. The blocks shaded in red are implemented in the SuperClock reference design (Figure 4 on page 6). The areas in yellow are suggested blocks for SuperClock enhancements, and are not implemented in the reference design. Figure 1 SuperClock Example ... ... ... ... PLL CONTROL LOCK CLK2 CLKIN CLK1 PLL ... Data Wave Out Clock Clock Out Address DDS Address Zero Delay/Adjustable Delay Low-Skew Outputs Fixed Delay Low-Skew Outputs ... Clk Out RefClk x1 ClkB Out RefClk x i / j ClkA Out RefClk x i Clock Select LVTTL LVDS Control Select + - Reference Clocks CONTROL LOCK CLK2 CLKIN CLK1 PLL CONTROL LOCK CLK2 CLKIN CLK1 Data Settings Control Address Data Settings Control Serial I/F Settings Settings PCI uProc I/F Dedicated Pins Application Note AC212

Upload: others

Post on 25-Apr-2022

1 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Designing a SuperClock with an Axcelerator Device - Microsemi

Application Note AC212

Designing a SuperClock with an Axcelerator Device

IntroductionMany board designs today require complex clocking schemes involving multiple frequencies and phases.Semiconductor manufacturers have developed a multitude of products to address these situations, fromsimple low-skew clock buffers to multi-clock frequency synthesizers. In an effort to provide more system-level capabilities, field programmable gate array (FPGA) manufacturers have also introduced clock-conditioning elements in their devices. The Axcelerator family, with its eight segmentable clock buffers,eight 1 gigahertz (GHz) phase-locked loops (PLLs), and extremely fast routing resources, is ideally suitedfor system-level applications. This application note is intended as a template to help designers createcomplex, high-performance clock-conditioning circuits quickly and easily.

What is SuperClock?SuperClock is a dynamic clocking system that enables users to generate multiple clock frequencies from asingle source. An example block diagram of a SuperClock design is shown in Figure 1. The blocks shaded inred are implemented in the SuperClock reference design (Figure 4 on page 6). The areas in yellow aresuggested blocks for SuperClock enhancements, and are not implemented in the reference design.

Figure 1 • SuperClock Example

......

......

PLL

CONTROL LOCKCLK2

CLKIN CLK1PLL

...

Data Wave Out

Clock Clock OutAddress

DDS

Address

Zero Delay/Adjustable Delay Low-Skew Outputs

Fixed Delay Low-Skew Outputs

...

Clk OutRefClk x1

ClkB Out RefClk x i / j

ClkA Out RefClk x i

Clock SelectLVTTL

LVDS

Control Select

+-

Reference Clocks

CONTROL LOCKCLK2

CLKIN CLK1PLL

CONTROL LOCKCLK2

CLKIN CLK1

Data Settings

Control

AddressData Settings

Control

Serial I/F Settings

Settings

PCI

uProc I/F

Dedicated Pins

September 2004 1© 2004 Actel Corporation

Page 2: Designing a SuperClock with an Axcelerator Device - Microsemi

Designing a SuperClock with an Axcelerator Device

With Printed Circuit Board (PCB) real estate ever more valuable, single-chip solutions offer many benefits.SuperClock is a single-chip solution implemented in an Axcelerator device. Here are some SuperClockhighlights:

• 20 megahertz (MHz) to 1 GHz output frequency range with unlimited fanout buffers

• Up to sixteen clock frequency domains

– Dynamic control of each frequency domain

– Nearly zero effective skew between two clock domains

– Low output jitter

• Adjustable clock delay, 32 steps of 250 picoseconds (ps)

• Low-skew clock buffers without using any global resources

• Support for a wide range of input/output (I/O) standards for all inputs and outputs

– Low-Voltage Differential Signaling (LVDS), 350 MHz

– Low-Voltage Positive Emitter Coupled Logic (LVPECL)

– Low-Voltage Transistor-Transistor Logic (LVTTL)/Low-Voltage Complementary Metal OxideSemiconductor (LVCMOS)

– Gunning Transceiver Logic plus (GTL+)

– Stub Series Terminated Logic (SSTL) 2/3

– High-Speed Transceiver Logic (HSTL)

– Peripheral Component Interconnect (PCI)

– Peripheral Component Interface eXtended (PCI-X)

– Input/reference clock selector (multiplexed from a wide variety of I/O standards)

• All adjustable parameters are dynamically reconfigurable

• Programmable logic resources for implementing additional functionality

Refer to the "Design Implementation" section on page 3 for a functional block description.

2

Page 3: Designing a SuperClock with an Axcelerator Device - Microsemi

Designing a SuperClock with an Axcelerator Device

Using SuperClockSuperClock can be used in telecommunications, optical transceivers, data and storage area networks, andwireless products where low skew and accurate clocks are essential for performance. Figure 2 is anexample application of SuperClock circuitry.

Cell phones require clock buffering of the system reference voltage-controlled temperature-controlledcrystal oscillator (VCTCXO). The transmitter and baseband application-specific integrated circuits (ASICs)need phase adjustment of the frequency modulation (FM) audio signal. As depicted in Figure 2,SuperClock’s low-skew clock buffers and dynamically reconfigurable PLLs can provide a single-chipsolution for the cell phone system.

As indicated by the dotted lines in Figure 2, the entire system can be implemented in a single Axceleratorchip with a chip-scale package (CS180) to meet the space-saving requirements of cell phone applications.

Design ImplementationThe Axcelerator family features low power, high speed, and faster routing than other Actel families. Italso has on-chip low-jitter, flexible PLLs capable of generating multiple frequency clocking resources. TheSuperClock reference design was implemented on the AX250 device but can be used in any member of theAxcelerator family. The low logic utilization of this design enables the user to implement otherfunctionality in the chip (refer to the "Utilization" section on page 8). The design takes advantage of thefollowing features of the Axcelerator device:

• Support for a variety of I/O standards

• Cascaded PLLs

• Dynamic reconfigurability of PLLs

• Low-skew clock drivers

• Clock spines

Figure 2 • SuperClock in a Cell Phone Application

PLL

Clock Buffer

SuperClock

GSM/CDMA Base Band ASIC

(DSP)

VCTCXO

ClockBuffer

Antenna

PLL

Receiver Transmitter

AudioCodec and

ASIC

3

Page 4: Designing a SuperClock with an Axcelerator Device - Microsemi

Designing a SuperClock with an Axcelerator Device

Functional Block DescriptionThis section describes the blocks shown in Figure 1 on page 1.

Clock SelectImplemented by a 2:1 multiplexer (MUX), clock select provides the option to dynamically switch betweentwo different reference clocks. The reference design selects either an LVTTL or an LVDS clock input.Axcelerator devices support multiple I/O standards, so the clock sources can be any of these standards.

Control SelectAlthough it is likely that only a single control source would be used, any number of interfaces can besupported in cases where users want a single chip that handles different applications. The microprocessorinterface is a simple general-purpose synchronous eight-bit data bus used to load settings into controlregisters. Dedicated pins on the FPGA are also provided with internal pull-ups to allow users to setparameters by using jumpers. The microprocessor interface (µProc I/F) can override these settings as well asload the direct digital synthesis (DDS) table.

Other control sources can be I2C, Joint Test Action Group (JTAG), PCI, etc. Each of these sources may alsohave their own interfaces. For simplicity, none of the control source interfaces in this section areimplemented in the SuperClock reference design shown in Figure 4 on page 6.

DDSThe DDS is an accumulator-based frequency synthesis look-up table (LUT) capable of creating any cyclicalwaveform with very fine frequency resolution. It uses random access memory (RAM) blocks to create theLUT. Additional RAM blocks can be used to increase the word width and/or frequency resolution. A singlePLL is used for phase adjustment and frequency synthesis for the wave table clock; a second PLL might addeven more accuracy to the final clock frequency. Advanced Encryption Standard (AES) decryption can alsobe used to update the DDS table or other parameters securely for security sensitive applications such asfrequency-hopping radio. For simplicity, this block was not implemented in the SuperClock referencedesign (Figure 4 on page 6).

PLLsThe PLLs are used to provide phase compensation and frequency synthesis. The design uses the first PLL inthe cascade to provide a 1x clock output, but could be easily modified to provide a second output at adifferent frequency or with extra phase compensation. Axcelerator devices contain eight PLLs, each withtwo clock outputs capable of generating sixteen independent clocks with different frequencies. There aretwo ways of configuring the PLL input and output frequencies. The Actel ACTgen core generator can beused to generate PLL macros, which are then instantiated in the design. The ACTgen graphical userinterface (GUI) provides all possible configurations. The other way of configuring the PLL is to instantiatePLL primitives in the design and dynamically control the configuration bits through an I/O interface (referto Figure 3 on page 5). This allows dynamic control of both the output frequency and feedback delays.

4

Page 5: Designing a SuperClock with an Axcelerator Device - Microsemi

Designing a SuperClock with an Axcelerator Device

Table 1 illustrates the allowable values for PLL configuration.

Figure 3 • PLL Primitive

Table 1 • Configuration Bits

Signal Range Description Value Parameter Range (MHz)

LowFreq Input frequency range selector 0 50-200

1 14-50

Osc[2:0] Output frequency range selector1 xx0 400-1000

001 200-400

011 100-200

101 50-100

111 20-50

DIVI[5:0]2 Feedback divider (multiplier) 1 to 643 000000 to 111111

DIVJ[5:0]2 CLK1 divider 1 to 643 000000 to 111111

DelayLine[4:0] Nominal clock delay (positive/negative) in 250 ps increments. MSB is sign bit (0 is positive, 1 is negative)

-3.75 to +3.75 ns

Positive delays = 00000 to 01111; Negative delays =

10000 to 11111

Example:

10011 is –750 ps nominal delay

Notes:

1. Select ranges based on the higher frequency of CLK1 and CLK2.

2. fCLK1 = fREFCLK * (DIVI)/(DIVJ); fCLK2 = fREFCLK * (DIVI).

3. Integer value; note that 000000 corresponds to a divider of 1 and 111111 is a divider of 64.

PWRDWNREFCLK

PWRDWNREFCLK

CONFIGURATION BITS

CONF_BITS [20:0]

LOWFREQ

LOCK

CLK1

CLK2

PLL

DIV15DIV14DIV13

OSC2OSC1OSC0

DIV12DIV10

DELAYLINE4DELAYLINE3DELAYLINE2DELAYLINE1DELAYLINE0

DIVJ5DIVJ4DIVJ3DIVJ2DIVJ1DIVJ0

5

Page 6: Designing a SuperClock with an Axcelerator Device - Microsemi

Designing a SuperClock with an Axcelerator Device

The following is an example illustrating how Table 1 can be used to select the configuration bits:

Assume the input frequency is set as fREFCLK = 20 MHz. The two output frequencies are fCLK1 = 60 MHz andfCLK2 = 120 MHz. Both clocks have a negative delay of 2.5 ns

This results in the following settings:

DIVI = fCLK2 / fREFCLK = 120/20 = 6 (setting is 000101)

DIVJ = (fREFCLK / fCLK1)* DIVI = 2 (setting is 000001)

DelayLine = -2.5 ns (setting is 11010)

Osc = Based on value of fCLK2 (setting is 011)

As shown in Figure 4, CLK1 of the primary PLL drives the REFCLK signal of the secondary PLL and CLK2 isbrought out to external pins through a PLLRCLK buffer. The output of the PLL must be connected to thePLLHCLK, PLLRCLK, or PLLOUT. PLLRCLK can feed high-fanout nets. The output of PLLRCLK can be outputto any number of pins and used as a clock source for multiple sockets. Similarly, both output clocks of thesecondary PLL are used as two clock groups, each driving four pins.

In this reference design (Figure 4), the configuration bits are controlled directly from the I/Os. Table 2 onpage 7 illustrates the mapping between the 21-bit control bus and the configuration bits of the primaryand secondary PLLs.

Figure 4 • SuperClock Reference Design

LVDS INPUT

LVTTL1

0

RefSel

REFCLK

CONTROL

CLK1

CLK2Lock

LockCLK2

CLK1REFCLK

CONTROL

PLL_Clk[4:1]

PLL_ClkA[4:1]

PLL_ClkB[4:1]

Lock

Clk_in

Low Skew Clock driver

Shift_clk

Shift_inShift_out

Shift Register[3:0]

Primary PLL

Secondary PLL

Input/REFCLK Selector

Control Signal[20:0]

PLLRCLK

Clk_out1

Clk_out2

Clk_out3

Clk_out4

PLLRCLK

PLLRCLK

6

Page 7: Designing a SuperClock with an Axcelerator Device - Microsemi

Designing a SuperClock with an Axcelerator Device

Low-Skew Fixed Delay BuffersAny number of buffers can be added for simple clock buffering requirements. The extremely fast routingof the Axcelerator family means that the outputs can have very low skew without using any global bufferresources.

Implementation DetailsThe Actel Libero® Integrated Design Environment (IDE) tool was used to design the SuperClock. Thedesign was implemented in Verilog code. Two cascaded PLLs were instantiated at the top level. Regularoutput buffers were used for input-to-output clock buffering.

The Axcelerator architecture gives the user the flexibility of partitioning the clock resources on the die.The user can constrain the routing to a particular portion of the die to achieve better control andsubsequently enhanced performance. There are two levels of clock segmentation, which can be usedseparately or in combination for any clock. The first is the Tile level where the user constrains the clock touse the Tile local clock routing (either HCLK or RCLK). The second level of control allows use of specificcolumn(s) (HCLK) or row(s) (RCLK) within Tiles. Figure 5 shows some examples of clock segmentation.

Table 2 • SuperClock Configuration Bit Mapping

Signals Primary PLL Secondary PLL

LowFreq Control[0] Control[0]

Osc[2:0] Control[3:1] Control[3:1]

DIVI[5:0] Tied to GND Control[9:4]

DIVJ[5:0] Tied to GND Control[15:10]

DelayLine[4:0] Tied to GND Control[20:16]

Figure 5 • Clock Segmentation by Rows and Columns

A CB

2

3

1

1

N-1...

32

N

.

.

.

1 N-1N32Tile Columns

Tile Rows

Example 1

Example 2

Example 3

Example 4

7

Page 8: Designing a SuperClock with an Axcelerator Device - Microsemi

Designing a SuperClock with an Axcelerator Device

Example 1 – Full Tile AssignmentHere the entire tile 3A is assigned to a local clock associated with net a1, using an RCLK resource.

assign_local_clock –type rclk –net a1 tile3A

Example 2 – Single Column Assignment within a TileThis command assigns a single column in tile 2C to a local clock associated with net a2. The routingresource is an HCLK. The column is the next-to-last in an AX100 device – the 11th of 12.

assign_local_clock –type hclk –net a2 tile2C.col11

Example 3 – Multiple Column Assignment within a TileColumns 1 through 5 of tile 2A are associated with a local clock on net a3.

assign_local_clock –type hclk –net a3 tile2A.col1 tile2A.col2 tile2A.col3 tile2A.col4 tile2A.col5

Example 4 – Assigning a Full Tile Plus a Partial TileThis example mixes the local_clock_region assignment types. A complete tile, 1A, is assigned to a localHCLK associated with net a4. In addition, a single column of neighboring tile 1B is associated with thesame local clock.

assign_local_clock –type hclk –net a4 tile1A tile1B.col1

At the top level, four-bit shift register logic was created to show the usage of this clock segmentation.AX250 devices have four core tiles. Tile 1b (full tile assignment) was used to create a spine region for theshift register; its clock is assigned as a local clock in the region.

SynthesisSpecific names were given to each instantiated BUFD buffer. The ALSPRESERVE property ensures synthesiswill not change the instance names and Designer will not optimize away the logic. This way, the manuallocations can be preserved even if the design is re-synthesized.

A SuperClock.sdc constraint file was used so that Synplify® would not insert any HCLK for shift registerinputs. This logic was only implemented to demonstrate the spine usage.

UtilizationThe SuperClock design was targeted to an AX250-PQ208 device.

The SuperClock.pdc and SuperClock_spine.pdc constraint files were imported along with the netlist toperform compile and layout. The first physical design constraint (PDC) file assigns VREF to an I/O bank andI/O pins for different clock output groups, while the later PDC file creates a spine region for the shiftregister logic. This can also be done manually in the Designer MultiView Navigator (MVN). ChipPlanner inMVN allows the user to select the VREF for I/O banks and graphically create spine regions for any logicmacros. The I/O attribute editor in MVN can be used for pin assignments. Please refer to the appropriateUser’s Guides on the Actel website for details.

The device utilization is shown in Table 3.

Table 3 • SuperClock Resource Utilization in an AX250

Resources Used Available

Logic cells (R + C-cells) 20 4224

I/O with Clocks 47 115

CLK (Routed) 3 4

HCLK (Hardwired) 0 4

PLL 2 4

8

Page 9: Designing a SuperClock with an Axcelerator Device - Microsemi

Designing a SuperClock with an Axcelerator Device

Design VerificationThe testbench for the SuperClock design was created in SynaptiCAD WaveFormer LiteTM Actel Edition (AE)and the design was simulated in Mentor Graphics ModelSim® AE.

The control bus was configured to generate output frequencies of the primary and secondary PLLs asshown in Table 4. The REFCLK frequency of the primary PLL was set to 200 MHz.

Two configurations were used in Table 4. This shows the dynamic behavior of the PLL. For simplicity, theoutput frequency of the primary PLL was kept the same; only the output frequency of the secondary PLLwas changed.

Figure 6 is a snapshot of the ModelSim AE wave window. This shows the output frequencies of thesecondary PLL are changing dynamically (at 230 ns) when the control signal sets a new configuration.

Table 4 • Frequency Combination Chart

Control Signal [20:0] Primary PLL Secondary PLL

CLK1 (MHz)

CLK2 (MHz)

Delay (ns)

CLK1 (MHz)

CLK2 (MHz)

Delay (ns)

Configuration 1

21'b010000000010000110000

200 400 0 400 800 2

Configuration 2

21'b011000000010001000000

200 400 0 500 1000 3

Figure 6 • Simulation Waveform Window

9

Page 10: Designing a SuperClock with an Axcelerator Device - Microsemi

Designing a SuperClock with an Axcelerator Device

ConclusionDesigning the clock conditioning circuitry using an Axcelerator FPGA clearly has several advantages.Axcelerator provides flexible clock conditioning while allowing extremely high performance. TheSuperClock reference design provides an excellent starting point for users to create complex and high-performance clock conditioning circuitry.

References

DatasheetsAxcelerator Family FPGAs

www.actel.com/documents/AX_DS.pdf

Application notesAxcelerator Family PLL and Clock Management

www.actel.com/documents/AX_PLL_AN.pdf

User’s GuidesAntifuse Macro Library Guide

www.actel.com/documents/libguide_UG.pdf

Libero IDE User’s Guide

www.actel.com/documents/libero_UG.pdf

Designer User’s Guide

www.actel.com/documents/designer_UG.pdf

MultiView Navigator v6.0 User’s Guide Includes: NetlistViewer, PinEditor, I/O Attribute Editor, ChipPlanner

www.actel.com/documents/mvn_ug.pdf

ACTgen Cores Reference Guide

www.actel.com/documents/gen_refguide_UG.pdf

10

Page 11: Designing a SuperClock with an Axcelerator Device - Microsemi

Designing a SuperClock with an Axcelerator Device

AppendixFigure 7 shows the Libero IDE project directory structure.

Libero IDE v6.0 was used to create the project. You need version 6.0 or newer to open the project.Download the SuperClock Design Files to a hard disk. The directory structure will look like Figure 7 whenthe file is unzipped.

You can also use the standalone version of Designer (version 6.0 or newer) to open the Actel database(ADB) file.

Figure 7 • Libero IDE Project Directory Structure

11

Page 12: Designing a SuperClock with an Axcelerator Device - Microsemi

51900079-0/09.04

http://www.actel.com

Actel and the Actel logo are registered trademarks of Actel Corporation.All other trademarks are the property of their owners.

Actel Corporation

2061 Stierlin CourtMountain View, CA94043-4655 USAPhone 650.318.4200Fax 650.318.4600

Actel Europe Ltd.

Dunlop House, Riverside WayCamberley, Surrey GU15 3YLUnited KingdomPhone +44 (0) 1276 401 450Fax +44 (0) 1276 401 490

Actel Japan

EXOS Ebisu Bldg. 4F1-24-14 Ebisu Shibuya-kuTokyo 150 JapanPhone +81.03.3445.7671Fax +81.03.3445.7668

Actel Hong Kong

39th Floor, One Pacific Place88 Queensway, AdmiraltyHong Kong Phone +852.227.35712Fax +852.227.35999