在好例子网,分享、交流、成长!
您当前所在位置:首页C/C++ 开发实例常规C/C++编程 → virtex手册

virtex手册

常规C/C++编程

下载此实例
  • 开发语言:C/C++
  • 实例大小:5.29M
  • 下载次数:6
  • 浏览次数:33
  • 发布时间:2022-07-12
  • 实例类别:常规C/C++编程
  • 发 布 人:djs2022
  • 文件格式:.pdf
  • 所需积分:0
 相关标签: EX RT vi 手册

实例介绍

【实例简介】virtex手册

【实例截图】

【核心代码】

Table of Contents8
www.xilinx.com
Virtex-4 FPGA User Guide
UG070 (v2.6) December 1, 2008
R
Declaring Constraints in UCF File . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
BUFGMUX and BUFGMUX_1 VHDL and Verilog Templates . . . . . . . . . . . . . . . . . . . 49
VHDL Template . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
Verilog Template . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
Declaring Constraints in UCF File . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
BUFGMUX_VIRTEX4 VHDL and Verilog Templates . . . . . . . . . . . . . . . . . . . . . . . . . . 50
VHDL Template . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
Verilog Template . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
Declaring Constraints in UCF File . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
BUFIO VHDL and Verilog Templates . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52
VHDL Template . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52
Verilog Template . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52
Declaring Constraints in UCF File . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52
BUFR VHDL and Verilog Templates . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
VHDL Template . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
Verilog Template . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
Declaring Constraints in UCF File . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54
Chapter 2: Digital Clock Managers (DCMs)
DCM Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
DCM Primitives. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57
DCM_BASE Primitive . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58
DCM_PS Primitive . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58
DCM_ADV Primitive . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58
DCM Ports . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59
Clock Input Ports . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59
Source Clock Input — CLKIN. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59
Feedback Clock Input — CLKFB . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59
Phase-Shift Clock Input — PSCLK . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60
Dynamic Reconfiguration Clock Input — DCLK . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60
Control and Data Input Ports . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61
Reset Input — RST . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61
Phase-Shift Increment/Decrement Input — PSINCDEC . . . . . . . . . . . . . . . . . . . . . . . . 61
Phase-Shift Enable Input — PSEN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61
Dynamic Reconfiguration Data Input — DI[15:0]. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61
Dynamic Reconfiguration Address Input — DADDR[6:0] . . . . . . . . . . . . . . . . . . . . . . . 61
Dynamic Reconfiguration Write Enable Input — DWE . . . . . . . . . . . . . . . . . . . . . . . . . 62
Dynamic Reconfiguration Enable Input — DEN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62
Clock Output Ports . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62
1x Output Clock — CLK0 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62
1x Output Clock, 90° Phase Shift — CLK90 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62
1x Output Clock, 180° Phase Shift — CLK180 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62
1x Output Clock, 270° Phase Shift — CLK270 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62
2x Output Clock — CLK2X. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62
2x Output Clock, 180° Phase Shift — CLK2X180 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63
Frequency Divide Output Clock — CLKDV. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63
Frequency-Synthesis Output Clock — CLKFX . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63
Frequency-Synthesis Output Clock, 180° — CLKFX180 . . . . . . . . . . . . . . . . . . . . . . . . . 63
Status and Data Output Ports . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63
Locked Output — LOCKED . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63
Phase-Shift Done Output — PSDONE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63
Status or Dynamic Reconfiguration Data Output — DO[15:0] . . . . . . . . . . . . . . . . . . . . 64Virtex-4 FPGA User Guide
www.xilinx.com
9
UG070 (v2.6) December 1, 2008
R
Dynamic Reconfiguration Ready Output — DRDY . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64
DCM Attributes. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65
CLK_FEEDBACK Attribute . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66
CLKDV_DIVIDE Attribute . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67
CLKFX_MULTIPLY and CLKFX_DIVIDE Attributes . . . . . . . . . . . . . . . . . . . . . . . . . . 67
CLKIN_DIVIDE_BY_2 Attribute . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67
CLKIN_PERIOD Attribute . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67
CLKOUT_PHASE_SHIFT Attribute . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68
DCM_AUTOCALIBRATION Attribute . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68
DCM_PERFORMANCE_MODE Attribute . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68
DESKEW_ADJUST Attribute . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69
DFS_FREQUENCY_MODE Attribute . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69
DLL_FREQUENCY_MODE Attribute . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69
DUTY_CYCLE_CORRECTION Attribute . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69
FACTORY_JF Attribute. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69
PHASE_SHIFT Attribute . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69
STARTUP_WAIT Attribute . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70
DCM Design Guidelines . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70
Clock Deskew . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70
Clock Deskew Operation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70
Input Clock Requirements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71
Input Clock Changes. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71
Output Clocks. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72
DCM During Configuration and Startup . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72
Deskew Adjust . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73
Characteristics of the Deskew Circuit. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74
Cascading DCMs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74
Frequency Synthesis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75
Frequency Synthesis Operation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75
Frequency Synthesizer Characteristics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76
Phase Shifting . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76
Phase-Shifting Operation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76
Interaction of PSEN, PSINCDEC, PSCLK, and PSDONE . . . . . . . . . . . . . . . . . . . . . . . . 79
Phase-Shift Overflow . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80
Phase-Shift Characteristics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80
Dynamic Reconfiguration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81
Connecting DCMs to Other Clock Resources in Virtex-4 Devices. . . . . . . . . . . . . 82
IBUFG to DCM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82
DCM to BUFGCTRL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82
BUFGCTRL to DCM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82
DCM to and from PMCD . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82
Application Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82
Standard Usage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82
Board-Level Clock Generation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83
Board Deskew with Internal Deskew . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85
Clock Switching Between Two DCMs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88
VHDL and Verilog Templates, and the Clocking Wizard. . . . . . . . . . . . . . . . . . . . . 89
DCM Timing Models . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94
Reset/Lock . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94
Fixed-Phase Shifting . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95
Variable-Phase Shifting . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95
Status Flags . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9610
www.xilinx.com
Virtex-4 FPGA User Guide
UG070 (v2.6) December 1, 2008
R
Legacy Support . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97
Chapter 3: Phase-Matched Clock Dividers (PMCDs)
PMCD Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99
PMCD Primitives, Ports, and Attributes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101
PMCD Usage and Design Guidelines. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102
Phase-Matched Divided Clocks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102
Matched Clock Phase . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102
Reset (RST) and Release (REL) Control Signals. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103
Connecting PMCD to other Clock Resources . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105
IBUFG to PMCD . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105
DCM to PMCD . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105
BUFGCTRL to PMCD . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105
PMCD to BUFGCTRL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106
PMCD to PMCD . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106
Application Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106
DCM and a Single PMCD . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106
DCM and Parallel PMCDs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106
IBUFG, BUFG, and PMCD . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107
PMCD for Further Division of Clock Frequencies . . . . . . . . . . . . . . . . . . . . . . . . . . . . 108
VHDL and Verilog Templates, and the Clocking Wizard. . . . . . . . . . . . . . . . . . . . 109
VHDL Template . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111
Verilog Template . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112
Chapter 4: Block RAM
Block RAM Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115
Block RAM Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 116
Synchronous Dual-Port and Single-Port RAMs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 116
Data Flow . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 116
Read Operation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 118
Write Operation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 118
Operating Modes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 118
WRITE_FIRST or Transparent Mode (Default). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 118
READ_FIRST or READ-BEFORE-WRITE Mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 119
NO_CHANGE Mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 119
Conflict Avoidance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 119
Asynchronous Clocking . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 119
Synchronous Clocking . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 120
Additional Block RAM Features in Virtex-4 Devices . . . . . . . . . . . . . . . . . . . . . . . . 120
Optional Output Registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 120
Independent Read and Write Port Width Selection . . . . . . . . . . . . . . . . . . . . . . . . . . . 121
Cascadable Block RAM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121
FIFO Support . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 122
Byte-Wide Write Enable . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 123
Block RAM Library Primitives . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 124
Block RAM Port Signals. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 124
Clock - CLK[A|B] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 124
Enable - EN[A|B] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 124
Write Enable - WE[A|B] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 125
Register Enable - REGCE[A|B] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 125Virtex-4 FPGA User Guide
www.xilinx.com
11
UG070 (v2.6) December 1, 2008
R
Set/Reset - SSR[A|B] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 125
Address Bus - ADDR[A|B]<14:#> . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 125
Data-In Buses - DI[A|B]<#:0> & DIP[A|B]<#:0> . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 125
Data-Out Buses - DO[A|B]<#:0> and DOP[A|B]<#:0> . . . . . . . . . . . . . . . . . . . . . . . . 126
Cascade - CASCADEIN[A|B] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 126
Cascade - CASCADEOUT[A|B] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 126
Inverting Control Pins . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 126
GSR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 126
Unused Inputs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 126
Block RAM Address Mapping. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 127
Block RAM Attributes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 127
Content Initialization - INIT_xx . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 127
Content Initialization - INITP_xx . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 128
Output Latches Initialization - INIT (INIT_A & INIT_B) . . . . . . . . . . . . . . . . . . . . . . 128
Output Latches Synchronous Set/Reset - SRVAL (SRVAL_A & SRVAL_B) . . . . . . 128
Optional Output Register On/Off Switch - DO[A|B]_REG . . . . . . . . . . . . . . . . . . . . 129
Clock Inversion at Output Register Switch - INVERT_CLK_DO[A|B]_REG . . . . . 129
Extended Mode Address Determinant - RAM_EXTENSION_[A|B] . . . . . . . . . . . . 129
Read Width - READ_WIDTH_[A|B] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 129
Write Width - WRITE_WIDTH_[A|B] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 129
Write Mode - WRITE_MODE_[A|B] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 129
Block RAM Location Constraints . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 129
Block RAM Initialization in VHDL or Verilog Code . . . . . . . . . . . . . . . . . . . . . . . . 130
Block RAM VHDL and Verilog Templates. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 130
RAMB16 VHDL Template . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 130
RAMB16 Verilog Template . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 134
Additional RAMB16 Primitive Design Considerations . . . . . . . . . . . . . . . . . . . . . . 139
Data Parity Buses - DIP[A/B] and DOP[A/B] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 139
Optional Output Registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 139
Independent Read and Write Port Width . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 139
RAMB16 Port Mapping Design Rules . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 139
Cascadable Block RAM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 140
Byte-Write Enable . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 140
Additional Block RAM Primitives . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 141
Instantiation of Additional Block RAM Primitives . . . . . . . . . . . . . . . . . . . . . . . . . . . . 143
Block RAM Applications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 143
Creating Larger RAM Structures . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 143
Block RAM Timing Model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 143
Block RAM Timing Parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 144
Block RAM Timing Characteristics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 145
Clock Event 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 145
Clock Event 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 145
Clock Event 4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 146
Clock Event 5 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 146
Block RAM Timing Model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 146
Built-in FIFO Support. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 147
EMPTY Latency . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 148
Top-Level View of FIFO Architecture. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 149
FIFO Primitive . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 149
FIFO Port Descriptions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15012
www.xilinx.com
Virtex-4 FPGA User Guide
UG070 (v2.6) December 1, 2008
R
FIFO Operations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 151
Reset . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 151
Operating Mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 151
Standard Mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 151
First Word Fall Through (FWFT) Mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 151
Status Flags . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 151
Empty Flag . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 151
ALMOSTEMPTY Flag. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 152
Read Error Flag. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 152
Full Flag . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 152
Write Error Flag . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 152
ALMOSTFULL Flag . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 152
FIFO Attributes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 153
FIFO ALMOSTEMPTY / ALMOSTFULL Flag Offset Range . . . . . . . . . . . . . . . . . . . 153
FIFO VHDL and Verilog Templates . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 154
FIFO VHDL Template . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 154
FIFO Verilog Template . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 155
FIFO Timing Models and Parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 156
FIFO Timing Characteristics. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 157
Case 1: Writing to an Empty FIFO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 158
Case 2: Writing to a Full or Almost Full FIFO. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 159
Case 3: Reading From a Full FIFO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 160
Case 4: Reading From an Empty or Almost Empty FIFO . . . . . . . . . . . . . . . . . . . . . . . 162
Case 5: Resetting All Flags . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 163
FIFO Applications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 164
Cascading FIFOs to Increase Depth . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 164
Cascading FIFOs to Increase Width . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 164
FIFO16 Error Condition and Work-Arounds . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 165
FIFO16 Error Condition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 165
Solution 1: Synchronous/Asynchronous Clock Work-Arounds . . . . . . . . . . . . . . . . 165
Synchronous Clock Work-Around . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 165
Asynchronous Clock Work-Around . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 166
WRCLK Faster than RDCLK Design. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 166
RDCLK Faster than WRCLK Design. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 167
User-Programmable Flag Settings in the Composite FIFO . . . . . . . . . . . . . . . . . . . . . . 167
Status Flags . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 168
Resource Utilization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 168
Performance Expressed in Maximum Read and/or Write Clock Frequency . . . . . . . . 168
CORE Generator Tool Implementation. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 168
Software Updates . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 169
Software IP Cores . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 169
Solution 2: Work-Around Using a Third Fast Clock . . . . . . . . . . . . . . . . . . . . . . . . . . 170
Design Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 170
Notes: . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 172
Timing Diagram . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 172
Resource Utilization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 173
Performance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 173
Design Files. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 173
Solution 3: FIFO Flag Generator Using Gray Code. . . . . . . . . . . . . . . . . . . . . . . . . . . . 174
Design Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 174
Notes: . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 176
Resource Utilization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 176Virtex-4 FPGA User Guide
www.xilinx.com
13
UG070 (v2.6) December 1, 2008
R
Performance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 176
Design Files. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 177
Solution Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 177
Built-in Block RAM Error Correction Code . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 178
Top-Level View of the Block RAM ECC Architecture . . . . . . . . . . . . . . . . . . . . . . . . . 178
Block RAM ECC Primitive . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 179
Block RAM ECC Port Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 179
Error Status Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 180
Block RAM ECC Attribute . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 180
Block RAM ECC VHDL and Verilog Templates . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 180
Block RAM ECC VHDL Template . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 180
Block RAM ECC Verilog Template . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 181
Chapter 5: Configurable Logic Blocks (CLBs)
CLB Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 183
Slice Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 184
CLB/Slice Configurations. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 184
Look-Up Table (LUT) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 187
Storage Elements. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 187
Distributed RAM and Memory (Available in SLICEM only) . . . . . . . . . . . . . . . . . . . . 188
Read Only Memory (ROM). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 191
Shift Registers (Available in SLICEM only) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 192
Shift Register Data Flow . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 195
Multiplexers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 196
Designing Large Multiplexers. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 198
Fast Lookahead Carry Logic . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 202
Arithmetic Logic . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 204
CLB / Slice Timing Models . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 204
General Slice Timing Model and Parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 205
Timing Parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 205
Timing Characteristics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 207
Slice Distributed RAM Timing Model and Parameters
(Available in SLICEM only) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 208
Distributed RAM Timing Parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 209
Distributed RAM Timing Characteristics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 209
Slice SRL Timing Model and Parameters (Available in SLICEM only) . . . . . . . . . . . 211
Slice SRL Timing Parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 212
Slice SRL Timing Characteristics. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 212
Slice Carry-Chain Timing Model and Parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . 213
Slice Carry-Chain Timing Parameters. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 215
Slice Carry-Chain Timing Characteristics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 215
CLB Primitives and Verilog/VHDL Examples. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 216
Distributed RAM Primitives . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 216
VHDL and Verilog Instantiations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 217
Port Signals . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 217
Clock - WCLK. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 217
Enable - WE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 217
Address - A0, A1, A2, A3 (A4, A5) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 217
Data In - D. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 217
Data Out - O, SPO, and DPO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 217
Inverting Control Pins . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 217
Global Set/Reset - GSR. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21714
www.xilinx.com
Virtex-4 FPGA User Guide
UG070 (v2.6) December 1, 2008
R
Attributes. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 218
Content Initialization - INIT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 218
Initialization in VHDL or Verilog Codes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 218
Location Constraints . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 218
Creating Larger RAM Structures . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 219
VHDL and Verilog Templates . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 219
Shift Registers (SRLs) Primitives and Verilog/VHDL Example . . . . . . . . . . . . . . 221
SRL Primitives and Submodules . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 221
Initialization in VHDL or Verilog Code . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 223
Port Signals . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 223
Clock - CLK. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 223
Data In - D. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 223
Clock Enable - CE (optional). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 223
Address - A0, A1, A2, A3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 223
Data Out - Q . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 223
Data Out - Q15 (optional) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 223
Inverting Control Pins . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 223
Global Set/Reset - GSR. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 223
Attributes. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 224
Content Initialization - INIT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 224
Location Constraints . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 224
Fully Synchronous Shift Registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 225
Static-Length Shift Registers. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 225
VHDL and Verilog Instantiation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 226
VHDL and Verilog Templates . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 226
Multiplexer Primitives and Verilog/VHDL Examples . . . . . . . . . . . . . . . . . . . . . . . 227
Multiplexer Primitives and Submodules . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 228
Port Signals . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 228
Data In - DATA_I . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 228
Control In - SELECT_I . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 228
Data Out - DATA_O . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 229
Multiplexer Verilog/VHDL Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 229
VHDL and Verilog Instantiation. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 229
VHDL and Verilog Submodules . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 229
Chapter 6: SelectIO Resources
I/O Tile Overview. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 233
SelectIO Resources Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 234
SelectIO Technology Resources General Guidelines . . . . . . . . . . . . . . . . . . . . . . . . 234
Virtex-4 FPGA I/O Bank Rules . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 235
3.3V I/O Support . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 235
Reference Voltage (VREF) Pins . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 235
Output Drive Source Voltage (VCCO) Pins . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 235
Virtex-4 FPGA Digitally Controlled Impedance (DCI) . . . . . . . . . . . . . . . . . . . . . . . . 236
Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 236
Xilinx DCI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 236
Controlled Impedance Driver (Source Termination) . . . . . . . . . . . . . . . . . . . . . . . . . . 237
Controlled Impedance Driver with Half Impedance (Source Termination) . . . . . . . . . 237
Input Termination to VCCO (Single Termination) . . . . . . . . . . . . . . . . . . . . . . . . . . . . 238
Input Termination to VCCO/2 (Split Termination) . . . . . . . . . . . . . . . . . . . . . . . . . . . 239
Driver with Termination to VCCO (Single Termination) . . . . . . . . . . . . . . . . . . . . . . . . 240
Driver with Termination to VCCO/2 (Split Termination) . . . . . . . . . . . . . . . . . . . . . . . 241Virtex-4 FPGA User Guide
www.xilinx.com
15
UG070 (v2.6) December 1, 2008
R
DCI in Virtex-4 FPGA Hardware. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 241
DCI Usage Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 243
Virtex-4 FPGA SelectIO Primitives . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 246
IBUF and IBUFG . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 247
OBUF . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 247
OBUFT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 247
IOBUF . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 248
IBUFDS and IBUFGDS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 248
OBUFDS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 248
OBUFTDS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 249
IOBUFDS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 249
Virtex-4 FPGA SelectIO Attributes/Constraints . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 249
Location Constraints . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 249
IOStandard Attribute . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 250
Output Slew Rate Attributes. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 250
Output Drive Strength Attributes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 250
Lower Capacitance I/O Attributes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 250
PULLUP/PULLDOWN/KEEPER for IBUF, OBUFT, and IOBUF . . . . . . . . . . . . . . . . 251
Differential Termination Attribute . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 251
Virtex-4 FPGA I/O Resource VHDL/Verilog Examples . . . . . . . . . . . . . . . . . . . . . . . 251
VHDL Template . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 251
Verilog Template . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 252
Specific Guidelines for Virtex-4 FPGA I/O Supported Standards . . . . . . . . . . . . 253
LVTTL (Low Voltage Transistor-Transistor Logic) . . . . . . . . . . . . . . . . . . . . . . . . . . . 253
LVCMOS (Low Voltage Complementary Metal Oxide Semiconductor). . . . . . . . . . 255
LVDCI (Low Voltage Digitally Controlled Impedance) . . . . . . . . . . . . . . . . . . . . . . . . 257
LVDCI_DV2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 258
HSLVDCI (High-Speed Low Voltage Digitally Controlled Impedance). . . . . . . . . . . . 259
PCIX, PCI33, PCI66 (Peripheral Component Interface) . . . . . . . . . . . . . . . . . . . . . . . . 260
GTL (Gunning Transceiver Logic). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 261
GTL_DCI Usage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 261
GTLP (Gunning Transceiver Logic Plus) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 262
GTLP_DCI Usage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 262
HSTL (High-Speed Transceiver Logic) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 263
HSTL_ I, HSTL_ III, HSTL_ I_18, HSTL_ III_18 Usage . . . . . . . . . . . . . . . . . . . . . . . . . 263
HSTL_ I_DCI, HSTL_ III_DCI, HSTL_ I_DCI_18, HSTL_ III_DCI_18 Usage . . . . . . . . 263
HSTL_ II, HSTL_ IV, HSTL_ II_18, HSTL_ IV_18 Usage. . . . . . . . . . . . . . . . . . . . . . . . 264
HSTL_ II_DCI, HSTL_ IV_DCI, HSTL_ II_DCI_18, HSTL_ IV_DCI_18 Usage . . . . . . . 264
DIFF_HSTL_ II, DIFF_HSTL_II_18 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 264
DIFF_HSTL_II_DCI, DIFF_HSTL_II_DCI_18 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 264
HSTL Class I . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 265
HSTL Class II . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 266
Complementary Single-Ended (CSE) Differential HSTL Class II . . . . . . . . . . . . . . . . 268
HSTL Class III . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 270
HSTL Class IV. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 271
HSTL Class I (1.8V) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 273
HSTL Class II (1.8V). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 274
Complementary Single-Ended (CSE) Differential HSTL Class II (1.8V) . . . . . . . . . . 276
HSTL Class III (1.8V) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 278
HSTL Class IV (1.8V) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 279
SSTL (Stub-Series Terminated Logic) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 281
SSTL2_I, SSTL18_I Usage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 281
SSTL2_I_DCI, SSTL18_I_DCI Usage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28116
www.xilinx.com
Virtex-4 FPGA User Guide
UG070 (v2.6) December 1, 2008
R
SSTL2_II, SSTL18_II Usage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 281
SSTL2_II_DCI, SSTL18_II_DCI Usage. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 281
DIFF_SSTL2_II, DIFF_SSTL18_II Usage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 282
DIFF_SSTL2_II_DCI, DIFF_SSTL18_II_DCI Usage . . . . . . . . . . . . . . . . . . . . . . . . . . . . 282
SSTL2 Class I (2.5V) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 282
SSTL2 Class II (2.5V) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 283
Complementary Single-Ended (CSE) Differential SSTL2 Class II (2.5V) . . . . . . . . . . 285
SSTL18 Class I (1.8V) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 288
SSTL18 Class II (1.8V) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 289
Complementary Single-Ended (CSE) Differential SSTL Class II (1.8V) . . . . . . . . . . . 291
Differential Termination: DIFF_TERM Attribute . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 294
LVDS and Extended LVDS (Low Voltage Differential Signaling) . . . . . . . . . . . . . . . 294
Transmitter Termination. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 295
Receiver Termination . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 295
HyperTransport Protocol (LDT) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 296
BLVDS (Bus LVDS) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 297
CSE Differential LVPECL (Low-Voltage Positive Emitter-Coupled Logic) . . . . . . . 297
LVPECL Transceiver Termination . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 297
I/O Standards Compatibility . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 299
I/O Standards Special Design Rules . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 302
Rules for Combining I/O Standards in the Same Bank . . . . . . . . . . . . . . . . . . . . . . . . 302
3.3V I/O Design Guidelines . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 303
I/O Standard Design Rules. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 303
Mixing Techniques . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 306
Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 306
Simultaneous Switching Output Limits . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 306
Sparse-Chevron Packages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 306
Nominal PCB Specifications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 307
PCB Construction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 307
Signal Return Current Management. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 307
Load Traces. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 307
Power Distribution System Design. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 307
Nominal SSO Limit Table: Sparse Chevron . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 308
Equivalent VCCO/GND Pairs: Sparse Chevron . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 309
Nominal SSO Limit Tables: Non-Sparse Chevron . . . . . . . . . . . . . . . . . . . . . . . . . . . . 310
Equivalent VCCO/GND Pairs: Non-Sparse Chevron . . . . . . . . . . . . . . . . . . . . . . . . . . 314
Actual SSO Limits versus Nominal SSO Limits . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 314
Electrical Basis of SSO Noise . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 314
Parasitic Factors Derating Method (PFDM) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 315
Weighted Average Calculation of SSO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 316
Calculation of Full Device SSO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 317
Full Device SSO Example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 317
Full Device SSO Calculator . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 319
Other SSO Assumptions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 319
LVDCI and HSLVDCI Drivers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 319
Bank 0 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 320
Chapter 7: SelectIO Logic Resources
Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 321
ILOGIC Resources . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 321
Combinatorial Input Path . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 323
Input DDR Overview (IDDR) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 323Virtex-4 FPGA User Guide
www.xilinx.com
17
UG070 (v2.6) December 1, 2008
R
OPPOSITE_EDGE Mode. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 323
SAME_EDGE Mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 325
SAME_EDGE_PIPELINED Mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 326
Input DDR Primitive (IDDR) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 327
IDDR VHDL and Verilog Templates . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 328
IDDR VHDL Template . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 328
IDDR Verilog Template . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 328
ILOGIC Timing Models . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 329
ILOGIC Timing Characteristics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 329
ILOGIC Timing Characteristics, DDR. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 330
Input Delay Element (IDELAY) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 331
IDELAY Primitive. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 332
IDELAY Ports . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 333
IDELAY Attributes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 334
IDELAY Timing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 334
Note on Instability after an Increment/Decrement Operation . . . . . . . . . . . . . . . . . . . 335
IDELAY VHDL and Verilog Instantiation Template . . . . . . . . . . . . . . . . . . . . . . . . . . 336
IDELAYCTRL Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 341
IDELAYCTRL Primitive . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 341
IDELAYCTRL Ports . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 341
IDELAYCTRL Timing. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 342
IDELAYCTRL Locations. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 343
IDELAYCTRL Usage and Design Guidelines . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 343
OLOGIC Resources . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 351
Combinatorial Output Data and 3-State Control Path . . . . . . . . . . . . . . . . . . . . . . . . . 354
Output DDR Overview (ODDR) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 354
OPPOSITE_EDGE Mode. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 354
SAME_EDGE Mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 356
Clock Forwarding . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 356
Output DDR Primitive (ODDR). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 357
ODDR VHDL and Verilog Templates . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 358
ODDR VHDL Template . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 358
ODDR Verilog Template. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 358
OLOGIC Timing Models. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 359
Timing Characteristics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 360
Chapter 8: Advanced SelectIO Logic Resources
Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 365
Input Serial-to-Parallel Logic Resources (ISERDES). . . . . . . . . . . . . . . . . . . . . . . . . 365
ISERDES Primitive . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 367
ISERDES Ports . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 368
Combinatorial Output – O . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 368
Registered Outputs – Q1 to Q6 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 368
Bitslip Operation – BITSLIP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 368
Clock Enable Inputs – CE1 and CE2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 369
High-Speed Clock Input – CLK . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 369
Divided Clock Input – CLKDIV . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 370
Serial Input Data from IOB – D. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 370
High-Speed Clock for Strobe-Based Memory Interfaces – OCLK . . . . . . . . . . . . . . . . . 370
Reset Input – SR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 370
ISERDES Attributes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 372
BITSLIP_ENABLE Attribute . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37218
www.xilinx.com
Virtex-4 FPGA User Guide
UG070 (v2.6) December 1, 2008
R
DATA_RATE Attribute. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 372
DATA_WIDTH Attribute . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 372
INTERFACE_TYPE Attribute . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 373
IOBDELAY Attribute . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 374
NUM_CE Attribute. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 374
SERDES_MODE Attribute . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 374
ISERDES Clocking Methods . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 374
ISERDES Width Expansion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 375
Guidelines for Expanding the Serial-to-Parallel Converter Bit Width . . . . . . . . . . . . . 376
Verilog Instantiation Template to use Width Expansion Feature . . . . . . . . . . . . . . . . . 376
ISERDES Latencies . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 379
ISERDES Timing Model and Parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 379
Timing Characteristics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 380
ISERDES VHDL and Verilog Instantiation Template. . . . . . . . . . . . . . . . . . . . . . . . . . 380
ISERDES VHDL Instantiation. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 380
ISERDES Verilog Instantiation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 382
BITSLIP Submodule. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 383
Bitslip Operation. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 383
Bitslip Timing Model and Parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 384
Output Parallel-to-Serial Logic Resources (OSERDES) . . . . . . . . . . . . . . . . . . . . . . 386
Data Parallel-to-Serial Converter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 386
3-State Parallel-to-Serial Conversion. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 387
OSERDES Primitive . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 388
OSERDES Ports . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 388
Data Path Output – OQ. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 389
3-state Control Output – TQ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 389
High-Speed Clock Input – CLK . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 389
Divided Clock Input – CLKDIV . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 389
Parallel Data Inputs – D1 to D6. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 389
Output Data Clock Enable – OCE. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 389
Parallel 3-State Inputs – T1 to T4. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 389
3-State Signal Clock Enable – TCE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 390
Reset Input – SR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 390
OSERDES Attributes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 391
DATA_RATE_OQ Attribute . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 391
DATA_RATE_TQ Attribute . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 392
DATA_WIDTH Attribute . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 392
SERDES_MODE Attribute . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 392
TRISTATE_WIDTH Attribute. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 392
OSERDES Width Expansion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 392
Guidelines for Expanding the Parallel-to-Serial Converter Bit Width . . . . . . . . . . . . . 393
OSERDES Latencies . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 394
OSERDES Timing Model and Parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 394
Timing Characteristics of 2:1 SDR Serialization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 395
Timing Characteristics of 8:1 DDR Serialization. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 395
Timing Characteristics of 4:1 DDR 3-State Controller Serialization . . . . . . . . . . . . . . . 396
OSERDES VHDL and Verilog Instantiation Templates . . . . . . . . . . . . . . . . . . . . . . . . 398
OSERDES VHDL Template. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 398
OSERDES Verilog Template . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 399
Chapter 9: Temperature Sensing Diode
Temperature-Sensing Diode (TDP/TDN) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 401
Temperature Sensor Examples. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 401Virtex-4 FPGA User Guide
www.xilinx.com
19
UG070 (v2.6) December 1, 2008
R
Maxim Remote/Local Temperature Sensors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 401
Texas Instruments Remote/Local Temperature Sensor . . . . . . . . . . . . . . . . . . . . . . . . 402
National Semiconductor (LM83 or LM86) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 402

标签: EX RT vi 手册

实例下载地址

virtex手册

不能下载?内容有错? 点击这里报错 + 投诉 + 提问

好例子网口号:伸出你的我的手 — 分享

网友评论

发表评论

(您的评论需要经过审核才能显示)

查看所有0条评论>>

小贴士

感谢您为本站写下的评论,您的评论对其它用户来说具有重要的参考价值,所以请认真填写。

  • 类似“顶”、“沙发”之类没有营养的文字,对勤劳贡献的楼主来说是令人沮丧的反馈信息。
  • 相信您也不想看到一排文字/表情墙,所以请不要反馈意义不大的重复字符,也请尽量不要纯表情的回复。
  • 提问之前请再仔细看一遍楼主的说明,或许是您遗漏了。
  • 请勿到处挖坑绊人、招贴广告。既占空间让人厌烦,又没人会搭理,于人于己都无利。

关于好例子网

本站旨在为广大IT学习爱好者提供一个非营利性互相学习交流分享平台。本站所有资源都可以被免费获取学习研究。本站资源来自网友分享,对搜索内容的合法性不具有预见性、识别性、控制性,仅供学习研究,请务必在下载后24小时内给予删除,不得用于其他任何用途,否则后果自负。基于互联网的特殊性,平台无法对用户传输的作品、信息、内容的权属或合法性、安全性、合规性、真实性、科学性、完整权、有效性等进行实质审查;无论平台是否已进行审查,用户均应自行承担因其传输的作品、信息、内容而可能或已经产生的侵权或权属纠纷等法律责任。本站所有资源不代表本站的观点或立场,基于网友分享,根据中国法律《信息网络传播权保护条例》第二十二与二十三条之规定,若资源存在侵权或相关问题请联系本站客服人员,点此联系我们。关于更多版权及免责申明参见 版权及免责申明

;
报警