32-Channel Waveform Generator Implemented Using Actel's Axcelerator FPGA
32-Channel Waveform Generator Implemented Using Actel's Axcelerator FPGA
Channel Enable
4 ns
5 ns
6 ns
Input Data
Input Data
Design Description
Figure 2 shows the waveform generator basic block diagram of one channel. The Input Data is registered in a 10-bit Data Input Register and then propagated to a 10-bit Parallel-In-Serial-Out (PISO) Shift Register. The Load Instruction Bits Generator generates the Parallel Load Instruction and sends it to the 10-bit PISO Shift Register every 10 clock cycles. Once the 10-bit PISO Shift Register receives the Load Instruction, it loads the 10-bit Registered Input Data in parallel format and shifts them out in serial format, which becomes the output waveform.
Register Replication
LOAD[4:0]
LOAD[4:0]
DATA_INPUT[9:0]
NEW_VALUE[9:0]
Design Implementation
Since this design has extremely aggressive timing requirements1.0 GHz system clocka schematic representation with embedded ACTgen cores was chosen over a behavioral VHDL approach to achieve a high degree of control. The implementation of different functional blocks is illustrated below. Table 1 shows the resources needed in this design implementation.
Table 1 Design Resources Design Environment Target Device Programmer Libero Integrated Design Environment (IDE) v5.2 and newer versions AX250 FG484 (Utilization: R-cell 1120/1408 C-cell 1280/2816) Silicon Sculptor II
1.
The CC macro is a sequential logic composed of two C-cells. Usually, these two C-cells are adjacent in the physical location of the chip.
CLR
100
10
11
12
13
14
15
16
17
18
REG8 LOAD[4:0]
00 1F 00
1ns 1ns
Shifting 003
001
001
1 7 00 8 9 1F 10 11 00 18
003
19 1F 20 21 00
DATA9 DATA8
Figure 8 10-bit PISO Shift Register Functionality Waveform
DATA1 DATA0
Each channel of the Waveform Generator can run independently after the channel is enabled. Based on a different input data pattern, the output signal can be changed in a 1 ns increment. The RESET signal is deasserted after the PLL is locked. All valid input data begins assertion after RESET deassertion to ensure they are all captured properly. The channel ENABLE signal works as a clock signal for the Data Input Register block, which has a period of 10 system clock cycles. DATA_INPUT_B is reloaded every 10 cycles, following the pattern "000," "001," "003" "3FE," "3FF," while DATA_INPUT_A follows pattern "3FF," "3FE," "3FC," "001," "000." Figure 9 illustrates the functional simulation results. Shifting "3FF" on Ch0~Ch15; Shifting "000" on Ch16~Ch31 Shifting "3F0" on Ch0~Ch15; Shifting "00F" on Ch16~Ch31
Design Features
Some specific Axcelerator design features are used in this design. The 1.0 GHz system clock is generated from the high-performance Axcelerator PLL with low jitter and fast acquisition (lock) time. Output of the PLL, the system clock, is distributed on low-skew global networks. ChipPlanner allows the designer to manually place logic cells for functional blocks, such as the 10-bit PISO Shift Register. This minimized the routing delay to meet the 1.0 GHz system performance requirement. For information on using ChipPlanner, refer to the Designer online help. The 2:1 MUXed registers (DFMB) are used in the 10-bit PISO Shift Register block to implement the shift register, with parallel load capability. Figure 10 on page 8 illustrates the DFMB macro and Table 2 on page 8 presents the truth table. The B input of DFMB is mapped to the DCIN input of a R-cell. Figure 11 on page 8 illustrates the Axcelerator R-cell architecture. The DCIN input is driven by the DCOUT of an adjacent C-cell via the DirectConnect routing resource. For more details, refer to the Axcelerator Family FPGAs datasheet.
A B S CLK CLR
K K
CKP
CLR GCLR
CKS
S1
Figure 11 R-Cell
S0
PSET GPSET
In this design, a BUFD is used and hand-placed at the adjacent C-cell to the DFMB in order to bring the parallel load data into the B input of the DFMB via the DirectConnect. The corresponding view in ChipPlanner is illustrated in Figure 12. This design can be implemented in Axcelerator 3 speed grade commercial devices even under worst-case conditions. To increase the timing margin, the designer can try to use a higher voltage than the minimum requirement of worst-case condition (worst = 1.425V, typical = 1.500V, best = 1.575V). All analysis of this design was done at 1.575V, which is the best-case voltage. However, other factors affecting timing analysis still remain on worst-case, such as temperature and process.
Conclusion
The design used in this application note demonstrated that Axcelerator's high-performance PLL can run in a stable manner at 1.0 GHz and outperform other SRAM-based FPGA products. The nonvolatile feature makes it possible for the Waveform Generator to provide high-resolution waveforms to test equipment right after power-up. The 32 channels can run independently to generate user-defined waveforms. They can also be used together and chosen separately at a different time to create various waveforms for a given target device. The designer can change the PLL configuration to adjust the system clock frequency if the system performance and waveform resolution requirements are different.
Related Documents
Datasheets
Axcelerator Family FPGAs http://www.actel.com/documents/AX_DS.pdf
Users Guides
Antifuse Macro Library Guide http://www.actel.com/documents/libguide_UG.pdf Libero IDE User s Guide http://www.actel.com/documents/libero_UG.pdf Designer User s Guide http://www.actel.com/documents/designer_UG.pdf ChipPlanner in MultiView Navigator User s Guide http://www.actel.com/documents/mvn_ug.pdf ACTgen Cores Reference Guide http://www.actel.com/documents/gen_refguide_UG.pdf
10
Appendix
Figure 13 shows the hierarchy of this design.
Among all these blocks, "inbuf10," "inbuf32," "outbuf32," "clk1gig_pll," and "regcc10" are ACTgen cores; the rest are schematics. The whole design in the Libero IDE project directory with the top-level folder named "wfg32" is located in the wfg32.zip file. Figure 14 illustrates the design directory hierarchy.
11
An .ADB file with compilation and layout done is located inside the \designer folder. The user can open the .ADB file in Designer v5.2 or newer to check out the compile and layout information, do timing analysis in Timer, review manual placement results in ChipPlanner, or generate various reports. The \designer folder also has the _ba.vhd and _ba.sdf files, which are used for post-layout simulation. The \hdl folder contains all .GEN files and corresponding .VHD files for all ACTgen macros in this design. The user can reload these .GEN files into ACTgen Core Generator to check the configurations of these macros. The \stimulus folder includes all the testbenches for different levels of this design. The user can set different level as root in Libero IDE and run simulation for it after associating corresponding testbench. The \viewdraw folder has all schematic files and symbol files for this design.
12
Actel and the Actel logo are registered trademarks of Actel Corporation. All other trademarks are the property of their owners.
http://www.actel.com
Actel Corporation 2061 Stierlin Court Mountain View, CA 94043-4655 USA Phone 650.318.4200 Fax 650.318.4600 Actel Europe Ltd. Dunlop House, Riverside Way Camberley, Surrey GU15 3YL United Kingdom Phone +44 (0) 1276 401 450 Fax +44 (0) 1276 401 490 Actel Japan EXOS Ebisu Bldg. 4F 1-24-14 Ebisu Shibuya-ku Tokyo 150 Japan Phone +81.03.3445.7671 Fax +81.03.3445.7668 Actel Hong Kong 39th Floor, One Pacific Place 88 Queensway, Admiralty Hong Kong Phone +852.227.35712 Fax +852.227.35999
51900076-0/07.04