LatticeXP2 High-Speed IO Interface

合集下载

Lattice编程电缆用户指南说明书

Lattice编程电缆用户指南说明书

Programming CablesUser’s GuideFeatures•Support for all Lattice programmable products–1.2 V to 3.3 V programming (HW-USBN-2B)–1.2 V to 5 V programming (All other cables)–Ideal for design prototyping and debugging•Connect to multiple PC interfaces–USB (v.1.0, v.2.0)–PC Parallel Port•Easy-to-use programming connectors•Versatile flywire, 2 x 5 (.100”) or 1 x 8 (.100”) connectors•6 feet (2 meters) or more of programming cable length (PC to DUT)•Lead-free/RoHS compliant constructionFigure 1. USB Cable – HW-USBN-2BProgramming CablesLattice Programming Cable products are the hardware connection for in-system programming of all Lattice devices. After completion of the logic design and creation of a programming file with the Lattice Diamond®, ispLEVER® Clas-sic or PAC-Designer® software, the Lattice Diamond Programmer, or Lattice's ispVM™ System software is used to control the programming of devices directly on the PC board. No additional components are required to program a device.After you complete your logic design and create a programming file with the Lattice Diamond/ispLEVER Classic development tools, you can use Diamond Programmer or ispVM™ System software ispVM™ System software or Diamond Programmer to program devices on your board. The ispVM System/Diamond Programmer software auto-matically generates the appropriate programming commands, programming addresses and programming data based on information stored in the programming file and parameters you set in Diamond Programmer/ispVM Sys-tem. Programming signals are then generated from the USB or parallel port of a PC and directed through the Pro-gramming Cable to the device. No additional components are required for programming.Diamond Programmer/ispVM System software is included with all Lattice design tool products and is available for download from the Lattice web site at .Programming Cable Pin DefinitionsThe functions provided by the Programming cables correspond with available functions on Lattice programmable devices. Since some devices contain different programming features, the specific functions provided by the Pro-gramming cable may depend on the selected target device. ispVM System/Diamond Programmer software will automatically generate the appropriate functions based on the selected device. See Table 1 for an overview of the Programming cable functions.Table 1. Programming Cable Pin DefinitionsProgramming Cable Pin NameProgramming CablePin TypeDescriptionVCCProgramming VoltageInputConnect to V CC or V CCJ plane of the target device. T ypical I CC = 10mA. Y our board design supplies the power for V CC . Note: This may not be the same as a target device’s V CCO plane.SDO/TDO Test Data Output Input Used to shift data out via the IEEE1149.1 (JT AG) programming standard.SDI/TDITest Data InputOutput Used to shift data in via the IEEE1149.1 programming standard.ispEN/Enable/PROG/SN EnableOutput Enable device to be programmed.SN = SSPI Chip select for HW-USBN-2B TRST Test Reset Output Optional IEEE 1149.1 state machine reset. DONE DONEInput DONE indicates status of configuration MODE/TMS Test Mode Select Input Output Used to control the IEEE1149.1 state machine.GND GroundInput Connect to ground plane of the target device SCLK/TCK Test Clock Input Output Used to clock the IEEE1149.1 state machineINIT Initialize Input Indicates that ORCA ® device is ready for configuration.I2C: SCL 1I2C SCL Output Provides the I2C signal SCL I2C: SDA 1I2C SDA Output Provides the I2C signal SDA.5V Out 15V OutOutputProvides a 5V signal for the iCEprog M1050 Programmer.1.Only found on the HW-USBN-2B cable.Figure 2. Programming Cable In-System Programming Interface for the PC (HW-USBN-2B)11.Requires Diamond Programmer 3.1 or laterFigure 3. Programming Cable In-System Programming Interface for the PC (HW-USB-1A or HW-USB-2A)1ttice PAC-Designer® software does not support programming with USB cables. To program ispPAC devices with these cables, use the Dia-mond Programmer/ispVM System software.Figure 4. Programming Cable In-System Programming Interface for the PC (HW-DLN-3C and Equivalents)11.HW7265-DL3, HW7265-DL3A, HW-DL-3B, HW-DL-3C and HW-DLN-3C are functionally equivalent products.Figure 5. Programming Cable In-System Programming Interface for the PC (pDS4102-DL2 or pDS4102-DL2A)Figure 6. Programming Cable In-System Programming Interface for the PC (HW7265-DL2 or HW7265-DL2A)1.For reference purposes, the 2x10 connector on the HW7265-DL2 or HW7265-DL2A is equivalent to Tyco 102387-1. This will interface tostandard 100-mil spacing 2x5 headers, or a 2x5 keyed, recessed male connector such as the 3M N2510-5002RB.Programming SoftwareDiamond Programmer and ispVM System for Classic devices is the preferred programming management soft-ware tool for all Lattice devices and download cables. The latest version of Lattice Diamond Program-mer or ispVM System software is available for download from the Lattice web site at /software. Target Board Design ConsiderationsA 4.7K pull-down resistor is recommended on the TCK connection of the target board. This pull-down is recom-mended to avoid inadvertent clocking of the TAP controller induced by fast clock edges or as V CC ramps up. This pull-down is recommended for all Lattice programmable families.The I2C signals SCL and SDA are open drain. A 2.2K pull-up resistor to VCC is required on the target board.For Lattice device families that feature low power, it is recommended to add a 500 ohm resistor between V CCJ and GND during the programming interval when a USB Programming cable is connected to a very low power board design. A FAQ is available that discusses this in more depth at:/en/Support/AnswerDatabase/2/2/0/2205The JTAG programming port speed may need to be governed when using the Programming cables connected to customer PCBs. This is especially important when there is long PCB routing or with many daisy-chained devices. The Lattice programming software can adjust the timing of TCK applied to the JTAG programming port from the cable. This low-precision port setting of TCK depends on many factors, including the PC speed and the type of cable used (parallel port, USB or USB2). This software feature provides an option to slow the TCK for debug or noisy environments. A FAQ is available that discusses this in more depth at:/en/Support/AnswerDatabase/9/7/974.aspxThe USB Download Cable can be used to program Power Manager or ispClock products with Lattice programming software. When using the USB cable with the Power Manager I devices, (POWR604, POWR1208, POWR1208P1), you must slow do TCK by a factor of 2. A FAQ is available that discusses this in more depth at:/en/Support/AnswerDatabase/3/0/306.aspxProgramming Flywire and Connection ReferenceRefer to T able 2 when connecting a flywire download cable to systems that use the 1x8-position or 2x5-position connectors. For newer Lattice FPGA families, a 1x10 connector used in conjunction with the Programming USB cable adds support for the DONE and INITN signals. Both of these signals are inputs to the cable, and can be used to help verify device configuration.Table 2. Flywire Conversion ReferenceFunction FlywireCableWireLabel1x10Connector1x8Connector2x5ConnectorV CC1Red VCC116 TDO/SO/SPI_SO Brown TDO227TDI/SI/SPI_SI Orange TDI335 ispEN2/Enable/PROGRAMN/SN/SPI_SS_B Y ellow ispEN/PROG4410 TRST3/CRESET_B Green TRST/DONE559 TMS/MODE Purple TMS663 GND Black GND77 4 (2 and 8) TCK4/SCLK/CCLK/SPI_SCK White TCK881 DONE3Green TRST/DONE9INITN/CDONE Blue INITN10I2C SCL5, 6Y ellow/White I2C: SCLI2C SDA5,6Green/White I2C: SDATable 3 lists the recommend pin connections. Please contact Lattice technical support for information on unlisted devicefamilies.(e-mail:***************************).Table 3. Recommended Pin ConnectionsDevice FamilyTDITDOTMSTCKispEN/P ROG 1,6TRST 2/D ONE 3,6INITN 3,6VCCGNDSCLSDAECP5™Mandatory Mandatory Mandatory Mandatory Optional Optional Optional Mandatory Mandatory N/A N/A LatticeECP3™Mandatory Mandatory Mandatory Mandatory Optional Optional Optional Mandatory Mandatory N/A N/A LatticeECP2M™/LatticeECP2™Mandatory Mandatory Mandatory Mandatory Optional Optional Optional Mandatory Mandatory N/A N/A LatticeECP™/LatticeEC™Mandatory Mandatory Mandatory Mandatory Optional Optional Optional Mandatory Mandatory N/A N/A LatticeXP2™Mandatory Mandatory Mandatory Mandatory Optional Optional Optional Mandatory Mandatory N/A N/A LatticeXP™Mandatory Mandatory Mandatory Mandatory Optional Optional Optional Mandatory Mandatory N/A N/A LatticeSC™/LatticeSCM™Mandatory Mandatory MandatoryMandatory Optional Optional Optional Mandatory Mandatory N/A N/A iCE40™/iCE40LM/iCE40 Ultra™Mandatory Mandatory N/A Mandatory MandatoryRecom-mended Recom-mended Mandatory Mandatory N/A N/A MachXO2™/MachXO3™Mandatory Mandatory Mandatory Mandatory N/A N/A N/A Mandatory Mandatory Optional Optional MachXO™Mandatory Mandatory Mandatory Mandatory N/A N/A N/A Mandatory Mandatory N/A N/A ORCA ®/FPSC Mandatory Mandatory Mandatory Mandatory Optional Optional Optional Mandatory Mandatory N/A N/A ispXPGA®Mandatory Mandatory Mandatory Mandatory N/A N/A N/A Mandatory Mandatory N/A N/A ispXPLD™Mandatory Mandatory Mandatory Mandatory N/A N/A N/A Mandatory Mandatory N/A N/A ispMACH ®4000Mandatory Mandatory Mandatory Mandatory N/A N/A N/A Mandatory Mandatory N/A N/A ispMACH/ispLSI® 5000Mandatory Mandatory Mandatory Mandatory N/A N/A N/A Mandatory Mandatory N/A N/A MACH ®4A4Mandatory Mandatory Mandatory Mandatory N/A N/A N/A Mandatory Mandatory N/A N/A ispGDX2™Mandatory Mandatory Mandatory Mandatory N/A N/A N/A Mandatory Mandatory N/A N/A ispClock™Mandatory Mandatory Mandatory Mandatory N/A N/A5N/A Mandatory Mandatory N/A N/A Platform Manager™Mandatory Mandatory Mandatory Mandatory N/A Optional 5N/A Mandatory Mandatory N/A N/A Power Manager/Power Manager II Mandatory Mandatory Mandatory Mandatory N/A Optional 5N/A Mandatory Mandatory N/A N/A ispPAC ®MandatoryMandatoryMandatoryMandatoryN/AN/AN/AMandatoryMandatoryN/AN/A1. Refer to the Programming Cable ispEN Pin section below for detailed information on connecting the ispEN/ENABLE pin.2. Refer to the Programming Cable TRST Pin section below for detailed information on connecting the TRST pin.3. The DONE and INITN signals are only available on the Programming USB cable. These signals are inputs to the cable and can be used to help verify deviceconfiguration.4. Please refer to the device data sheet. Not all packages have the ENABLE or TRST pin.5.When using P AC-Designer ® software to program ispPAC devices, do not connect this pin.6.When using these connections, be sure to select the correct settings in the Cable and I/O Port Setup dialog in the ispVM System/Diamond Programmer soft-ware.5V Output 5Red/White5V Out1.For devices that have a V CCJ pin, the V CCJ must be connected to the cable’s V CC, and a 0.1µF decoupling capacitor is required on V CCJ close to the device. Please refer to the device data sheet to determine if the device has a V CCJ pin.2.For older Lattice ISP devices, a 0.01µF decoupling capacitor is required on ispEN/ENABLE of the target board.3.The TRST and DONE pin is multiplexed on the Programming USB cable. If the device TRST signal is available on the board, connect the USB flywire TRST/DONE wire to TRST. If the device DONE signal is available on the board (or if both TRST and DONE are available), con-nect the USB flywire TRST/DONE wire to DONE. Please make sure the correct setting is selected in ispVM/Diamond Programmer (Options, Cable and I/O Port Setup). This will tell ispVM/Diamond Programmer whether the TRST/DONE cable is used as a TRST or a DONE signal.4.A 4.7K pull-down resister is recommended on TCK of the target board.5.Only on the HW-USB2N-2B cable6.Open drain signals. External pull-up ~2.2KOhm resistor to VCC is required.Table 2. Flywire Conversion Reference (Continued)FunctionFlywire Cable Wire Label 1x10 Connector1x8 Connector2x5 ConnectorConnecting the Programming CableThe target board must be un-powered when connecting, disconnecting, or reconnecting the Programming Cable. Always connect the Programming Cable’s GND pin (black wire), before connecting any other JTAG pins. Failure to follow these procedures can result in damage to the target programmable device.Programming Cable TRST PinConnecting the board TRST pin to the cable TRST pin is not recommended. Instead, connect the board TRST pin to Vcc. If the board TRST pin is connected to the cable TRST pin, instruct ispVM/Diamond Programmer to drive the TRST pin high as follows:1.Select the Options menu item.2.Select Cable and I/O Port Setup.3.Check the TRST/Reset Pin Connected checkbox.4.Select the Set High radio button.If the proper option is not selected, the TRST pin will be driven low by ispVM/Diamond Programmer. Consequently, the BSCAN chain will not work because the chain will be locked into RESET state.Programming Cable ispEN PinThe following pins should be grounded:•BSCAN pin of the 2000VE devices•ENABLE pin of MACH4A3/5-128/64, MACH4A3/5-64/64 and MACH4A3/5-256/128 devices.However, the user has the option of having the BSCAN and ENABLE pins driven by the ispEN pin from the cable. In this case, ispVM/Diamond Programmer must be configured to drive the ispEN pin low as follows:1.Select the Options menu item.2.Select Cable and I/O Port Setup.3.Check the ispEN/BSCAN Pin Connected checkbox.4.Select the Set Low radio button.Table 4.Feature HW-USBN-2B HW-USBN-2A HW-USB-2A HW-USB-1A HW-DLN-3CHW7265-DL3,HW7265-DL3A,HW-DL-3B,HW-DL-3C HW7265-DL2HW7265-DL2A PDS4102-DL2PDS4102-DL2AUSB X X X XPC-Parallel X X X X X X 1.2 V Support X X X1.8 V Support X X X X X X X X2.5-3.3 V Support X X X X X X X X X X 5.0 V Support X X X X X X X X X 2x5 Connector X X X X X X X1x8 Connector X X X X X X X Flywire X X X X X XLead-freeConstruction X X XAvailable for order X XProgramming Cable Feature SummaryEach Programming Cable ships with two small connectors that help you keep the flywires organized. The following manufacturer and part number is one possible source for equivalent connectors:•1x8 Connector (e.g. Samtec SSQ-108-02-T-S)•2x5 Connector (e.g. Samtec SSQ-105-02-T-D)The Programming Cable flywire or headers are intended to connect to standard 100-mil spacing headers (pins spaced 0.100 inch apart). Lattice recommends a header with length of 0.243 inches or 6.17 mm. Though, headers of other lengths may work equally well.Ordering InformationDescription Ordering PartNumberChina RoHS Environment-Friendly Use Period (EFUP)Programming cable (USB). Contains 6' USB cable, flywire connectors,8-position (1x8) adapter and 10-position (2x5) adapter, lead-free, RoHScompliant construction.HW-USBN-2BProgramming cable (PC only). Contains parallel port adapter, 6' cable,flywire connectors, 8-position (1x8) adapter and 10-position (2x5) adapter,lead-free, RoHS compliant construction.HW-DLN-3CNote: Additional cables are described in this document for legacy purposes only, these cables are no longer produced. The cables currently available for order are fully equivalent replacement items.Technical Support Assistancee-mail:***************************Internet:Revision HistoryDate Version Change SummaryJanuary 201524.7Updated Programming Cable Pin Definitions section.— In Table 1, Programming Cable Pin Definitions, ispEN/Enable/PROGchanged to ispEN/Enable/PROG/SN and its description revised.— Updated Figure 2, Programming Cable In-System ProgrammingInterface for the PC (HW-USBN-2B).Updated Programming Cable ispEN Pin section.In T able 4, Programming Cable Feature Summary, HW-USBN-2Bmarked as available for order.Updated Ordering Information section. HW-USBN-2A changed to HW-USBN-2BJuly 201424.6Changed document title to Programming Cables User’s GuideChanged ispDOWNLOAD Cables to Programming Cables.Updated Target Board Design Considerations section. Updated FAQlink on ispVM tool control of TCK duty cycle and/or frequency.Updated Table 3, Recommended Pin Connections. Added ECP5,iCE40LM, iCE40 Ultra, and MachXO3 device families.Updated Technical Support Assistance information.October 201224.5Added iCE40 configuration port pin names to the Flywire ConversionReference table.Added iCE40 information to Recommended Cable Connections table.February 201224.4Updated document with new corporate logo.November 201124.3Document transferred to user’s guide format.Added Figure USB Cable – HW-USBN-2A.Updated Recommend Cable Connections table for MachXO2 devices.Updated Target Board Design Considerations section.Added Appendix A.October 200924.2Added information related to the physical specifications of the flywireconnectors.July 200924.1Added Target Board Design Considerations text section.Added Programming Flywire and Connection Reference section head-ing.——Previous Lattice releases.Appendix A. Troubleshooting the USB Driver InstallationIt is essential that you install the drivers before connecting your PC to the USB cable. If the cable is connected before installing the drivers, Windows will try to install its own drivers that may not work.If you have attempted to connect the PC to the USB cable without first installing the appropriate drivers, or have trouble communicating with the Lattice USB cable after installing the drivers, following the steps below:1.Plug in the Lattice USB cable. Choose Start > Settings > Control Panel > System. In the System Propertiesdialog box, click the Hardware tab and Device Manager button. Under Universal Serial Bus controllers, you should see Lattice USB ISP Programmer. If you do not see this, look for the Unknown Device with the yellow flag.2.Double click on the Unknown Device icon.3.Click Reinstall Driver.4.Select Browse for driver software on your computer.For Lattice EzUSB DriverFor FTDI FTUSB Driver5.Browse to the isptools\ispvmsystem directory for the Lattice EzUSB driver or the isptools\ispvmsystem\Drivers\FTDIUSBDriver directory for the FTDI FTUSB driver. For Diamond installations, browse tolscc/diamond/data/vmdata/drivers. Click Next.6.Select Install this Driver software anyway. The system will update the driver.7.Click Close and finish installing the USB driver. Under Control Panel >System >Device Manager > Univer-sal Serial Bus Controllers should include the following:For the Lattice EzUSB Driver: Lattice USB ISP Programmer device installed.For the FTDI FTUSB Driver: USB Serial Converter A and Converter B devices installed.If you are experiencing problems or need additional information, contact Lattice Technical Support.。

lattice FPGA简介

lattice FPGA简介

为什么Lattice在进入FPGA市场的第一年就能取得这么好的成绩?我想这里面可能有三个层次的深层原因:第一,针对Altera和Xilinx在高端有Stratix和Virtex、在低端有Cyclone和Spartan产品的情况下,我们选择了从中端切入的策略,从而在刚进入FPGA应用市场时能够有效地避免与已在高端和低端市场确立了自己领导地位的Altera和Xilinx发生正面冲撞,二年多来的实践证明这一策略是非常正确的;第二,我们在满足市场要求的严格质量前提下做出了自己的产品特色,例如,我们的低端LatticeECP2/M FPGA产品在保持对Cyclone和Spartan价格竞争力的前提下,再增加了一些切合用户实际应用需要而主要竞争对手还没有的功能,如更多的高速串行接口、更多的I/O口、128位AES加密和更大的内部存储空间等;第三,系统制造商心里也期望市场能涌现出较强的第3个FPGA供应商,因为这样才能形成稳定的三足鼎立之势,促进市场的有序竞争,并帮助它们稳定供应链和进一步降低运营成本。

目前FPGA和CPLD在哪些主要应用空间具有不可替代的关键地位?目前FPGA和CPLD的目标应用主要可分为以下三大类:低成本应用、对价格敏感的高性能应用、以及需要极高性能的应用。

第一类应用包括等离子或LCD TV、VoIP、机顶盒、图像渲染、音频处理和控制逻辑,第二类应用包括企业联网、GPON、企业存储、无线基站、协议转换、网络交换、图像滤波和存储器桥接,第三类应用包括光纤联网、SDH线路卡、下一代40G光通道卡、局域网交换机、DDR3存储器测试仪、高端服务器、背板高速接口、数据包成帧和分拆、高速存储器控制和高速信号处理。

Lattice目前主要有哪几条产品线?它们各针对什么目标应用?Lattice目前主要有4条产品线:针对低端市场的低成本FPGA LatticeECP2/M、针对高端市场的系统级高性能FPGA LatticeSC/M、带嵌入式闪存的非易失性FPGA LatticeXP和MachXO、以及混合信号PLD ispClock和Power Manager II,LatticeECP2和LatticeECP2M的主要区别是后者还带有SRAM存储器,LatticeSC和LatticeSCM的主要区别也一样。

Lattice Semiconductor 产品选择指南:FPGA、CPLD、混合信号等 - 201

Lattice Semiconductor 产品选择指南:FPGA、CPLD、混合信号等 - 201

PRODUCT SELECTOR GUIDE2012FPGA • CPLD • MIXED SIGNAL • INTELLECTUAL PROPERTY • DEVELOPMENT KITS • DESIGN TOOLSCONTENTS■A dvanced Packaging (4)■F PGA Products (6)■CPLD Products (8)■Power Management and Clock Management Products (8)■Intellectual Property and Reference Designs (10)■Development Kits and Evaluation Boards (14)■P rogramming Hardware (18)■FPGA and CPLD Design Software (19)■PAC-Designer® Design Software (19)Page 2Affordable InnovationLattice Semiconductor is committed to delivering value through innovative low cost, low power solutions.We’re innovating every day to drive down costs and deliver greater value. From cost sensitive consumerelectronics to leading edge communications equipment, designers are using Lattice products in a growingnumber of applications. We’ve shipped over a billion devices to customers worldwide and we understandthat we must deliver cost effective solutions and excellent service in order to succeed.Low Density and Ultra-Low Density FPGAsWe are committed to providing design engineers with the low cost and low power solutions they needto implement their designs quickly, easily and affordably. Lattice FPGA solutions offer unique features,low power, and excellent value for FPGA designs. Our low density LatticeECP3™ family is comprisedof the lowest power, SERDES-enabled FPGAs in the market today, and is ideally suited for deploymentin high volume cost- and power-sensitive wireless and wireline infrastructure, video camera and displayapplications. Our ultra-low density, low cost and low power iCE40™ and MachXO2™ FPGA familiesare ideal for applications ranging from glue logic and bridging to instant-on system control and flexibleI/O expansion. From mobile handsets to leading-edge telecommunications infrastructure, Lattice offerssolutions that minimize cost and power while maximizing value.Power Management and Clock ManagementOur Platform Manager™, Power Manager II and ispClock™ mixed signal product families feature acombination of programmable logic and programmable analog circuitry that allows system designersto reduce system cost and design time. These innovative products provide a fast and easy solution forintegrating a wide range of power and clock management functions within a single integrated circuit. Theseproducts can replace numerous discrete components, reducing cost and conserving board space, whileproviding users with additional design flexibility and time-to-market benefits.Software and Intellectual PropertyOur Lattice Diamond® development tool suite, iCEcube2™ design software, PAC-Designer software, and IPcore program allow design engineers to easily customize our devices for their unique system requirements.Lattice Diamond software tools enable users to synthesize a design, perform analysis, debug, anddownload a logic configuration to our FPGA devices, while iCEcube2 software supports our iCE40 family ofFGPAs. PAC-Designer software is used in the design of our mixed signal products.Our IP core program, LatticeCORE™, provides pre-tested, reusable functions, allowing designers to focuson their unique system architectures. These IP cores provide industry-standard functions including PCIExpress, DDR, Ethernet, CPRI, Serial RapidIO 2.1, SPI4, and embedded microprocessors. In addition, anumber of independent IP providers have teamed with Lattice to offer additional high quality, reusable IPcores. Partners are selected for their industry leadership, high development standards, and commitment tocustomer support.Page 3Page 4Organic Flip Chip BGAFine Pitch BGA1704-BallOrganic fcBGA 42.5 x 42.5 mm 3.25 mm height 1.00 mm pitch1020-BallOrganic fcBGA Revision 233 x 33 mm 3.25 mm height 1.00 mm pitch1152-Ball fpBGA 1156-Ball fpBGA 35 x 35 mm 2.60 mm height 1.00 mm pitc h900-Ball fpBGA 31 x 31 mm 2.60 mm height 1.00 mm pitch672-Ball fpBGA 27 x 27 mm 2.60 mm height 1.00 mm pitch484-Ball fpBGA 23 x 23 mm 2.60 mm height 1.00 mm pitch324-Ball ftBGA 19 x 19 mm 1.70 mm height 1.00 mm pitch256-Ball ftBGA 17 x 17 mmOption 1: 1.55 mm height Option 2: 2.10 mm height Option 3: 1.70 mm height 1.00 mm pitch 256-Ball caBGA 14 x 14 mm 1.70 mm height 0.80 mm pitch332-Ball caBGA 17 x 17 mm 2.00 mm height 0.80 mm pitch208-Ball ftBGA 17 x 17 mm 1.55 mm height 1.00 mm pitch256-Ball fpBGA 17 x 17 mm 2.10 mm height1.00 mm pitchFine Pitch BGAChip Array BGANote: Packages shown actual size. Height specification is max.Page 5208-Pin PQFP 28 x 28 mm (body)4.10 mm height 0.50 mm pitch176-Pin TQFP 24 x 24 mm (body)1.60 mm height 0.50 mm pitch144-Pin TQFP 20 x 20 mm (body)1.60 mm height 0.50 mm pitch100-Pin VQFP 14 x 14 mm (body)1.2 mm height 0.50 mm pitch100-Pin TQFP 128-Pin TQFP 14 x 14 mm (body)1.6 mm height0.50 mm pitch (100 TQFP)0.40 mm pitch (128 TQFP )44-Pin TQFP10 x 10 mm (body)1.20 mm height 1.60 mm height 0.80 mm pitch 48-Pin TQFP 7 x 7 mm (body)1.20 mm height 1.60 mm height0.50 mm pitchVQFP/TQFP/PQFP64-Pin QFNS 9 x 9 mm1.00 mm height 0.50 mm pitch 100-Ball csBGA 8 x 8 mm1.35 mm height 0.50 mm pitch132-Ball csBG A 8 x 8 mmOption 1: 1.35 mm heightOption 2: 1.00 mm height (iCE40)0.50 mm pitch 184-Ball csBG A 8 x 8 mm1.35 mm height 0.50 mm pitch284-Ball csBGA 12 x 12 mm 1.00 mm height 0.50 mm pitch 328-Ball csBGA 10 x 10 mm 1.50 mm height 0.50 mm pitch 132-Ball ucBGA 6 x 6 mm1.00 mm height 0.40 mm pitch 25-Ball WLCSP2.5 x 2.5 mm 0.62 mm height 0.40 mm pitch84-Pin QFNS 7 x 7 mm1.00 mm height 0.50 mm pitch 48-Pin QFNS 7 x 7 mm1.00 mm height 0.50 mm pitch144-Ball csBGA 7 x 7 mm1.10 mm height 0.50 mm pitch 64-Ball ucBGA 4 x 4 mm1.00 mm height 0.40 mm pitch 32-Pin QFNS 5 x 5 mm1.00 mm height 0.50 mm pitch 32-Pin QFN 5 x 5 mm0.60 mm height 0.50 mm pitch 56-Ball csBGA 6 x 6 mm1.35 mm height 0.50 mm pitch 81-Ball csBGA 5 x 5 mm1.00 mm height 0.50 mm pitch 225-Ball ucBGA 7 x 7 mm1.00 mm height 0.40 mm pitch 24-Pin QFNS 4 x 4 mm1.00 mm height 0.50 mm pitch64-Ball csBGA 5 x 5 mm1.10 mm height 0.50 mm pitch121-Ball csBGA 6 x 6 mm1.00 mm height 0.50 mm pitch 121-Ball ucBGA 5 x 5 mm1.00 mm height 0.40 mm pitch 81-Ball ucBGA 4 x 4 mm1.00 mm height 0.40 mm pitch 49-Ball ucBGA 3 x 3 mm1.00 mm height 0.40 mm pitch 36-Ball ucBGA2.5 x 2.5 mm 1.00 mm height0.40 mm pitchQFNS / QFNChip Scale BGAUltra Chip Scale BGAWafer Level Chip ScaleNote: Packages shown actual size. Height specification is max.NEWiCE40™Page 6Page 71) Pb-free only.ispClock ProductsPage 8Platform Manager and Power Manager II Device Selector Guide* ispPAC-POWR1014A OnlyPage 9LatticeCORE IP CoresThe following is a partial listing of LatticeCORE IP, for a complete listing of IP cores from Lattice and its 3rd party partners, please go to /ip.1. LatticeSCM™ MACO®-based IP cores are not included in this table.Page 10IP SuitesLattice IP Suites provide many of the functions required to develop a total solution for common FPGA applications. In addition, multipleLattice FPGA families are supported with each IP Suite, so designers can develop solutions across multiple Lattice families, taking advantage of the best features of each. The following table summarizes which IP cores are included in each IP Suite, and which FPGA families are supported.Page 11Page 12Page 13Page 14Features- Power connections and power sources - ispVM™ programming support- On-board and external reference clock sources• Available on Windows and Linux platforms • Software and IP with a 60-day license (Windows or Linux)• Variety of demos • USB download cable• Comprehensive Image Processing IP Library • On-board Broadcom ® Broadreach™ PHY Enables IP over Coax• On-board FTDI Chip provides easy programming via low cost USB cable- Gigabit Ethernet MAC Demo using Mico32- DDR3 Memory Controller Demo• Available on Windows and Linux platforms • USB A to USB B (Mini) Cable for FPGA Programming via a PC• 12V AC Power Adapter and International Plug Adapters•QuickSTART GuideFeaturesFeaturesFeaturesLatticeECP3 Versa Development KitHDR-60 Video Camera Development KitLatticeECP3 PCI Express Development KitLatticeXP2 Brevia2 Development Kit• LatticeECP3 PCI Express x1/x4 Solutions Board- PCI Express x1 and x4 edge connector interfaces- On-board Boot Flash- Both Serial SPI Flash and Parallel Flash via MachXO programming bridge - Shows interoperation with a highperformance DDR2 memory component - Switches, LEDs, displays for demo purposes- Input connection for lab-power supply• FPGA-based Image Signal Processing• Fully Production-Ready HDR Camera Design • 1080p Capable @ 60 frames per second• Supports up to 16 Megapixel Sensors • Supports up to two sensors simultaneously • Full 60fps in streaming mode needs no external frame buffer• Fast Auto Exposure Instantly Adjust to Changing Light• Greater than 120 dB High Dynamic Range (HDR) Performance• Direct HDMI/DVI output from FPGA • Extremely Low-Latency• The LatticeECP3 Versa Evaluation Board:- PCI Express 1.1 x1 Edge Connector Interface- Two Gigabit Ethernet Ports (RJ45)- 4 SMA Connectors for SERDES Access - USB Mini for FPGA Programming- LatticeECP3 FPGA: LFE3-35EA-FF484- 64 Mbit Serial Flash memory - 1 Gbit DDR3 Memory- 14-segment alpha-numeric display - Switches and LEDs for demos - SERDES Eye Quality Demo - 4 PCI Express Demos• LatticeXP2 FPGA: LFXP2-5E-6TN144C • 2 Mbit SPI Flash Memory • 1 Mbit SRAM• Programmed via included mini-USB Cable • 2x20 and 2x5 Expansion Headers• Push buttons for General Purpose I/O and Reset• 4-bit DIP Switch for user-defined inputs • 8 Status LEDs for user-defined outputsDevelop PCIe-based platforms using a low-cost, low-power SERDES-basedFPGA with proprietary and Lattice provided designs.A fully production ready High Dynamic Range (HDR) camera, designed to fit into commercially available camera housings. Supports full 1080p resolution at 60 frames per second in streaming mode through the FPGA, without the need for an external frame buffer.Industry’s lowest cost platform for design-ing PCI Express and Gigabit Ethernet based systems. The kit includes free demos and reference designs.Easy-to-use, low-cost platform for evaluat-ing and designing with LatticeXP2 FPGAs.Page 15FeaturesFeaturesiCEblink40 Evaluation KitMachXO2 Pico Development KitMachXO2 Control Development Kit• Two versions:- High Performance: iCE40HX1K-VQ100 - Low Power: iCE40LP1K-QN84• Powered by USB input• 1Mbit SPI PROM (enough for two iCE40HX1K images using WarmBoot)• Four capacitive-touch buttons (requires FPGA logic)• Four user LEDs• Dual PMOD header compatible with Digilent PMOD boards (6x2 header)• MachXO2 LCMXO2-1200ZE• 4-character 16-segment LCD display • 4 capacitive touch sense buttons • 1 Mbit SPI Flash• I 2C temperature sensor• Current and voltage sensor circuits • Expansion header for JTAG, I 2C• Standard USB cable for device programming and I 2C communication• RS-232/USB & JTAG/USB interface• RoHS-compliant packaging and process• MachXO2 LCMXO2-4000HC• Power Manager II ispPAC-POWR1014A • 128Mbit LPDDR memory, 4Mbit SPI Flash • Current and voltage sensor circuits • SD memory card socket • Microphone• Audio Amplifier and Delta-Sigma ADC• Up to two DVI sources and one DVI output.• Up to two Display Inputs (7:1 LVDS) and one Display Output (7:1 LVDS)• Audio output channel• Expansion header for JTAG, SPI, I 2C and PLD I/Os.• 3.33 MHz oscillator (can be modified to support 33.33 MHz or 333 kHz)• 1.2V and 3.3V power supplies• All iCE40HX1K I/O available on headers or 0.1” through-holes• Watch battery• QuickSTART Guide• LEDs & switches• Standard USB cable for device programming • RS-232/USB & JTAG/USB interface• RoHS-compliant packaging and process • AC adapter (international plugs)• QuickSTART Guide31, 2012. Standard list price: $39.MachXO Control Development Kit FeaturesMachXO Pico Dev. Kit & MachXO Control Dev. Kit• Preloaded Control SoC Demo • MachXO LCMXO2280• Power Manager II ispPAC-POWR1014A• 2Mbit SPI Flash & 1Mbit SRAM • I 2C temperature sensor • Current and voltage sensor circuits • On-board fan • Interface to 16 x 2 LCD panel*• SD memory and Compact Flash memory card sockets*• Audio output channel• Expansion header for SPI & I 2C • LEDs & switches• Standard USB cable for device programming and I 2C communication • RS-232/USB & JTAG/USB interface • 3” x 1” prototyping area • RoHS-compliant packaging and process * LCD panel and SD/Compact Flash memory not included in the development kit MachXO Mini Development Kit Features• MachXO PLD: LCMXO2280C-4TN144C• 2 Mbit SPI Flash memory • 1 Mbit SRAM• I 2C temperature sensor • USB mini jack sockets for power, JTAG programming, and RS-232 debugging • 2X16 header for off-board expansion provides access to top and right side MachXO banks• Push-buttons for sleep mode and reset• 4-bit DIP switch to user-defined inputs • ADC/DAC circuit • Sleep circuit• 8 LEDs for user-defined outputs• RoHS-compliant packaging and process• Two USB connector cables • QuickSTART GuidePage 16FeaturesFeaturesFeaturesPower Manager II Hercules Development KitProcessorPM Development KitPlatform Manager Development Kit• The Standard Edition Hercules DevelopmentKit features the following:- Preloaded Board Digital ManagementDemo- Hercules Standard Edition eval board- Power Manager II ispPAC-POWR1220AT8 and MachXOLCMXO2280 PLD• The Advanced Edition Hercules DevelopmentKit features the following:- Preloaded Board Digital ManagementDemo- Hercules Advanced Edition evaluationboard with CompactPCI headers- Power Manager II ispPAC-POWR1220AT8 and MachXOLCMXO2280 PLD- Backplane accessory evaluation boardand power supply for live hot-swap• AC adapter (international plugs)• USB Connector Cable• RoHS-compliant packaging and process• Pre-configured Processor Support Demo• ProcessorPM-POWR605• Power Manager II POWR6AT6• 3.3V, 2.5V, and 1.8V supply rails• LEDs• Slide potentiometer• 2x14 expansion header• USB mini jack socket (program/power)• 2 Push-Buttons• Preloaded Power Management Demo• LPTM10-12107, Platform Manager, 208-ballftBGA package• 35mm slide pots to emulate supply railvariations• Pads for user I/O, LED, and switches• JTAG and I2C interface headers• USB Cable• 4-Bit DIP Switch• JTAG and I2C Header Landings• RoHS-compliant packaging and process• USB connector cable• QuickSTART Guide• AC adapter with international plugs• Programmable with ispVM System software• QuickSTART GuideVersatile, ready to use hardware platformsfor evaluating and designing with PowerManager II devices. A Standard and Ad-vanced Edition of each kit is available.Versatile, ready-to-use hardware platformfor evaluating and designing with Proces-sorPM power management devices.A versatile, ready-to-use hardware plat-form for evaluating and designing withPlatform Manager devices.Features:Breakout Board Evaluation Kits•Preprogrammed with hardware test programLCMXO2-1200ZE-1TG144C PLD (MachXO2Breakout Board), LCMXO2280C-FTN256CPLD (MachXO2280 Breakout Board),POWR1014A-02TN48I (POWR1014ABreakout Board), or LC4256ZE-TN144C CPLD(ispMACH 4256ZE Breakout Board)• LEDs•Expansion Header LandingsBreakout Board Evaluation Kits for selectMachXO2, MachXO, ispMACH 4000ZE,Power Manager II devices offer convenienthardware evaluations by providing easyhand-access to PLD I/Os.•Prototyping Area•USB Mini Jack Socket (Program/Power)•JTAG Header Landing•RoHS-compliant packaging and process•USB connector cableFeaturesispMACH 4000ZE Pico Development Kit• Pre-programmed Pico Power Demo• ispMACH 4000ZE device(LC4256ZE-5MN144C)• Power Manager II device(ispPAC-POWR6AT6-01SN32I)• LCD panel• USB mini jack socket for power, JTAGprogramming, and I2C interface• 2X15 header landing for off-board expansionprovides access to LC4256ZE GPIOs,POWR6AT6 VMON inputs, I2C, and JTAG chain• Push-button for global reset• 4-bit DIP switch to user-defined inputs• 3.3V and 2.5V supply rails• Current and voltage sensor circuits• Battery or USB power source• RoHS-compliant packaging and process• Marked for CE, China RoHS Environmental-Friendly Use Period (EFUP) and WasteElectrical and Electronic Equipment (WEEE)Directives• One USB connector cable• QuickSTART GuideBattery-powered, low-cost platform toaccelerate the evaluation of ispMACH4000ZE CPLDs.Page 17Programming HardwarePage 18PAC-Designer — Mixed-Signal Design SoftwarePage 19Technical SupportUSA & Canada: 1-800-LATTICE (528-8423)For other locations: +1-503-268-8001PLDTechnicalandSoftware:***************************MixedSignal:***********************Additionally, customers can receive technical support for Lattice’s Programmable Logic Products from our Asia based applications group, by contacting Lattice Asia applications during the hours of 8:30 a.m. to 5:30 p.m. Beijing Time (CST) +0800 UTC (Chinese and English language only).Asia: +86-21-52989090********************************Corporate HeadquartersLattice Semiconductor Corporation 5555 Northeast Moore CourtHillsboro, Oregon 97124-6421 USA Telephone: +1-503-268-8000Facsimile: +1-503-268-8347Web: Software LicensingEmail:************************Web: /licensing/index.cfmCopyright © 2012 Lattice Semiconductor Corporation. All brand names or product names are trademarks or registered trademarks of their respective holders. Lattice Semiconductor Corporation, L Lattice Semiconductor Corporation (logo), L (stylized), L (design), Lattice (design), Lattice Diamond, LSC, E 2CMOS, FlashBAK, flexiFLASH, flexiMAC, flexiPCS, FreedomChip, GAL, GDX, Generic Array Logic, HDL Explorer, iCE40, iCEblink, iCEcube2, IPexpress, ISP , ispATE, ispClock, ispDOWNLOAD, ispGAL, ispGDS, ispGDX, ispGDXV, ispGDX2, ispGENERATOR, ispJTAG, ispLeverCORE, ispLSI, ispMACH, ispPAC, ispTURBO, ispVIRTUAL MACHINE, ispVM, ispXP , ispXPGA, ispXPLD, LatticeCORE, LatticeECP3, LatticeECP2, LatticeECP2M, LatticeECP , LatticeECP-DSP , LatticeMico, LatticeMico8, LatticeMico32, LatticeSC, LatticeSCM, LatticeXP , LatticeXP2, MACH, MachXO, MachXO2, MACO, ORCA, PAC, PAC-Designer, PAL, Performance Analyst, Platform Manager, ProcessorPM, PURESPEED, Reveal, Silicon Forest, Speedlocked, Speed Locking, sysCLOCK, sysCONFIG, sysDSP , sysHSI, sysI/O, sysMEM, The Simple Machine for Complex Design, TransFR, UltraMOS, and specific product designations are either registered trademarks or trademarks of Lattice Semiconductor Corporation or its subsidiaries in the United States and/or other countries. ISP is a service mark of Lattice Semiconductor Corporation.October 2012 • Order #: I0211K。

lattice 产品介绍

lattice 产品介绍

XP2 系列
LFXP2-17ELFXP2-17E-5FT256C
SC 系列
LFSCM3GA25EP1LFSCM3GA25EP1-5FN900C
SC 系统芯片在业 界领先的FPGA 体 系中集成了4到32 个3.8G Serdes , 可灵活配置成 GE/10GE.PCIE,OC12/48,Fiber channel,业界最 高速率2Gbps的 I/O接口,以及创 新的把结构化Asic 的MACO 块嵌入 了内部,因此和同 类产品相比,性能 更高,集成度更强
Low-Cost FPGAs
• Mainstream FPGA Features/Performance at Lower Cost – DDR/DDR2 – Full-Featured DSP – SERDES
System FPGAs
• Full System-level Solution for Communications Applications – World Class SERDES – Embedded Hard IP
Lattice 第一代通用 型FPGA,低成本, 外围配置芯片可采 用spi flash ,含有 dsp 模块,支持 DDR memory , 是实现简单算法设 计最好的选择
ECP2 系列
LFE2-6ELFE2-6E-5TN144C
ECP2 是业界最低成本 的90 nm的FPGA,以 前只有高端器件才有的 特点和性能,比如说pll 和dll的支持,高速的源 同步I/O,DDR,DDR2, 128Bit AES算法加密, 双端口dual-boot启动, SPI FLASH 加载,近 乎完美
XP 是单芯片,可以单 电源供电的FPGA,应用 于对安全性,单板面积 有要求的场合,而且 lattice 特有的TFR技 术,可以远程的不掉电 系统升级 XP2 也是单芯片的 FPGA ,但是加入了dsp 模块和供用户自己使用 的memory ,成本相比 xp也有降低,

Lattice XO2内部RAM使用手册

Lattice XO2内部RAM使用手册

June 2012Reference Design RD1126© 2012 Lattice Semiconductor Corp. All Lattice trademarks, registered trademarks, patents, and disclaimers are as listed at /legal. All other brand or product names are trademarks or registered trademarks of their respective holders. The specifications and information herein are subject to change without notice.IntroductionMachXO2™-640/U and higher density devices provide a User Flash Memory (UFM) block, which can be used for a variety of applications including PROM data storage, or general purpose non-volatile Flash memory. In some design contexts, the UFM may be used concurrently to store EFB initialization data, or in rare situations configura-tion data overflow, as specified by user settings.The UFM is page addressable. Each page has 128 bits (16 bytes). The UFM block connects to the device core through the Embedded Function Block (EFB) WISHBONE interface. If desired, users can also access the UFM block independently through the hardened JTAG, I 2C and SPI interfaces of the device.This reference design is intended to provide a familiar and intuitive extension to the MachXO2 Embedded Func-tional Block User Flash Memory (EFB UFM). This design facilitates users to access the MachXO2 EFB UFM mod-ule without the knowledge of WISHBONE protocol.ArchitectureFigure 1. MachXO2 UFM Simplified RAM-Type Interface Block DiagramRAM-Type Interface forEmbedded User Flash MemoryPort DescriptionsTable 1. Port DescriptionsPort Direction Width (Bits)DescriptionCLK Input1Clock input1RST_N Input1Active low reset signalCommand InterfaceGO Input1High (‘1’) starts command process. GO is ignored if BUSY is asserted. CMD Input3Command operationUFM_P AGE Input11Target UFM PageBUSY Output1Status bit. Indicates operation in progress.ERR Output1Error bit. The last operation failed. Will be cleared on subsequent GO. Data InterfaceMEM_CLK Input1Clock for the DPRAM moduleMEM_WE Input1Write enable for the DPRAM moduleMEM_CE Input1Clock enable for the DPRAM moduleMEM_ADDR Input4DPRAM addressMEM_Wr_DA T A Input8DPRAM write dataMEM_Rd_DA T A Output8DPRAM read data1.Modify the design parameter READ_DELAY when CLK > 16.6 MHz. See discussion below.Functional DescriptionThis design facilitates user access to the MachXO2 EFB UFM module without the knowledge of WISHBONE proto-col. The user has to provide the necessary command sequence with UFM page address. A GO signal will trigger the interface to perform the necessary WISHBONE transactions to read or write the UFM.UFMThe User Flash Memory of the MachXO2 device features non-volatile storage in a single sector. Other features include:•Non-volatile storage up to 256Kbits•100K write cycles•Write access is performed page-wise; each page has 128 bits (16 bytes)•Auto-increment addressingTypical of Flash technology, the array must be cleared (erased) before data can be overwritten. The erased state of the UFM bits is ‘0’. The smallest erasable unit is the entire sector. Thus, any data which must be preserved (e.g. Config data overflow, or EBR init data) must be read out and stored in another available memory (e.g. EBR) prior to the Erase command. After the erase is complete, the data is written back to the UFM. The user is responsible for performing the storage operation. This requirement, along with limited erase cycles and long erase/program times, renders the UFM a poor solution for ‘scratch pad’ RAM (or similar) applications. MachXO2 Embedded Block RAM (EBR) is the recommended on-board memory type for high-churn, volatile data storage.In the design’s default configuration, the internal UFM read operation has been optimized for lower CLK rates. For CLK rates exceeding 16.6 MHz, this design must be configured to insert additional Retrieval Delay into the state machine which generates the UFM read command. A parameter, READ_DELAY, is provided for this purpose. The source file “UFM_WB_top.v” can be modified directly or the parameter passed in the module instantiation. The min-imum value for READ_DELAY can be calculated as follows:READ_DELAY(min) = 240/PERIOD - 4where PERIOD = CLK period in nsExample, for CLK = 47MHz, PERIOD = 21.28ns thus READ_DELAY >= 8 (7.28 rounded up)Refer to the “Reading Flash Pages” section of TN1204, MachXO2 Programming and Configuration Usage Guide for more information on the Read UFM command structure and timing requirements.DPRAMThe design incorporates a 32-byte (2 UFM page), byte addressable True Dual port RAM. The internal state machine accesses one port of the DPRAM. During the UFM write operation the state machine reads data from the DPRAM and writes it to the UFM. During UFM read operations the data read from the UFM is stored in the DPRAM.The second DPRAM port is accessed by the user to exchange data to or from the UFM. The DPRAM memory is divided into two pages of 16 bytes data each. The Most Significant Bit (MSB) of the DPRAM addresses are con-trolled by the internal state machine for page swapping. Thus, only one page (16 bytes) of the DPRAM is available through the user port at any given time. The available page is synchronized by the reference design and optimized for maximum throughput.During a UFM write operation, the DPRAM page swap happens once a GO is recognized. For higher throughput in back-to-back writes, this allows the user to immediately start loading the next page to be transferred to the UFM. During a read operation, the DPRAM page swap happens at the end of a read UFM operation and the user can start reading the DPRAM data once BUSY signal is low. In the case of back-to-back Read operations, the data remains available in the DPRAM until the subsequent Read is complete, allowing for higher throughput operation. CommandsTable 2. List of CommandsCommand Operation BUSY Signal Page Swap 000Read 1 page Clear when finished End of transaction001Read next page Clear when finished End of transaction010Write 1 page Clear upon UFM busy clear.Beginning of transaction011Write next page Clear upon UFM busy clear Beginning of transaction100Enable UFM access Clear upon UFM busy clear.N/A101Disable UFM access Clear when finished N/A110(undefined)––111Erase UFM Clear upon UFM busy clear N/ACommand Descriptions•Enable UFM access (100) – Required to enable UFM read/write access. Exercising this command will tempo-rarily disable certain features of the device, notably GSR, User SPI port and Power Controller. These features are restored when UFM access is disabled using Disable UFM access command (101). See TN1246, MachXO2 EFB User’s Guide, for more information on this behavior. BUSY is asserted until the devices internal Flash pumps are fully charged.•Write 1 page (010) – The 16 bytes of data from DPRAM is written into the UFM page specified by UFM_PAGE. The internal UFM page pointer is auto incremented at the completion of the command. Make sure that 16 bytes of data that has to be written to the UFM is loaded to the DPRAM prior to issuing a GO. BUSY will be asserted as soon as a GO is recognized and will be de-asserted when programming is complete.•Write next page (011) – The 16 bytes of data from DPRAM are written into the subsequent UFM page pointed by the internal UFM page pointer. The internal UFM page pointer is auto-incremented at the completion of thecommand. Make sure that 16 bytes of data that has to be written to the UFM is loaded to the DPRAM prior to issuing a GO. BUSY will be asserted as soon as a GO is recognized and will be de-asserted when programming is complete.•Read 1 page (000) – 16 bytes of data is read back from the UFM page specified by UFM_PAGE and stored in the DPRAM. The internal UFM page pointer is auto-incremented at the completion of the command. Following a Read command, the 16 bytes of UFM data can be read from the DPRAM after BUSY de-asserts.•Read next page (011) – The subsequent UFM page pointed by the internal UFM page pointer is read and stored into the DPRAM. The internal UFM page pointer is auto-incremented at the completion of the command. Follow-ing a Read command, the 16 bytes of UFM data can be read from the DPRAM after BUSY de-asserts.•Disable UFM access (101) – This command disables UFM interface for change access.•Erase UFM (111) – This command is issued to completely erase (set to ‘0’) the UFM. BUSY is asserted until era-sure is complete.Typical Command SequencesNotes:• A GO will be ignored when BUSY is asserted.•Any UFM read/write or erase command while UFM is disabled will assert the ERR signal.Write to UFMThe following sequence explains the necessary commands to be followed for a UFM write operation. The sequence assumes the target UFM row is in the erased state.1.Enable UFM access (100) – Check for BUSY signal to be low and issue enable UFM command on theCMD bus and issue a GO. BUSY signal is asserted once a GO is recognized.2.Write 1 page (010) – Load the DPRAM with one page (16 bytes) of data to be written to the UFM. Checkfor BUSY signal to be low, issue the Write 1 Page command on the CMD bus, UFM page address on the UFM_PAGE bus and issue a GO. The DPRAM page swap happens once a GO is recognized so that the user can load the next page to be written to the UFM into the DPRAM while the first page is being trans-ferred to the UFM.3.Write next page (011) – Wait for the previous page to be transferred to the UFM successfully and theBUSY signal goes low. Now issue a write next page command and issue GO. The internal UFM pagepointer is auto-incremented.4.Repeat steps 2 and 3 until all desired pages are written. Figure 2 illustrates steps 2 and 3.5.Disable UFM access (101) – Check for BUSY signal to be low and issue disable UFM command on theCMD bus and issue a GO. BUSY signal is asserted once a GO is recognized.Figure 2. Write to UFM Waveform DescriptionRead from UFMThe following sequence explains the necessary commands to be followed for a UFM read operation.1.Enable UFM access (100) – Check for the BUSY signal to be low and issue an enable UFM commandon the CMD bus and issue a GO. BUSY signal is asserted once a GO is recognized.2.Read 1 page (000) – Check for BUSY signal to be low, issue the Read 1 Page command on the CMDbus, UFM page address on the UFM_PAGE bus and issue a GO. Data read from UFM will be loaded in the DPRAM and user can access the data once BUSY signal goes low.3.Read next page (011) – Check for the BUSY signal to be low, issue the read next page command on theCMD bus and issue a GO. The internal UFM page pointer is auto. Data read from UFM will be loaded in the DPRAM and user can access the data once the BUSY signal goes low.4.Repeat steps 2 and 3 until all desired pages have been read. Figure 3 illustrates steps 2 and 3.5.Disable UFM access (101) – Check for the BUSY signal to be low and issue a disable UFM commandon the CMD bus and issue a GO. The BUSY signal is asserted once a GO is recognized.Figure 3. Read from UFM Waveform DescriptionRead Modify Write Back to UFMThe page read from UFM can be retained in the DPRAM and data modification may be performed directly on the DPRAM, followed by a Write 1 Page operation. The following sequence explains the necessary commands to be followed in order to modify the contents of UFM.Note: The modified data cannot be arbitrary. Only erased bits/bytes (=‘0’) of the UFM can be given new values. This sequence is provided to support applications where small amounts of data, or data unaligned to UFM page boundaries, is accumulated over time (e.g. a data logger application).1.Enable UFM access (100) – Check for BUSY signal to be low and issue an enable UFM command onthe CMD bus and issue a GO. BUSY signal is asserted once a GO is recognized.2.Read 1 page (000) – Check for BUSY signal to be low, issue the Read 1 Page command on the CMDbus, UFM page address on the UFM_PAGE bus and issue a GO. Data read from the UFM will be loaded in the DPRAM and is available to read or edit once the BUSY signal goes low.3.Modify DPRAM data as needed. The DPRAM data is byte addressable. The user may modify theintended byte(s) directly in the DPRAM. Alternatively, the data may be read from, and re-written to, theDPRAM.4.Write 1 page (010) – Once the data in the DPRAM has been modified or re-written, check for the BUSYsignal to be low, issue the Write 1 Page command on the CMD bus, set the UFM page address on theUFM_PAGE bus and issue a GO. Note that UFM page address must be specified for both read and write.5.Repeat steps 2 through 4 until all desired pages have been modified. Figure 4 illustrates steps 2through 4.6.Disable UFM access (101) – Check for the BUSY signal to be low and issue a disable UFM commandon the CMD bus and issue a GO. BUSY signal is asserted once a GO is recognized.Figure 4. Read-Modify and Write Back to UFM Waveform DescriptionHDL Simulation and VerificationEnable CommandFigure 5. Enable Command HDL Simulation WaveformWrite CommandFigure 6. Loading of DPRAM HDL Simulation WaveformFigure 7. Write to UFM Command Sequence HDL Simulation WaveformRead CommandFigure 8. Read from UFM Command Sequence HDL Simulation WaveformDisable CommandFigure 9. Disable Command HDL Simulation WaveformImplementationTable 3. Performance and Resource UtilizationTechnical Support AssistanceHotline:1-800-LATTICE (North America)+1-503-268-8001 (Outside North America)e-mail:techsupport@ Internet:Revision HistoryFamily Language Speed GradeUtilization fmax (MHZ)I/Os Architecture Resources MachXO21Verilog-3239 LUTs>50421- EFB1- EBR1. Performance and utilization characteristics are generated using LCMXO2-1200ZE-3TG100C with Lattice Diamond ® 1.4 design software.Date Version Change SummaryApril 201201.0Initial release.June 201201.1Updated design and document to include READ_DELAY parameteriza-tion.Appendix A. UFM Command SequencesThe following table explains the different UFM internal command structure involved for the various operations of this reference design.Table 4. MachXO2 Embedded Function Block CommandsOperation Command (Hex)Operand (Hex)Write Data Read Data Enable UFM Access (100)Enable UFM74 08 00 00——Status check F000 00 00— 1 byte status data Write One Page (010)Set Address B400 00 0040 00 aa aa1—Write UFM C900 00 0116 bytes data fromDPRAM—Status check F000 00 00— 1 byte status data Write Next Page (011)Write UFM C900 00 0116 bytes data fromDPRAM—Status check F000 00 00— 1 byte status data Read One Page (000)Set Address B400 00 0040 00 aa aa1—Read UFM CA10 00 01—16 bytes data from UFM Read Next Page (011)Read UFM CA10 00 01—16 bytes data from UFM Disable UFM Access (101)Disable UFM2600 00 00——Bypass FF FF FF FF——Erase UFM (111)Erase UFM0E08 00 00——Status check F000 00 00— 1 byte status data 1.The aa aa value is copied from the 11-bit UFM_PAGE module input.。

LATTICE XP2

LATTICE XP2

February 2008Preliminary Data Sheet DS1009© 2008 Lattice Semiconductor Corp. All Lattice trademarks, registered trademarks, patents, and disclaimers are as listed at /legal. All other brand Features■ flexiFLASH™ Architecture•Instant-on•Infinitely reconfigurable •Single chip•FlashBAK™ technology •Serial T AG memory •Design security■ Live Update Technology•T ransFR™ technology•Secure updates with 128 bit AES encryption •Dual-boot with external SPI■ sysDSP™ Block•Three to eight blocks for high performance Multiply and Accumulate •12 to 32 18x18 multipliers•Each block supports one 36x36 multiplier or four 18x18 or eight 9x9 multipliers ■ Embedded and Distributed Memory •Up to 885 Kbits sysMEM™ EBR •Up to 83 Kbits Distributed RAM■ sysCLOCK™ PLLs•Up to four analog PLLs per device•Clock multiply, divide and phase shifting■ Flexible I/O Buffer•sysIO™ buffer supports:–LVCMOS 33/25/18/15/12; LVTTL –SSTL 33/25/18 class I, II–HSTL15 class I; HSTL18 class I, II –PCI–LVDS, Bus-LVDS, MLVDS, LVPECL, RSDS ■ Pre-engineered Source SynchronousInterfaces•DDR / DDR2 interfaces up to 200 MHz•7:1 LVDS interfaces support display applications •XGMII■ Density And Package Options•5k to 40k LUT4s, 86 to 540 I/Os •csBGA, TQFP , PQFP , ftBGA and fpBGA packages •Density migration supported■ Flexible Device Configuration•SPI (master and slave) Boot Flash Interface •Dual Boot Image supported•Soft Error Detect (SED) macro embedded■ System Level Support•IEEE 1149.1 and IEEE 1532 Compliant•On-chip oscillator for initialization & general use •Devices operate with 1.2V power supplyTable 1-1. LatticeXP2 Family Selection GuideDevice XP2-5XP2-8XP2-17XP2-30XP2-40 LUTs (K)58172940Distributed RAM (KBits)1018355683EBR SRAM (KBits)166221276387885EBR SRAM Blocks 912152148sysDSP Blocks 3457818 x 18 Multipliers 1216202832V CC Voltage 1.2 1.2 1.2 1.2 1.2GPLL22444Max Available I/O172201358472540Packages and I/O Combinations132-Ball csBGA (8 x 8 mm) 8686 144-Pin TQFP (20 x 20 mm) 100100 208-Pin PQFP (28 x 28 mm) 146146146 256-Ball ftBGA (17 x17 mm) 172201201201 484-Ball fpBGA (23 x 23 mm) 358363363672-Ball fpBGA (27 x 27 mm)472540LatticeXP2 Family Data SheetIntroductionIntroduction Lattice Semiconductor LatticeXP2 Family Data Sheet IntroductionLatticeXP2 devices combine a Look-up T able (LUT) based FPGA fabric with non-volatile Flash cells in an architec-ture referred to as flexiFLASH.The flexiFLASH approach provides benefits including instant-on, infinite reconfigurability, on chip storage with FlashBAK embedded block memory and Serial T AG memory and design security. The parts also support Live Update technology with T ransFR, 128-bit AES Encryption and Dual-boot technologies.The LatticeXP2 FPGA fabric was optimized for the new technology from the outset with high performance and low cost in mind. LatticeXP2 devices include LUT-based logic, distributed and embedded memory, Phase Locked Loops (PLLs), pre-engineered source synchronous I/O support and enhanced sysDSP blocks.The ispLEVER® design tool from Lattice allows large and complex designs to be efficiently implemented using the LatticeXP2 family of FPGA devices. Synthesis library support for LatticeXP2 is available for popular logic synthesis tools. The ispLEVER tool uses the synthesis tool output along with the constraints from its floor planning tools to place and route the design in the LatticeXP2 device. The ispLEVER tool extracts the timing from the routing and back-annotates it into the design for timing verification.Lattice provides many pre-designed Intellectual Property (IP) ispLeverCORE™ modules for the LatticeXP2 family. By using these IPs as standardized blocks, designers are free to concentrate on the unique aspects of their design, increasing their productivity.February 2008Preliminary Data Sheet DS1009© 2008 Lattice Semiconductor Corp. All Lattice trademarks, registered trademarks, patents, and disclaimers are as listed at /legal. All other brand Architecture OverviewEach LatticeXP2 device contains an array of logic blocks surrounded by Programmable I/O Cells (PIC). Inter-spersed between the rows of logic blocks are rows of sysMEM™ Embedded Block RAM (EBR) and a row of sys-DSP™ Digital Signal Processing blocks as shown in Figure 2-1.On the left and right sides of the Programmable Functional Unit (PFU) array, there are Non-volatile Memory Blocks.In configuration mode the nonvolatile memory is programmed via the IEEE 1149.1 T AP port or the sysCONFIG™peripheral port. On power up, the configuration data is transferred from the Non-volatile Memory Blocks to the con-figuration SRAM. With this technology, expensive external configuration memory is not required, and designs are secured from unauthorized read-back. This transfer of data from non-volatile memory to configuration SRAM via wide busses happens in microseconds, providing an “instant-on” capability that allows easy interfacing in many applications. LatticeXP2 devices can also transfer data from the sysMEM EBR blocks to the Non-volatile Memory Blocks at user request.There are two kinds of logic blocks, the PFU and the PFU without RAM (PFF). The PFU contains the building blocks for logic, arithmetic, RAM and ROM functions. The PFF block contains building blocks for logic, arithmetic and ROM functions. Both PFU and PFF blocks are optimized for flexibility allowing complex designs to be imple-mented quickly and efficiently. Logic Blocks are arranged in a two-dimensional array. Only one type of block is used per row.LatticeXP2 devices contain one or more rows of sysMEM EBR blocks. sysMEM EBRs are large dedicated 18Kbit memory blocks. Each sysMEM block can be configured in a variety of depths and widths of RAM or ROM. In addi-tion, LatticeXP2 devices contain up to two rows of DSP Blocks. Each DSP block has multipliers and adder/accumu-lators, which are the building blocks for complex signal processing capabilities.Each PIC block encompasses two PIOs (PIO pairs) with their respective sysIO buffers. The sysIO buffers of the LatticeXP2 devices are arranged into eight banks, allowing the implementation of a wide variety of I/O standards. In addition, a separate I/O bank is provided for programming interfaces. PIO pairs on the left and right edges of the device can be configured as LVDS transmit/receive pairs. The PIC logic also includes pre-engineered support to aid in the implementation of high speed source synchronous standards such as 7:1 LVDS interfaces, found in many display applications, and memory interfaces including DDR and DDR2.Other blocks provided include PLLs and configuration functions. The LatticeXP2 architecture provides up to four General Purpose PLLs (GPLL) per device. The GPLL blocks are located in the corners of the device.The configuration block that supports features such as configuration bit-stream de-encryption, transparent updates and dual boot support is located between banks two and three. Every device in the LatticeXP2 family supports a sysCONFIG port, muxed with bank seven I/Os, which supports serial device configuration. A JT AG port is provided between banks two and three.This family also provides an on-chip oscillator and Soft Error Detect (SED) capability. LatticeXP2 devices use 1.2V as their core voltage.LatticeXP2 Family Data SheetArchitectureArchitecture Lattice Semiconductor LatticeXP2 Family Data Sheet Figure 2-1. Simplified Block Diagram, LatticeXP2-17 Device (Top Level)PFU BlocksThe core of the LatticeXP2 device is made up of logic blocks in two forms, PFUs and PFFs. PFUs can be pro-grammed to perform logic, arithmetic, distributed RAM and distributed ROM functions. PFF blocks can be pro-grammed to perform logic, arithmetic and ROM functions. Except where necessary, the remainder of this data sheet will use the term PFU to refer to both PFU and PFF blocks.Each PFU block consists of four interconnected slices, numbered Slice 0 through Slice 3, as shown in Figure 2-2. All the interconnections to and from PFU blocks are from routing. There are 50 inputs and 23 outputs associated with each PFU block.ArchitectureLattice SemiconductorLatticeXP2 Family Data SheetFigure 2-2. PFU DiagramSliceSlice 0 through Slice 2 contain two 4-input combinatorial Look-Up T ables (LUT4), which feed two registers. Slice 3contains two LUT4s and no registers. For PFUs, Slice 0 and Slice 2 can also be configured as distributed memory,a capability not available in PFF blocks. T able 2-1 shows the capability of the slices in both PFF and PFU blocks along with the operation modes they enable. In addition, each PFU contains logic that allows the LUTs to be com-bined to perform functions such as LUT5, LUT6, LUT7 and LUT8. There is control logic to perform set/reset func-tions (programmable as synchronous/asynchronous), clock select, chip-select and wider RAM/ROM functions.Figure 2-3 shows an overview of the internal logic of the slice. The registers in the slice can be configured as posi-tive/negative edge triggered or level sensitive clocks. Table 2-1. Resources and Modes Available per SliceSlice 0 through Slice 2 have 14 input signals: 13 signals from routing and one from the carry-chain (from the adja-cent slice or PFU). There are seven outputs: six to routing and one to carry-chain (to the adjacent PFU). Slice 3 has 13 input signals from routing and four signals to routing. T able 2-2 lists the signals associated with Slice 0 to Slice 2.Slice PFU BLockPFF BlockResources Modes Resources ModesSlice 0 2 LUT4s and 2 Registers Logic, Ripple, RAM, ROM 2 LUT4s and 2 Registers Logic, Ripple, ROM Slice 1 2 LUT4s and 2 RegistersLogic, Ripple, ROM2 LUT4s and 2 RegistersLogic, Ripple, ROM Slice 2 2 LUT4s and 2 Registers Logic, Ripple, RAM, ROM 2 LUT4s and 2 RegistersLogic, Ripple, ROMSlice 32 LUT4sLogic, ROM2 LUT4sLogic, ROMArchitecture Lattice Semiconductor LatticeXP2 Family Data Sheet Figure 2-3. Slice DiagramTable 2-2. Slice Signal DescriptionsFunction Type SignalNames Description Input Data signal A0, B0, C0, D0 Inputs to LUT4Input Data signal A1, B1, C1, D1 Inputs to LUT4Input Multi-purpose M0 MultipurposeInputInput Multi-purpose M1 MultipurposeInputInput Control signal CE Clock EnableInput Control signal LSR Local Set/ResetInput Control signal CLK System ClockInput Inter-PFU signal FCI Fast Carry-In1Input Inter-slice signal FXA Intermediate signal to generate LUT6 and LUT7Input Inter-slice signal FXB Intermediate signal to generate LUT6 and LUT7Output Data signals F0, F1 LUT4 output register bypass signalsOutput Data signals Q0, Q1 Register outputsOutput Data signals OFX0 Output of a LUT5 MUXOutput Data signals OFX1 Output of a LUT6, LUT7, LUT82 MUX depending on the sliceOutput Inter-PFU signal FCO Slice 2 of each PFU is the fast carry chain output11.See Figure 2-3 for connection details.2.Requires two PFUs.Architecture Lattice Semiconductor LatticeXP2 Family Data Sheet Modes of OperationEach slice has up to four potential modes of operation: Logic, Ripple, RAM and ROM.Logic ModeIn this mode, the LUTs in each slice are configured as LUT4s. A LUT4 has 16 possible input combinations. Four-input logic functions are generated by programming the LUT4. Since there are two LUT4s per slice, a LUT5 can be constructed within one slice. Larger LUTs such as LUT6, LUT7 and LUT8, can be constructed by concatenating two or more slices. Note that a LUT8 requires more than four slices.Ripple ModeRipple mode allows efficient implementation of small arithmetic functions. In ripple mode, the following functions can be implemented by each slice:•Addition 2-bit•Subtraction 2-bit•Add/Subtract 2-bit using dynamic control•Up counter 2-bit•Down counter 2-bit•Up/Down counter with async clear•Up/Down counter with preload (sync)•Ripple mode multiplier building block•Multiplier support•Comparator functions of A and B inputs–A greater-than-or-equal-to B–A not-equal-to B–A less-than-or-equal-to BT wo carry signals, FCI and FCO, are generated per slice in this mode, allowing fast arithmetic functions to be con-structed by concatenating slices.RAM ModeIn this mode, a 16x4-bit distributed Single Port RAM (SPR) can be constructed using each LUT block in Slice 0 and Slice 2 as a 16x1-bit memory. Slice 1 is used to provide memory address and control signals. A 16x2-bit Pseudo Dual Port RAM (PDPR) memory is created by using one slice as the read-write port and the other companion slice as the read-only port.The Lattice design tools support the creation of a variety of different size memories. Where appropriate, the soft-ware will construct these using distributed memory primitives that represent the capabilities of the PFU. T able 2-3 shows the number of slices required to implement different distributed RAM primitives. For more information on using RAM in LatticeXP2 devices, please see TN1137, LatticeXP2 Memory Usage Guide.Table 2-3. Number of Slices Required For Implementing Distributed RAMSPR 16X4PDPR 16X4 Number of slices33Note: SPR = Single Port RAM, PDPR = Pseudo Dual Port RAMROM ModeROM mode uses the LUT logic; hence, Slices 0 through 3 can be used in the ROM mode. Preloading is accom-plished through the programming interface during PFU configuration.Architecture Lattice Semiconductor LatticeXP2 Family Data Sheet RoutingThere are many resources provided in the LatticeXP2 devices to route signals individually or as busses with related control signals. The routing resources consist of switching circuitry, buffers and metal interconnect (routing) seg-ments.The inter-PFU connections are made with x1 (spans two PFU), x2 (spans three PFU) or x6 (spans seven PFU) connections. The x1 and x2 connections provide fast and efficient connections in horizontal and vertical directions. The x2 and x6 resources are buffered to allow both short and long connections routing between PFUs.The LatticeXP2 family has an enhanced routing architecture to produce a compact design. The ispLEVER design tool takes the output of the synthesis tool and places and routes the design. Generally, the place and route tool is completely automatic, although an interactive routing editor is available to optimize the design.sysCLOCK Phase Locked Loops (PLL)The sysCLOCK PLLs provide the ability to synthesize clock frequencies. The LatticeXP2 family supports between two and four full featured General Purpose PLLs (GPLL). The architecture of the GPLL is shown in Figure 2-4.CLKI, the PLL reference frequency, is provided either from the pin or from routing; it feeds into the Input Clock Divider block. CLKFB, the feedback signal, is generated from CLKOP (the primary clock output) or from a user clock pin/logic. CLKFB feeds into the Feedback Divider and is used to multiply the reference frequency.Both the input path and feedback signals enter the Voltage Controlled Oscillator (VCO) block. The phase and fre-quency of the VCO are determined from the input path and feedback signals. A LOCK signal is generated by the VCO to indicate that the VCO is locked with the input clock signal.The output of the VCO feeds into the CLKOP Divider, a post-scalar divider. The duty cycle of the CLKOP Divider output can be fine tuned using the Duty T rim block, which creates the CLKOP signal. By allowing the VCO to oper-ate at higher frequencies than CLKOP, the frequency range of the GPLL is expanded. The output of the CLKOP D ivider is passed through the CLKOK D ivider, a secondary clock divider, to generate lower frequencies for the CLKOK output. For applications that require even lower frequencies, the CLKOP signal is passed through a divide-by-three divider to produce the CLKOK2 output. The CLKOK2 output is provided for applications that use source synchronous logic. The Phase/Duty Cycle/Duty T rim block is used to adjust the phase and duty cycle of the CLKOP Divider output to generate the CLKOS signal. The phase/duty cycle setting can be pre-programmed or dynamically adjusted.The clock outputs from the GPLL; CLKOP, CLKOK, CLKOK2 and CLKOS, are fed to the clock distribution network.For further information on the GPLL please see TN1126, LatticeXP2 sysCLOCK PLL Design and Usage Guide.ArchitectureLattice SemiconductorLatticeXP2 Family Data SheetFigure 2-4. General Purpose PLL (GPLL) DiagramT able 2-4 provides a description of the signals in the GPLL blocks. Table 2-4. GPLL Block Signal DescriptionsClock DividersLatticeXP2 devices have two clock dividers, one on the left side and one on the right side of the device. These are intended to generate a slower-speed system clock from a high-speed edge clock. The block operates in a ÷2, ÷4 or ÷8 mode and maintains a known phase relationship between the divided down clock and the high-speed clock based on the release of its reset signal. The clock dividers can be fed from the CLKOP output from the GPLLs or from the Edge Clocks (ECLK). The clock divider outputs serve as primary clock sources and feed into the clock dis-tribution network. The Reset (RST) control signal resets the input and forces all outputs to low. The RELEASE sig-nal releases outputs to the input clock. For further information on clock dividers, please see TN1126, sysCLOCK PLL Design and Usage Guide. Figure 2-5 shows the clock divider connections.Signal I/O DescriptionCLKIIClock input from external pin or routingCLKFB IPLL feedback input from CLKOP (PLL internal), from clock net (CLKOP) or from a user clock(PIN or logic) RST I “1” to reset PLL counters, VCO, charge pumps and M-dividers RSTK I “1” to reset K-divider DPHASE [3:0]I DP A Phase Adjust input DDDUTY [3:0]I DP A Duty Cycle Select input WRDEL I DP A Fine Delay Adjust inputCLKOS O PLL output clock to clock tree (phase shifted/duty cycle changed) CLKOP O PLL output clock to clock tree (no phase shift)CLKOK O PLL output to clock tree through secondary clock divider CLKOK2O PLL output to clock tree (CLKOP divided by 3)LOCKO“1” indicates PLL LOCK to CLKIArchitecture Lattice Semiconductor LatticeXP2 Family Data Sheet Figure 2-5. Clock Divider ConnectionsClock Distribution NetworkLatticeXP2 devices have eight quadrant-based primary clocks and between six and eight flexible region-based sec-ondary clocks/control signals. T wo high performance edge clocks are available on each edge of the device to sup-port high speed interfaces. The clock inputs are selected from external I/Os, the sysCLOCK PLLs, or routing. Clock inputs are fed throughout the chip via the primary, secondary and edge clock networks.Primary Clock SourcesLatticeXP2 devices derive primary clocks from four sources: PLL outputs, CLKDIV outputs, dedicated clock inputs and routing. LatticeXP2 devices have two to four sysCLOCK PLLs, located in the four corners of the device. There are eight dedicated clock inputs, two on each side of the device. Figure 2-6 shows the primary clock sources.Figure 2-6. Primary Clock Sources for XP2-17Secondary Clock/Control SourcesLatticeXP2 devices derive secondary clocks (SC0 through SC7) from eight dedicated clock input pads and the rest from routing. Figure 2-7 shows the secondary clock sources.Figure 2-7. Secondary Clock SourcesEdge Clock SourcesEdge clock resources can be driven from a variety of sources at the same edge. Edge clock resources can be driven from adjacent edge clock PIOs, primary clock PIOs, PLLs and clock dividers as shown in Figure 2-8. Figure 2-8. Edge Clock SourcesArchitecture Lattice Semiconductor LatticeXP2 Family Data Sheet Primary Clock RoutingThe clock routing structure in LatticeXP2 devices consists of a network of eight primary clock lines (CLK0 through CLK7) per quadrant. The primary clocks of each quadrant are generated from muxes located in the center of the device. All the clock sources are connected to these muxes. Figure 2-9 shows the clock routing for one quadrant. Each quadrant mux is identical. If desired, any clock can be routed globally.Figure 2-9. Per Quadrant Primary Clock SelectionDynamic Clock Select (DCS)The DCS is a smart multiplexer function available in the primary clock routing. It switches between two independent input clock sources without any glitches or runt pulses. This is achieved irrespective of when the select signal is toggled. There are two DCS blocks per quadrant; in total, eight DCS blocks per device. The inputs to the DCS block come from the center muxes. The output of the DCS is connected to primary clocks CLK6 and CLK7 (see Figure 2-9).Figure 2-10 shows the timing waveforms of the default DCS operating mode. The DCS block can be programmed to other modes. For more information on the DCS, please see TN1126, LatticeXP2 sysCLOCK PLL Design and Usage Guide.Figure 2-10. DCS WaveformsSecondary Clock/Control RoutingSecondary clocks in the LatticeXP2 devices are region-based resources. EBR rows, DSP rows and a special verti-cal routing channel bound the secondary clock regions. This special vertical routing channel aligns with either the left edge of the center DSP block in the DSP row or the center of the DSP row. Figure 2-11 shows this special ver-tical routing channel and the eight secondary clock regions for the LatticeXP2-40. LatticeXP2-30 and smallerArchitecture Lattice Semiconductor LatticeXP2 Family Data Sheet devices have six secondary clock regions. All devices in the LatticeXP2 family have eight secondary clock resources per region (SC0 to SC7).The secondary clock muxes are located in the center of the device. Figure 2-12 shows the mux structure of the secondary clock routing. Secondary clocks SC0 to SC3 are used for high fan-out control and SC4 to SC7 are used for clock signals.Figure 2-11. Secondary Clock Regions XP2-40Figure 2-12. Per Region Secondary Clock SelectionArchitecture Lattice Semiconductor LatticeXP2 Family Data Sheet Slice Clock SelectionFigure 2-13 shows the clock selections and Figure 2-14 shows the control selections for Slice0 through Slice2. All the primary clocks and the four secondary clocks are routed to this clock selection mux. Other signals, via routing, can be used as clock inputs to the slices. Slice controls are generated from the secondary clocks or other signals connected via routing.If none of the signals are selected for both clock and control, then the default value of the mux output is 1. Slice 3 does not have any registers; therefore it does not have the clock or control muxes.Figure 2-13. Slice0 through Slice2 Clock SelectionFigure 2-14. Slice0 through Slice2 Control SelectionEdge Clock RoutingLatticeXP2 devices have eight high-speed edge clocks that are intended for use with the PIOs in the implementa-tion of high-speed interfaces. Each device has two edge clocks per edge. Figure 2-15 shows the selection muxes for these clocks.Architecture Lattice Semiconductor LatticeXP2 Family Data Sheet Figure 2-15. Edge Clock Mux ConnectionssysMEM MemoryLatticeXP2 devices contains a number of sysMEM Embedded Block RAM (EBR). The EBR consists of 18 Kbit RAM with dedicated input and output registers.sysMEM Memory BlockThe sysMEM block can implement single port, dual port or pseudo dual port memories. Each block can be used in a variety of depths and widths as shown in T able 2-5. FIFOs can be implemented in sysMEM EBR blocks by using support logic with PFUs. The EBR block supports an optional parity bit for each data byte to facilitate parity check-ing. EBR blocks provide byte-enable support for configurations with18-bit and 36-bit data widths.ArchitectureLattice SemiconductorLatticeXP2 Family Data SheetTable 2-5. sysMEM Block ConfigurationsBus Size MatchingAll of the multi-port memory modes support different widths on each of the ports. The RAM bits are mapped LSB word 0 to MSB word 0, LSB word 1 to MSB word 1, and so on. Although the word size and number of words for each port varies, this mapping scheme applies to each port.FlashBAK EBR Content StorageAll the EBR memory in the LatticeXP2 is shadowed by Flash memory. Optionally, initialization values for the mem-ory blocks can be defined using the Lattice ispLEVER tools. The initialization values are loaded into the Flash memory during device programming and into the SRAM at power up or whenever the device is reconfigured. This feature is ideal for the storage of a variety of information such as look-up tables and microprocessor code. It is also possible to write the current contents of the EBR memory back to Flash memory. This capability is useful for the storage of data such as error codes and calibration information. For additional information on the FlashBAK capa-bility see TN1141, LatticeXP2 sysCONFIG Usage Guide. Figure 2-16. FlashBAK TechnologyMemory CascadingLarger and deeper blocks of RAMs can be created using EBR sysMEM Blocks. T ypically, the Lattice design tools cascade memory transparently, based on specific design inputs.Single, Dual and Pseudo-Dual Port ModesIn all the sysMEM RAM modes the input data and address for the ports are registered at the input of the memory array. The output data of the memory is optionally registered at the output.Memory ModeConfigurationsSingle Port16,384 x 18,192 x 24,096 x 42,048 x 91,024 x 18512 x 36T rue Dual Port16,384 x 18,192 x 24,096 x 42,048 x 91,024 x 18Pseudo Dual Port16,384 x 18,192 x 24,096 x 42,048 x 91,024 x 18512 x 36Architecture Lattice Semiconductor LatticeXP2 Family Data Sheet EBR memory supports three forms of write behavior for single port or dual port operation:1.Normal – Data on the output appears only during a read cycle. During a write cycle, the data (at the currentaddress) does not appear on the output. This mode is supported for all data widths.2.Write Through – A copy of the input data appears at the output of the same port during a write cycle. This modeis supported for all data widths.3.Read-Before-Write – When new data is being written, the old content of the address appears at the output.This mode is supported for x9, x18 and x36 data widths.Memory Core ResetThe memory array in the EBR utilizes latches at the A and B output ports. These latches can be reset asynchro-nously or synchronously. RST A and RSTB are local signals, which reset the output latches associated with Port A and Port B respectively. GSRN, the global reset signal, resets both ports. The output data latches and associated resets for both ports are as shown in Figure 2-17.Figure 2-17. Memory Core ResetFor further information on the sysMEM EBR block, please see TN1137, LatticeXP2 Memory Usage Guide.EBR Asynchronous ResetEBR asynchronous reset or GSR (if used) can only be applied if all clock enables are low for a clock cycle before the reset is applied and released a clock cycle after the low-to-high transition of the reset signal, as shown in Figure 2-18. The GSR input to the EBR is always asynchronous.Figure 2-18. EBR Asynchronous Reset (Including GSR) Timing DiagramArchitecture Lattice Semiconductor LatticeXP2 Family Data Sheet If all clock enables remain enabled, the EBR asynchronous reset or GSR may only be applied and released after the EBR read and write clock inputs are in a steady state condition for a minimum of 1/f MAX (EBR clock). The reset release must adhere to the EBR synchronous reset setup time before the next active read or write clock edge.If an EBR is pre-loaded during configuration, the GSR input must be disabled or the release of the GSR during device Wake Up must occur before the release of the device I/Os becoming active.These instructions apply to all EBR RAM and ROM implementations.Note that there are no reset restrictions if the EBR synchronous reset is used and the EBR GSR input is disabled. sysDSP™ BlockThe LatticeXP2 family provides a sysDSP block making it ideally suited for low cost, high performance Digital Sig-nal Processing (DSP) applications. T ypical functions used in these applications include Bit Correlators, Fast Fourier T ransform (FFT) functions, Finite Impulse Response (FIR) Filter, Reed-Solomon Encoder/Decoder, T urbo Encoder/ D ecoder and Convolutional Encoder/D ecoder. These complex signal processing functions use similar building blocks such as multiply-adders and multiply-accumulators.sysDSP Block Approach Compare to General DSPConventional general-purpose DSP chips typically contain one to four (Multiply and Accumulate) MAC units with fixed data-width multipliers; this leads to limited parallelism and limited throughput. Their throughput is increased by higher clock speeds. The LatticeXP2 family, on the other hand, has many DSP blocks that support different data-widths. This allows the designer to use highly parallel implementations of DSP functions. The designer can opti-mize the DSP performance vs. area by choosing appropriate levels of parallelism. Figure 2-19 compares the fully serial and the mixed parallel and serial implementations.Figure 2-19. Comparison of General DSP and LatticeXP2 ApproachessysDSP Block CapabilitiesThe sysD SP block in the LatticeXP2 family supports four functional elements in three 9, 18 and 36 data path widths. The user selects a function element for a DSP block and then selects the width and type (signed/unsigned) of its operands. The operands in the LatticeXP2 family sysDSP Blocks can be either signed or unsigned but not。

Lattice isplever设计指南及常见问题解答

Lattice isplever设计指南及常见问题解答

Lattice ispMACH TM 4000V/B/C/Z 设计指南及常见问题解答目录1介绍 (4)1.1特征 (4)1.2产品系列和器件选择手册 (4)1.3性能分析 (5)1.3.1超快性能 (5)1.3.2最低功耗 (6)2体系结构概述 (7)2.1ISP MACH4000体系结构 (7)2.2结构特征 (9)2.2.1逻辑分配器和3种速度路径 (9)2.2.2带可编程延时的输入寄存器 (10)2.2.3灵活的时钟和时钟使能 (10)2.2.4初始化控制 (11)2.2.5ORP BYPASS多路复用器 (11)2.2.6I/O 单元 (12)2.2.7OE 控制 (12)3设计实现 (13)3.1全局约束 (13)3.1.1Fitter 选项 (13)3.1.2利用率选项 (14)3.2约束编辑器 (15)3.2.1设备设置表 (15)3.2.2封装察看/引脚编辑规划 (15)3.2.3引脚/节点位置分配 (16)3.2.4组分配 (16)3.2.5I/O类型设置 (16)3.2.6资源预留 (17)3.2.7缺省设置 (17)3.3资源约束 (17)3.3.1使用源约束注意事项 (17)3.3.2源约束语法 (18)3.4优化设计方法 (21)3.4.1ispLEVEL 约束选项控制 (21)3.4.2HDL 源文件约束控制 (22)4器件应用要点 (22)4.14K系列器件VCC和VCCO的作用和连接 (22)4.24K系列器件各电源上电时间及要求 (22)4.34K系列器件的全局复位 (22)4.4关于4K系列器件时钟的用法 (22)4.5全局输出使能信号 (23)4.6CPLD的I/O口作为双向口使用时应注意的问题 (23)4.7关于设计中使用宽多路复用器的问题 (24)4.8未使用引脚的处理 (25)4.9I/O5V兼容问题 (25)4.10I/O口的电平设置 (25)4.114K系列器件引脚上、下拉电阻,OD,慢摆率特性的设定 (25)4.12关于引脚的缺省值和更改 (27)4.134K系列器件功耗的计算 (27)4.144K系列器件节点温度的计算 (27)4.154K器件的热插拔 (28)4.16ISP JTAG编程/测试信号 (28)4.17CPU加载的频率 (28)4.184K系列器件可承受的加载次数 (28)4.19加载过程中I/O口的状态 (28)4.20综合工具的选择 (29)4.21关于约束文件 (29)4.22用嵌入的M ODEL S IM 仿真 (29)4.23M ODEL S IM应用点滴 (30)4.244K器件上电电压阀值 (30)4.25ISP LEVER中的版本控制功能 (31)4.26ISP LEVER中C ONSTRAINT E DITOR的G LOBAL C ONSTRAINTS设置 (32)4.27ISP LEVER中的时序分析 (33)5ISPLEVER优化参数快速指南 (33)5.1ISP LEVER常用约束优化参数的含义与推荐设置 (33)5.2ISP LEVER推荐的优化参数设置 (35)6ISPLEVER安装说明 (36)6.1ISP LEVER安装说明 (36)6.2ISP VM S YSTEM安装说明 (37)7相关资料 (37)1介绍ispMACH4000 器件包括3.3V、2.5V和1.8V三个系列。

LatticeLatticeECP27-1LVDS视频接口参考设计方案

LatticeLatticeECP27-1LVDS视频接口参考设计方案

LatticeLatticeECP27:1LVDS视频接口参考设计方案Lattice公司的LatticeECP2 7:1 LVDS视频评估套件采用LatticeECP2 或LatticeXP2 FPGA,和LatticeECP2高级评估板或LatticeXP2高级评估板以及各种视频I/O源配合使用.本文介绍了LatticeECP2 7:1 接收和发送功能框图, 7:1接收侧和发送侧方框图, LatticeECP2和LatticeXP2 高级评估板的7:1接口测试系统, 视频处理设计案例以及LatticeECP2™高级评估板主要特性,方框图和电路图.The Lattice 7:1 LVDS Video Demo Kit is a set of boards and cables that demonstrate the implementation of a 7:1 LVDS solution using the LatticeECP2 or LatticeXP2 FPGA. The kit works with the LatticeECP2-Advanced Evaluation Board or LatticeXP2 Advanced Evaluation Board, as well as various user video I/O resources.The default design for use with this kit is based on the 7:1 LVDS Video Interface reference design, targeted for the LatticeECP2 or LatticeXP2 FPGA, and specifically tailored for use with this kit. This, and other resources related to this kit can be downloaded from the links at the left of this page.7:1 LVDS视频接口包括:The Lattice 7:1 LVDS Video Demo Kit includes the following:4 Video Demo Boards (See User Manual for full description - link at left of this page)LatticeECP2 Advanced Evaluation Board (Optional - see below)Includes Wall Adapter Power Supply (Universal voltage input, US plugs)Includes ispDOWNLOAD cableBanana Jack Cables (For supplying Power to Video Demo Boards from LatticeECP2 Advanced Evaluation Board or other source)2 Channel-Link MDR CablesDVI Cable图1. LatticeECP2 7:1 LVDS视频接口评估板外形图图2. LatticeECP2 7:1 接收和发送功能图图3.7:1接收侧方框图图4.7:1发送侧方框图图5. LatticeECP2 高级评估板的7:1接口测试系统图6. LatticeXP2 高级评估板的7:1接口测试系统图7.视频处理设计案例LatticeECP2™高级评估板The LatticeECP2 Advanced Evaluation Board provides a convenient platform to evaluate, test and debug user designs and IP cores targeted to the LatticeECP2-50 tticeECP2™高级评估板主要特性:The main features of this board are listed below:• LatticeECP2 FPGA with a 1.2V DC core in a 672-ball fpBGA package (default LatticeECP2-50 FPGA)• SPI Serial Flash device included for low-cost, non-volatile configuration storage• Two 64-bit DDR2 SO-DIMM module connectors (DDR2 DIMMs are not included)• VHDM connectors for SPI4.2 transmit and receive interfaces• Tri-speed (10/100/1000 Mbit) Ethernet PHY that includes RJ-45, magnetics and spark gap• Directly wired RJ-45 connector• Samtec TFM-140-31-S-D-LC connector for interfacing with TI DSP motherboards through the peripheral interface• RS-232 interface chip and 9-pin D-sub connector• USB 1.1 transceiver and USB type-A and type-B connectors• Two 8-bit DIP switches• Discrete LEDs and 7-segment LED• Compact Flash connector for type I and type II Compact Flash cards (Compact Flash cards not included)• LCD module connector (LCD module not included)• Prototyping areas with access to 103 I/O pins• Selectable I/O bank voltages• Four pairs of SMA connectors for high speed differential signals• Oscillator socket for both half-size and full-size oscillators• 3.3V, 2.5V, 1.8V, 1.2V and ADJ (adjustable voltage) powers generated from a single 5V to 28V power source• Power Manager ispPAC-POWR1220AT8 chip for monitoring 3.3V, 2.5V, 1.8V, 1.2V, ADJ voltages and DDR VREF,VTTvoltages• Interface for ispVM System programming supportAlsoIncluded:• 5V/3A AC adapter with international wall plugs• ispDOWNLOAD Cable (HW-DL-3C or equivalent)图tticeECP2™高级评估板方框图图tticeECP2™高级评估板电路图:支持原型图tticeECP2™高级评估板电路图:USB 1.1和RS-232图tticeECP2™高级评估板电路图:编程,开关和LED 图tticeECP2™高级评估板电路图: SPI4.2 Rx图tticeECP2™高级评估板电路图: SPI4.2 Tx图tticeECP2™高级评估板电路图:LCD, CF, IT EMF和OSC图tticeECP2™高级评估板电路图:以太网图tticeECP2™高级评估板电路图: DDR2 SDRAM FPGA图tticeECP2™高级评估板电路图: DDR2 SDRAM SO-DIMM图tticeECP2™高级评估板电路图:FPGA电源引脚图tticeECP2™高级评估板电路图:电源1图tticeECP2™高级评估板电路图:电源2详情请见:/documents/rd1030.pdf和/documents/EB23.pdf。

ECP2中文资料(lattice)中文数据手册「EasyDatasheet - 矽搜」

ECP2中文资料(lattice)中文数据手册「EasyDatasheet - 矽搜」
频率合成和 时钟对齐
图 2-2.简 化 框 图 ,ECP2M20设 备 ( 顶 层 )
Flexible sysIO Buffers: LVCMOS, HSTL SSTL, LVDS Programmable Function Units (PFUs)
DSP Blocks Multiply & Accumulate Support
Configuration Logic, Including dual boot and encryption, and soft-error detection
sysMEM Block RAM 18kbit Dual Port
On-Chip Oscillator
建筑
ECP2 / M系列数据手册
灵活sysIO缓冲器: LVCMOS, HSTL, SSTL, LVDS和其他标准
2-1
DS1006 Architecture_01.9
芯片中文手册,看全文,戳
图 2-1.简 化 框 图 ,ECP2-6设 备 ( 顶 层 )
可编程 功能单位
(PFU就能)
sysDSP模块
乘法和 厚产品薄发支持
sysMEM块RAM 18kbit双端口
SYSCLOCKPLL和DLL
•数据速率250 Mbps至3.125 Gbps •多达16个通道,每个设备
PCI Express,以太网(1GbE,SGMII),OBSAI, CPRI和串行RapidIO.
■ sysDSP块
•3到42块高性能乘法和
产品累
•每个模块支持 -ห้องสมุดไป่ตู้一个36x36四个18X18或八个9X9乘法器
■ 灵活内存资源
芯片中文手册,看全文,戳

LATTICE开发板原理图测试代码软件使用以及中文资料3

LATTICE开发板原理图测试代码软件使用以及中文资料3

LatticeXP系列培训教程上海莱迪思半导体公司市场部2005 年 5月英文网址:中文网址:或LatticeXP系列器件的主要特性•非易失,无限次重构-瞬时上电,数毫秒-无外部配置存储器-很高的设计安全性,不能截取位流-用数毫秒重构基于SRAM的逻辑-通过系统配置和JTAG口对SRAM和非易失存储器编程-支持非易失存储器的后台编程•很高的密度并有多种封装•嵌入式和分布式存储器•灵活的I/O缓冲器•专用DDR存储器支持•系统时钟PLL•系统级的支持表1 LatticeXP系列产品选择指南产品简介LatticeXP系列FPGA在单一结构里组成了逻辑门、嵌入式存储器和I/O,器件是非易失的和能够无限次重新编程,它支持节省成本的系统设计。

LatticeXP系列中使用的重复编程、非易失技术是下一代ispXP技术。

采样这种技术,就不再需要昂贵的外部配置存储器,设计没有未经许可的读回风险。

借助莱迪思的ispLEVER®设计工具可以使LatticeXP系列高效地实现大型复杂设计。

ispLEVER设计工具提供支持LatticeXP的时尚逻辑综合工具的综合库。

ispLEVER工具采用综合工具的输出结果,并且配合其自己的floor planning 工具的约束条件,在LatticeXP器件中进行布局布线。

ispLEVER工具从布线中提取时序信息,并将它们反注到设计中来进行时序验证。

莱迪思还提供许多用于LatticeXP系列的预先设计的IP(Intellectual Property,知识产权)ispLeverCORE™模块。

采用这些IP标准模块,设计者可以将精力集中于自己设计中的特色部分,从而提高工作效率。

器件结构LatticeXP器件的中间是逻辑块阵列,器件的四周是可编程I/O单元(Program I/O Cell,简称PIC)。

在逻辑块的行之间分布着嵌入式RAM块(sysMEM Embedded Block RAM,简称EBR)。

lattices latticeECP2 FPGA方案

lattices latticeECP2 FPGA方案

Lattices LatticeECP2 FPGA方案关键词:FPGA, PLL, SERDES, PCS, DSP, PCI Express, Ethernet摘要: Lattices公司的LatticeECP2/M FPGA系列具有先进的DSP区块,高速SERDES和高速源同步接口. LatticeECP2/M FPGA包括了基于LUT的确逻辑电路,分布式和嵌入式存储器,PLL,锁延迟环(DLL),支持预工程的确源同步I/O,嵌入的sysDSP区块和先进的配置,包括双引导和加密功能.本文介绍了LatticeECP2/M FPGA系列的主要特性, ECP2-6的简化方框图和Slice方框图以及LatticeECP2/M评估板的主要特性,外形图和详细的电路图.Lattices公司的LatticeECP2/M FPGA系列具有先进的DSP区块,高速SERDES和高速源同步接口. LatticeECP2/M FPGA包括了基于LUT的确逻辑电路,分布式和嵌入式存储器,PLL,锁延迟环(DLL),支持预工程的确源同步I/O,嵌入的sysDSP区块和先进的配置,包括双引导和加密功能.本文介绍了LatticeECP2/M FPGA系列的主要特性, ECP2-6的简化方框图和Slice方框图以及LatticeECP2/M评估板的主要特性,外形图和详细的电路图.The LatticeECP2/M family of FPGA devices is optimized to deliver high performance features such as advanced DSP blocks, high speed SERDES (LatticeECP2M family only) and high speed source synchronous interfaces in an economical FPGA fabric. This combination was achieved through advances in device architecture and the use of 90nm technology.The LatticeECP2/M FPGA fabric is optimized with high performance and low cost in mind. The LatticeECP2/M devices include LUT-based logic, distributed and embedded memory, Phase Locked Loops (PLLs), Delay Locked Loops (DLLs), pre-engineered source synchronous I/O support, enhanced sysDSP blocks and advanced configuration support, including encryption (“S” versions only) and dual boot capabilities.The LatticeECP2M device family features high speed SERDES with PCS. These high jitter tolerance and low transmission jitter SERDES with PCS blocks can be configured to support an array of popular data protocols including PCI Express, Ethernet (1GbE and SGMII), OBSAI and CPRI. Transmit Pre-emphasis and Receive Equalization settings make SERDES suitable for chip to chip and small form factor backplane applications.The ispLEVER® design tool suite from Lattice allows large complex designs to be efficiently implemented using the LatticeECP2/M FPGA family. Synthesis library support for LatticeECP2/M is available for popular logic synthesis tools. The ispLEVER tool uses the synthesis tool output along with the constraints from its floor planning tools to place and route the design in the LatticeECP2/M device. The ispLEVER tool extracts the timing from the routing and back-annotates it into the design for timing verification.Lattice provides many pre-engineered IP (Intellectual Property) ispLeverCORE™ modules for the LatticeECP2/M family. By using these IP cores as standardized blocks, designers are free to concentrate on the unique aspects of their design, increasing their productivity。

可编程逻辑器件原理、开发与应用 第5章 Lattice新型可编程逻辑器件

可编程逻辑器件原理、开发与应用 第5章 Lattice新型可编程逻辑器件

OFX1 F1 Q1
至布线
CO
LUT4& F CARRY SUM
CI
LUT Expansion Mux
OFX0
D FF/ Latch
OFX0
F0 Q0
CE CLK LSR
去至/来自差分Slice/PFU
图5.4 Slice的内部逻辑示意图
第5章 Lattice新型可编程逻辑器件
MachXO系列器件中所有的I/O被分组管理。每个器件中I/O 组(Bank)的个数(八个、四个或两个)因其型号而异。各个I/O 组的I/O缓冲器的类型有所不同,且有着自己独立的VCCIO,可 以支持不同的I/O标准。此外,该系列器件还具有下列主要特 点:
(3) 具有灵活的LUT结构,包括256~2280个LUT4(4输入查 找表)、73~271个I/O,并且有多种支持密度移植的封装形式 可供选择。
第5章 Lattice新型可编程逻辑器件
(4) 具有嵌入及分布式存储器,包括高达27.6 Kb的 sysMEM嵌入式块RAM(EBR)、专用的FIFO控制逻辑以及高达 7.7 Kb的分布式RAM。具体地说,对于所有的MachXO系列器 件,其PFU块中的LUT可被配置成16×2位的单/双端口存储器, 构成分布式存储器;MachXO 1200、MachXO 2280带有9 Kb 的专用存储器块(即EBR),以存储大量数据。这些存储器块可 被配置成单端口、伪双端口或真双端口存储器,并且可被配 置成带有专用控制的FIFO,为用户逻辑节省逻辑资源。分布 式及EBR存储器均可在宽度、深度上级联以生成更大的存储 器。此外,通过在配置时预置这些存储器的内容,可以实现 ROM(即没有写入端口的RAM)。分布式存储器用于生成小容 量的数据缓冲区(常用于总线桥接、总线接口等应用)时非常理 想--与标准的寄存器实现相比,其资源利用率可以提高15倍。

LatticeXP2-17 DEMO 板说明书

LatticeXP2-17 DEMO 板说明书

LatticeXP2-17 DEMO 板说明书1. 九个发光二极管(LED )用于辅助调试,可以通过设置LED的点亮状态,直观显示运行结果。

z 电路连接z 管脚映射2. 按键输入四个轻触按键可用于触发信号输入,并可配合软件将其定义为复位信号等功能,以便于调试。

z 电路连接telÿ010-********phoneÿ139********mailÿ********************telÿ010-********phoneÿ139********mailÿ******************** z管脚映射3.数码管显示通过两片74HC244驱动4位共阳极数码管显示。

z电路连接z管脚映射4. 拨码开关拨码开关在简单的逻辑调试时,可用作状态输入,减少额外的硬件连接。

z 电路连接z 管脚映射5. 电源方案通过设定选择开关,可为LXP2-17的4组I/O 分别选择供电电压。

评估板提供了3.3V 和Vadj 可选。

通过调节可调电阻R402,可以将Vadj 设定为1.25V 至3.3V 之间的任意电压。

z 电路连接telÿ010-********phoneÿ139********mailÿ********************z 管脚映射6. RS-232 串口z 电路连接z 管脚映射telÿ010-********phoneÿ139********mailÿ********************7. JTAG 接口z 电路连接74HC244z 管脚映射8. VGA 接口z 电路连接z管脚映射9.以太网接口z电路连接telÿ010-********phoneÿ139********mailÿ******************** z管脚映射在使用中,Pin167 RXER管脚为输入脚。

Lattice的ISPlever使用教程

Lattice的ISPlever使用教程

Lattice的ISPlever使用教程Lattice的ISPlever使用教程ispLEVER使用教程目录第一节 ispLEVER 简介第二节 ispLEVER开发工具的原理图输入第三节设计的编译与仿真第四节硬件描述语言和原理图混合输入第五节 ispLEVER工具中VHDL和Verilog语言的设计方法第六节 ispVM System-在系统编程的软件平台第七节约束条件编辑器(Constraint Editor)的使用方法附录一 ispLEVER System上机实习题附录二 ispLEVER软件中文件名后缀及其含义第一节 ispLEVER 简介ispLEVER 是Lattice 公司最新推出的一套EDA软件。

设计输入可采用原理图、硬件描述语言、混合输入三种方式。

能对所设计的数字电子系统进行功能仿真和时序仿真。

编译器是此软件的核心,能进行逻辑优化,将逻辑映射到器件中去,自动完成布局与布线并生成编程所需要的熔丝图文件。

软件中的Constraints Editor工具允许经由一个图形用户接口选择I/O设置和引脚分配。

软件包含Synolicity公司的“Synplify”综合工具和Lattice 的ispVM器件编程工具。

ispLEVER软件提供给开发者一个简单而有力的工具,用于设计所有Lattice可编程逻辑产品。

软件支持所有Lattice公司的ispLSI 、MACH、ispGDX、ispGAL、GAL器件。

ispLEVER工具套件还支持Lattice新的ispXPGATM和ispXPLDTM产品系列,并集成了Lattice ORCA Foundry设计工具的特点和功能。

这使得ispLEVER的用户能够设计新的ispXPGA和ispXPLD产品系列,ORCA FPGA/FPSC系列和所有Lattice的业界领先的CPLD 产品而不必学习新的设计工具。

软件主要特征:1. 输入方式* 原理图输入* ABEL-HDL输入* VHDL输入* Verilog-HDL输入* 原理图和硬件描述语言混合输入2. 逻辑模拟* 功能模拟* 时序模拟3. 编译器* 结构综合、映射、自动布局和布线4. 支持的器件* 含有支持ispLSI器件的宏库及MACH器件的宏库、TTL库* 支持所有ispLSI、MACH、ispGDX、ispGAL、GAL、ORCA FPGA/FPSC、ispXPGA和ispXPLD 器件5. Constraints Editor工具* I/O参数设置和引脚分配6. ispVM工具* 对ISP器件进行编程软件支持的计算机平台:PC: Windows 98/NT/2000/XP第二节 ispLEVER开发工具的原理图输入I. 启动ispLEVER(按Start=>Programs=>Lattice Semiconductor=>ispLEVER Project Navigator)II. 创建一个新的设计项目A. 选择菜单File。

利用LatticeXP评估板使用LatticeMico8微控制器

利用LatticeXP评估板使用LatticeMico8微控制器

Usin g the LatticeMico8 Microcontrollerwith the LatticeXP Evaluation BoardJuly 2007Technical Note TN1095 IntroductionThe LatticeMico8™ is a flexible 8-bit microcontroller optimized for Lattice's leading edge families. This document describes the operation and use of a demonstration program for the LatticeMico8 on the LatticeXP™ Standard and Advanced Evaluation Boards. The program can demonstrate Fibonacci number or Up/Down counters. Along with the ability to send interrupts, the user can also control and monitor the board via an ORCAstra-style interface. Figure 1. Block Diagram of LatticeMico8 Test ProgramThe following are the steps required to run the LatticeMico8 microcontroller core on the LatticeXP Evaluation Board:1.Convert the assembly file (isp8_demo.s) to a ROM initialization file2.Synthesize the Verilog source codes3.Functional and timing simulatione ispLEVER® for generating JEDEC5.Set up the board6.Program the board using ispVM®7.Control and monitor the board from ORCAstraNote: This demo requires the user to download and unzip the following files from Lattice web site:•LatticeMico8.zip•LatticeMico8_T ools.zip•MatticeMico8_Demo.zip© 2007 Lattice Semiconductor Corp. All Lattice trademarks, registered trademarks, patents, and disclaimers are as listed at /legal. All other brandUsin g the LatticeMico8 Microcontroller Lattice Semiconductor with the LatticeXP Evaluation Board Step 1: Convertin g the Assembly File to a ROM Initialization fileFollow the instructions below to convert the assembly file.•Copy all the files in the directory LatticeMico8_Tools to directoryC:\<your_directory>\LatticeMico8_Demo\test•Open a DOS command window•Change the directory to C:\<your_directory>\LatticeMico8_Demo\test•In the command line, type: isp8asm_win -o prom_init.v -l -ve ..\asm\isp8_demo.s• A new ROM initialization file (prom_init.v) is generatedStep 2: Synthesizin g the Verilo g Source CodesAfter obtaining the prom_init.v file, the next step is to synthesize the Verilog source codes. The file name for the memory initialization file remains unchanged as prom_init.v since the file isp8.v will call the prom_init.v directly.•Open Synplify Synthesis•Add these files in the following order:~/LatticeMico8/ver2.4/models/xp/sim/dpram32x8.v~/LatticeMico8/ver2.4/models/xp/sim/prom.v~/LatticeMico8/ver2.4/models/xp/sim/spram32x8.v~/LatticeMico8/ver2.4/models/xp/sim/spram16x8.v~/LatticeMico8/ver2.4/models/xp/sim/spram16x9.v~/LatticeMico8/ver2.4/models/xp/syn/xp.v~/LatticeMico8/source/isp8.v~/LatticeMico8_Demo/source/test_register/test_register.v~/LatticeMico8_Demo/source/orcastra_inf/orcastra_inf.v~/LatticeMico8_Demo/source/led_decoder/led_decoder.v~/LatticeMico8_Demo/source/light_maker/light_maker.v~/LatticeMico8_Demo/source/top/isp8_top_system.v•Add the following source directory in the Include path:~/LatticeMico8_Demo/source/config3~/LatticeMico8_Demo/test•In the Implementation Options dialog box set the following options under Device tab:–Lattice T echnology = LATTICE XP–Part = LFXP10C–Speed = -5–Package = F256C (Standard Board) / F388C (Advanced Board)•Click RunNote: The above procedure is for synthesizing LatticeMico8 and the demo source codes. Users can synthesize LatticeMico8 (isp8.v) by itself from the LatticeMico8 directory by using the Tcl script located in the Synthesis direc-tory. Before using this Tcl script, please modify the PROJP A TH variable in the Tcl script to resemble the current project directory.Step 3: Functional and Timin g Simulation•Open ModelSim Simulator•From the menu bar, select File -> Chan g e Directory, and set the folder to ~/LatticeMico8_Demo/simula-tionUsin g the LatticeMico8 Microcontroller Lattice Semiconductor with the LatticeXP Evaluation Board •For functional simulation, from the menu bar, select Tools -> TCL -> Execute Macro, click on the Script direc-tory and select demo_func_sim.do•For timing simulation, the .vo and .sdf files must already be generated by ispLEVER Project Navigator and located at ~/LatticeMico8_Demo/par/top. From the menu bar, select Tools -> TCL -> Execute Macro, click on the Script directory and select demo_time_sim.do.Note: The demo_time_sim.do may need to be modified to match the .vo and .sdf file names.Step 4: Usin g ispLEVER for Generatin g JEDEC•Open ispLEVER Project Navigator•T o set the target device, in the Device Selector dialog box, select the following:–Family = LatticeXP–Device = LFXP10C or LFXP10E–Speed Grace = -5–Package T ype = FPBGA256 (Standard Board) / FPBGA388 (Advanced Board)–Operating Conditions = Commercial•From the Project Navigator, double click on Pre-Map Preference Editor to set the pin types and pin locations Table 1. Pin Assignment for LatticeXP Advanced & Standard BoardsSi g nal NamePin LocationI/O Type Standard Board Advanced Boardtst_sys_clk A7A10LVCMOS33 reset_n L12H3LVCMOS33 light_on_0D5H1LVCMOS33 light_on_1A3B16LVCMOS33 light_on_2B3B18LVCMOS33 light_on_3B2C18LVCMOS33 light_on_4A2C19LVCMOS33 light_on_5B1C20LVCMOS33 light_on_6F5W16LVCMOS33 light_on_7C5A16LVCMOS33 led_out_0J14D2LVCMOS33 led_out_1K16F3LVCMOS33 led_out_2K15F1LVCMOS33 led_out_3L14E2LVCMOS33 led_out_4L13E1LVCMOS33 led_out_5K13D1LVCMOS33 led_out_6N16F2LVCMOS33 pc_err H16B4LVCMOS33 pc_retry H12C4LVCMOS33 pc_ack F13A18LVCMOS33 pc_dataout G14C3LVCMOS33 pc_clk C15A3LVCMOS33 pc_ready F16B3LVCMOS33 pc_datain E14A2LVCMOS33 pc_reset C16A4LVCMOS33Usin g the LatticeMico 8 Microcontroller Lattice Semiconductorwith the LatticeXP Evaluation Board•Double click on Generate Timin g Simulation Files . This process will generate .vo and .sdf files that can be used for timing simulation•Double click on Generate Data File (JEDEC) to get the .jed file that will be used later with ispVM System to pro-gram the evaluation boardStep 5: Settin g up the BoardFor the LatticeXP Standard Evaluation Board:•Set the VCCIO pins of all banks of eight jumpers (JP1, JP2, JP12, JP11, JP13, JP14, JP10, and JP3) to 3.3V •The VCC core is set and defaulted to 1.2 V . Don’t change the setting of the VCC core, but keep it as its original setting at 1.2V•Use a 1.2 power supply and a 3.3V power supply that can provide adequate current to the board •T o interface with ORCAstra software, connect the parallel port pins as mentioned in T able 2Note: Unlike the LatticeXP Advanced Board, the Standard board does not have seven-segment display on the board. However, user can easily get a regular seven-segment display such as HDSP7501 and connect it with the pins mentioned in T able 1.For the LatticeXP Advanced Evaluation Board:•Set the V CCIO pins of all banks to 3.3 V by putting all eight jumpers J2-J4 to J1•Use a 5V power supply that can provide adequate current to the board•T o interface with ORCAstra software, connect the following parallel port pins to the board pins Table 2. ORCAstra Interface ConnectionsStep 6: Pro g rammin g the Board Usin g ispVM SystemThe following are the steps for programming the LatticeXP Evaluation Board:•Connect your PC to the target board using a Lattice ispDOWNLOAD ® Cable •Launch ispVM System software •Click File -> New •Click Edit -> Add DeviceParallel Port PinsSi g nal Name DirectionBoard/Pin LocationsStandard BoardAdvanced Board2(tied to 15) 6 PC_Data_InPC Out E14A27PC_Clk PC Out C15A38PC_Reset PC Out C16A49PC_Ready PC Out F16B310PC_Err PC In H16B411PC_Data_Out PC In G14C312PC_Retry PC In H12C413PC_Ack PC In F13A1815(tied to 2)———18-25GND———•Click Select and select LatticeXP-ES for Device Family, LFXP10E_ES for Device, 256_ball fpBGA (Standard board) / 388_ball fpBGA (Advanced board) for Package and then click OK•Click Browse under the Data File field and point to the JEDEC file previously created by the ispLEVER Project Navigator•Highlight Flash Pro g rammin g Mode from the Device Access Options field selection list•Highlight FLASH Erase, Pro g ram, Verify from the Operation field selection list•Click on the OK button•Click GO to program to LatticeXP deviceStep 7: Controllin g and Monitorin g the Evaluation Board from ORCAstraWith ORCAstra, users can control and monitor the evaluation board by writing and reading the registers in the test_register module inside the LatticeXP device.Download the latest ORCAstra software from the Lattice web site at the following address:/products/designsoftware/orcastra.cfm.After downloading ORCAstra, follow these steps to set it up with the board environment:•Launch ORCAstra•On menu bar, click on Device and select Zero No Device•In the same menu bar, click on Interface and select FPGA User Master via Parallel Port•From the menu bar, click on LPT:Port and select 2 0x378Figure 2. ORCAstra System Bus Control GUIThe demo files also come with an additional GUI specially created to support LatticeMico8. This GUI enables users to view the value of all the 32 registers together by clicking on the Read All Re g isters button.T o open the LatticeMico8 GUI from ORCAstra software (v112 or later):•From the menu bar, select Custom Pro g rammability --> Visual Window• A new smaller window will appear titled Custom Visual Interface•Select File --> Open from its menu bar•Browse and select isp 8_g ui.vis file located in LatticeMico8_Demo/gui directory A new window with LatticeMico8 logo will appear.Figure 3. LatticeMico8 GUI Derived From ORCAstraThe assembly file that was converted to a ROM initialization file in Step 1 contains a program that will determine the Fibonacci number and the Up/down counter based on the command that is given from ORCAstra.T able 3 lists the addresses and data that are accepted by the program based on the assembly code (isp8_demo.s).Table 3. List of Demo CommandsThe program will act accordingly based on the address and data written by the user from ORCAstra. For example,by typing Adrs = 00003 and Data = 11 in the ORCAstra GUI and pressing the WR button, the Fibonacci function will be run. The program will generate the first 12 Fibonacci numbers and store the results in Register 0 through Register 12. The value of one of these registers can be read by typing its address. For example, to read Register 0,type 00020 in the Adrs field and press the Rd button. The value will be shown in the Data field.Adrs (Address)Data Type of FunctionSpeed 0000311Fibonacci 1 (Very Slow)0000312Fibonacci 2 (Slow)0000313Fibonacci 3 (Medium)0000314Fibonacci 4 (Fast)0000321Up/Down Counter 1 (Very Slow)0000322Up/Down Counter 2 (Slow)0000323Up/Down Counter 3 (Medium)0000324Up/Down Counter 4 (Fast)0000201Sending Interrupt—Below is the list of registers and their corresponding addresses.Re g ister Name Re g0Re g1Re g2Re g3Re g4Re g5Re g6Re g7Address (hex)0002000021000220002300024000250002600027Re g ister Name Re g8Re g9Re g10Re g11Re g12Re g13Re g14Re g15Address (hex)00028000290002a0002b0002c0002d0002e0002fRe g ister Name Re g16Re g17Re g18Re g19Re g20Re g21Re g22Re g23Address (hex)0003000031000320003300034000350003600037Re g ister Name Re g24Re g25Re g26Re g27Re g28Re g29Re g30Re g31Address (hex)00038000390003a0003b0003c0003d0003e0003fTechnical Support AssistanceHotline:1-800-LA TTICE (North America)+1-503-268-8001 (Outside North America)e-mail:techsupport@Internet:Revision HistoryDate Version Chan g e SummaryJuly 200501.0Initial release.August 200601.2Updated to include LatticeXP Standard Evaluation Board.July 200701.3Updated block diagram (changed pc_data_in signal to read pc_datain).Updated file names in Step 2: Synthesizing theVerilog Source Codes.Clarified some of the menu selections in Step 3: Functional and TimingSimulation.Updated information on how to download ORCAstra software in Step 7:Controlling and Monitoring the Evaluation Board from ORCAstra.。

Lattice Reveal逻辑分析仪使用指南

Lattice Reveal逻辑分析仪使用指南

Reveal 逻辑分析仪使用指南在Lattice的PLD开发平台的最新版本ISPLEVER7.0中新增加了一个成员,就是Reveal Logic Analyzer。

其最大的特点就是使用的步骤更为简单,更加的人性化。

目前Reveal逻辑分析仪支持的器件有LatticeECP/EC, LatticeXP, LatticeXP2,LatticeECP2, LatticeECP2S, LatticeECP2M, LatticeECP2MS, LatticeSC, and LatticeSCM。

使用Reveal逻辑分析仪之前先要插入一个逻辑分析仪的CORE到您的FPGA中,用于检测触发条件,存储数据等等。

下面这个流程做一个说明:1.首先就是建立一个工程,添加VHDL或者是VERILOG代码(对于RTL设计流程),或者EDIF网表(对于EDIF网表设计来说);2.点击ISPLEVER工具栏上的Reveal Inserter按钮,启动逻辑分析仪的插入。

图中鼠标所指位置。

3.新建或者是打开一个已经做好的reveal工程;在datasets下面可以建立多个CORE,每个CORE的内容可以不一样,最多16个CORE。

在SMAPLE CLOCK中加入您要作为采样时钟的时钟信号。

采样时钟也是可以不一样的,这就允许多时钟域的调试。

数据采样模式可以是单次,也可以是多次,取决于需要。

设置好测样的深度以及是否要包含触发信号。

加入需要作为触发的信号,或者是要观察的信号,设置好条件。

最多支持256个触发条件,操作类型支持==, !=, >=, >, <, =<, rising edge, falling edge, serial compare。

可以在左边的信号节点列表直接拖拽到触发单元列表中。

在触发单元中有一个radix,就是数的进制,其中有一个token类型,这是一个自定义的类型,可以自己编辑使用来观察状态机的。

ispLEVER 的下载、安装和License

ispLEVER 的下载、安装和License

ispLEVER Starter的下载、安装和License本书的说明内容多数是基于ispLEVER的。

安装ispLEVER需要从Lattice或者其代理商处获取软件安装文件和License文件。

对于一些用户,可以从Lattice网站上下载ispLEVER Starter安装文件,安装ispLEVER Starter 并运行书中提到的一些例子。

ispLEVER Starter可以理解为是ispLEVER的一个简化版本,支持的器件系列比ispLEVER少。

由于ispLEVER Starter无法支持ECP2M、ECP3等器件系列,所以如果读者是安装ispLEVER Starter来配合本书的学习,那么在一些实例的操作中,需要注意一些实例工程要选择XP2器件或者ECP2器件,并且这样会导致有些模块(比如IP)和软件操作会存在轻微的差异。

一、ispLEVER软件说明表1列出了Lattice提供的各种软件,可以支持的器件系列以及是否需要付费等信息。

表1 Lattice软件系列二、ispLEVER Starter的下载/products/designsoftware/isplever/ispleverstarter/index.cfm在该网页中给出了ispLEVER Starter的下载、安装和License获取的简单说明。

如图1所示,在页面中点击,提交软件下载申请。

图1 ispLEVER Starter下载页面示意软件下载前,Lattice网站需要确定用户必须是Lattice网站的注册用户,并且正确登录,否则不允许进行软件的下载。

如图2所示,用户在区域用注册的用户账号和密码登录;对于还没有注册的用户,可以在区域用自己的信箱地址注册成为Lattice网站注册用户,然后再登录。

图2 Lattice网站注册用户登录界面完成用户登录后,网页切换到协议许可页面,如图3所示。

图3 协议许可页面在协议许可页面,选择两个选项,然后单击按钮,根据用户设置,弹出文件下载的确认窗口,如图4所示。

LATTICE DIAMOND 软件使用说明

LATTICE DIAMOND 软件使用说明

Lattice Diamond TutorialJune 2012CopyrightCopyright © 2012 Lattice Semiconductor Corporation.This document may not, in whole or part, be copied, photocopied, reproduced,translated, or reduced to any electronic medium or machine-readable form withoutprior written consent from Lattice Semiconductor Corporation.TrademarksLattice Semiconductor Corporation, L Lattice Semiconductor Corporation (logo), L (stylized), L (design), Lattice (design), LSC, CleanClock, Custom Movile Device, DiePlus, E2CMOS, Extreme Performance, FlashBAK, FlexiClock, flexiFLASH, flexiMAC, flexiPCS, FreedomChip, GAL, GDX, Generic Array Logic, HDL Explorer, iCE Dice, iCE40, iCE65, iCEcable, iCEchip, iCEcube, iCEcube2, iCEman, iCEprog, i CEsab, iCEsocket, IPexpress, ISP, ispATE, ispClock, ispDOWNLOAD, ispGAL,i spGDS, ispGDX, ispGDX2, ispGDXV, ispGENERATOR, ispJTAG, ispLEVER,i spLeverCORE, ispLSI, ispMACH, ispPAC, ispTRACY, ispTURBO, ispVIRTUALM ACHINE, ispVM, ispXP, ispXPGA, ispXPLD, Lattice Diamond, LatticeCORE,L atticeEC, LatticeECP, LatticeECP-DSP, LatticeECP2, LatticeECP2M, LatticeECP3, L atticeECP4, LatticeMico, LatticeMico8, LatticeMico32, LatticeSC, LatticeSCM,L atticeXP, LatticeXP2, MACH, MachXO, MachXO2, MACO, mobileFPGA, ORCA,P AC, PAC-Designer, PAL, Performance Analyst, Platform Manager, ProcessorPM,P URESPEED, Reveal, SiliconBlue, Silicon Forest, Speedlocked, Speed Locking,S uperBIG, SuperCOOL, SuperFAST, SuperWIDE, sysCLOCK, sysCONFIG, sysDSP, s ysHSI, sysI/O, sysMEM, The Simple Machine for Complex Design, TraceID,T ransFR, UltraMOS, and specific product designations are either registeredt rademarks or trademarks of Lattice Semiconductor Corporation or its subsidiaries in t he United States and/or other countries. ISP, Bringing the Best Together, and More of t he Best are service marks of Lattice Semiconductor Corporation.Other product names used in this publication are for identification purposes only andm ay be trademarks of their respective companies.DisclaimersN O WARRANTIES: THE INFORMATION PROVIDED IN THIS DOCUMENT IS “AS IS”W ITHOUT ANY EXPRESS OR IMPLIED WARRANTY OF ANY KIND INCLUDING WARRANTIES OF ACCURACY, COMPLETENESS, MERCHANTABILITY, NONINFRINGEMENT OF INTELLECTUAL PROPERTY, OR FITNESS FOR ANYP ARTICULAR PURPOSE. IN NO EVENT WILL LATTICE SEMICONDUCTORC ORPORATION (LSC) OR ITS SUPPLIERS BE LIABLE FOR ANY DAMAGESW HATSOEVER (WHETHER DIRECT, INDIRECT, SPECIAL, INCIDENTAL, ORC ONSEQUENTIAL, INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF P ROFITS, BUSINESS INTERRUPTION, OR LOSS OF INFORMATION) ARISINGO UT OF THE USE OF OR INABILITY TO USE THE INFORMATION PROVIDED IN T HIS DOCUMENT, EVEN IF LSC HAS BEEN ADVISED OF THE POSSIBILITY OF S UCH DAMAGES. BECAUSE SOME JURISDICTIONS PROHIBIT THE EXCLUSION O R LIMITATION OF CERTAIN LIABILITY, SOME OF THE ABOVE LIMITATIONS MAY N OT APPLY TO YOU.L SC may make changes to these materials, specifications, or information, or to theherein or to advise any user of this document of any correction if such be made. LSCrecommends its customers obtain the latest version of the relevant information toestablish, before ordering, that the information being relied upon is current.ii Lattice Diamond TutorialType Conventions Used in This Document Convention Meaning or UseBold Items in the user interface that you select or click. Text that you type into the user interface.<Italic>Variables in commands, code syntax, and path names.Ctrl+L Press the two keys at the same time.Courier Code examples. Messages, reports, and prompts from the software. ... Omitted material in a line of code.Omitted lines in code and report examples....[ ] Optional items in syntax descriptions. In bus specifications, the brackets are required.( ) Grouped items in syntax descriptions.{ } Repeatable items in syntax descriptions.| A choice between items in syntax descriptions.ContentsLattice Diamond Tutorial 1Learning Objectives 1Time to Complete This Tutorial 2System Requirements 2Accessing Online Help 2About the Tutorial Design 2About the Tutorial Data Flow 2Task 1: Create a New Project 4Task 2: Running Analysis Tools 8Task 3: Inspect Strategy Settings 10Task 4: Examine Resources 11Task 5: Set Timing and Location Assignments 13Task 6: Running Place and Route 17Task 7: Examine Post Place and Route Results 18Task 8: Adjust Static Timing Constraints and Review Results 20 Task 9: Comparing Multiple Place and Route Runs 21Task 10: Running Export Utility Programs 23Task 11: Download a Bitstream to an FPGA 24Task 12: Convert a File Using Deployment Tool 26。

modelsim编译库步骤-详细

modelsim编译库步骤-详细

Modelsim编译库步骤本文讲述了modelsim编译库文件的步骤,以编译Lattice家的库为例。

1、首先新建一个文件夹,之后编译的库就放在该文件夹中,位置可以任意,我建的文件为E:\Software\Modelsim\FPGA_Lib2、打开modelsim软件,点击File->Change Directory,然后在对话框中指定到刚才新建的文件夹。

3、点击File—>New-〉Library,由于我要编译的是XP2系列器件的库,所以取个便于识别的库名字Lattice_XP2,填写到Library Name框中,Library Physical Name对话框里会自动改成和Library Name一样,无需再改了。

Create里默认选择a new library and a logical mapping to it。

4、点击Compile->Compile,出现Compile Source Files对话框.在Library选择框中,选择我们刚才新建的库名字Lattice_XP2,意思是之后编译的库文件就属于这个库的了.接下来是查找范围选择框,这里选择的是要编译的库的原文件,在安装了器件厂家的开发软件之后,在安装的目录下有这些原文件,我安装的Diamond 3。

4,Lattice家的库原文件在…cae_library\simulation下,如果你用的编程语言是verilog,就进到verilog目录下,用VHDL的就进vhdl目录下,我用verilog语言,进到verilog目录下,该目录下有很多系列器件的库原文件,由于我编译的是XP2系列的库,再进入到xp2里面,可以看见该目录下有很多的。

v文件,随便点击一个.v文件,然后Ctrl+A把所有。

v文件选上,点击Compile 就开始编译了。

.v文件比较多的话时间会稍微比较长,编译结束后,在Compile Source Files 对话框点击Done就OK了。

LatticeXP2低成本非易失FPGA

LatticeXP2低成本非易失FPGA

LatticeXP2 低成本非易失FPGA
LatTIceXP2 器件将基于FPGA 结构的查找表(LUT)与闪存非易失单元组合在一个被称为flexiFLASH 的架构中。

flexiFLASH 方式提供了许多优点,诸如:瞬时上电、小的芯片面积、采用FlashBAK 嵌入式存储器块的片
上存储器、串行TAG 存储器和设计安全性等。

该器件还支持采用TransFR 的现场更新、128 位的AES 加密以及双引导技术。

LatTIceXP2 FPGA 结构采用了LatTIceECP2 的基本架构,以高性能和低成本为出发点进行了优化。

LatTIceXP2 器件包括了基于查找表的逻辑、分布式和嵌入式的存储器、锁相环(PLL)、工程预制的源同步I/O 以及增强的sysDSP 块。

主要特性
针对低成本、非易失应用,经优化的FPGA 架构
针对大批量、低成本应用而优化的特性集
低成本的csBGA、TQFP、PQFP 和BGA 封装。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

LatticeXP2 High-Speed I/O InterfaceJune 2010Technical Note TN1138 IntroductionLatticeXP2™ devices support Double Data Rate (DDR) and Single Data Rate (SDR) interfaces using the logic built into the Programmable I/O (PIO). SDR applications capture data on one edge of a clock while the DDR interfaces capture data on both the rising and falling edges of the clock, thus doubling performance. The LatticeXP2 I/Os also have dedicated circuitry to support DDR and DDR2 SDRAM memory interfaces. This technical note details the use of LatticeXP2 devices to implement both a high-speed generic DDR interface and DDR and DDR2 memory inter-faces.DDR and DDR2 SDRAM Interfaces OverviewA DDR SDRAM interface will transfer data at both the rising and falling edges of the clock. The DDR2 is the second generation of the DDR SRDRAM memory.The DDR and DDR2 SDRAM interfaces rely on the use of a data strobe signal, called DQS, for high-speed opera-tion. The DDR SDRAM interface uses a single-ended DQS strobe signal, whereas the DDR2 interface uses a dif-ferential DQS strobe. Figures 11-1 and 11-2 show typical DDR and DDR2 SDRAM interface signals. SDRAM interfaces are typically implemented with eight DQ data bits per DQS. An x16 interface will use two DQS signals and each DQS is associated with eight DQ bits. Both the DQ and DQS are bi-directional ports used to both read and write to the memory.When reading data from the external memory device, data coming into the device is edge-aligned with respect to the DQS signal. This DQS strobe signal needs to be phase-shifted 90 degrees before FPGA logic can sample the read data. When writing to a DDR/DDR2 SDRAM, the memory controller (FPGA) must shift the DQS by 90 degrees to center-align with the data signals (DQ). A clock signal is also provided to the memory. This clock is pro-vided as a differential clock (CLKP and CLKN) to minimize duty cycle variations. The memory also uses these clock signals to generate the DQS signal during a read via a DLL inside the memory. Figures 11-3 and 11-4 show DQ and DQS timing relationships for read and write cycles. For other detailed timing requirements, please refer to the DDR SDRAM JEDEC specification (JESD79C).During read, the DQS signal is LOW for some duration after it comes out of tristate. This state is called Preamble. The state when the DQS is LOW before it goes into Tristate is the Postamble state. This is the state after the last valid data transition.DDR SDRAM also requires a Data Mask (DM) signal to mask data bits during write cycles. Note that the ratio of DQS to data bits is independent of the overall width of the memory. An 8-bit interface will have one strobe signal. DDR SDRAM interfaces use the SSTL25 Class I/II I/O standards whereas the DDR2 SDRAM interface uses the SSTL18 Class I/II I/O standards. The DDR2 SDRAM interface also supports differential DQS (DQS and DQS#).© 2010 Lattice Semiconductor Corp. All Lattice trademarks, registered trademarks, patents, and disclaimers are as listed at /legal. All other brand or product names are trademarks or registered trademarks of their respective holders. The specifications and information herein are subject to change without notice.Figure 11-1. Typical DDR SDRAM InterfaceFigure 11-2. Typical DDR2 SDRAM InterfaceThe following two figures show the DQ and DQS relationship for memory read and write interfaces. Figure 11-3. DQ-DQS During READFigure 11-4. DQ-DQS During WRITEImplementing DDR Memory Interfaces with LatticeXP2 DevicesAs described in the DDRSDRAM overview section, the DDR SDRAM interfaces rely primarily on the use of a data strobe signal called DQS for high-speed operation. When reading data from the external memory device, data coming into the LatticeXP2 device is edge-aligned with respect to the DQS signal. Therefore, the LatticeXP2 device needs to shift the DQS (a 90-degree phase shift) before using it to sample the read data. When writing to a DDR SDRAM, the memory controller from the LatticeXP2 device must generate a DQS signal that is center-aligned with the DQ, the data signals. This is accomplished by ensuring the DQS strobe is 90 degrees ahead relative to DQ data.LatticeXP2 devices have dedicated DQS support circuitry for generating the appropriate phase shifting for DQS. The DQS phase shift circuit uses a frequency reference DLL to generate delay control signals associated with each of the dedicated DQS pins and is designed to compensate for process, voltage and temperature (PVT) variations. The frequency reference is provided through one of the global clock pins.The dedicated DDR support circuit is also designed to provide comfortable and consistent margins for data sam-pling window.This section describes how to implement the read and write sections of a DDR memory interface. It also provides details of the DQ and DQS grouping rules associated with the LatticeXP2 devices.DQS GroupingEach DQS group generally consists of at least 10 I/Os (one DQS, eight DQ and one DM) to implement a complete 8-bit DDR memory interface. LatticeXP2 devices support DQS signals on all sides of the device. Each DQS signal on the top and bottom halves of the device will span across 18 I/Os and on the left and right sides of the device will span across 16 I/Os. Any 10 of these I/Os spanned by the DQS can be used to implement an 8-bit DDR memory interface. In addition to the DQS grouping, the user must also assign one reference voltage VREF1 for a given I/O bank.Figure 11-5. DQ-DQS GroupingFigure 11-5 shows a typical DQ-DQS group for LatticeXP2 devices. The ninth I/O of this group of 16 or 18 I/Os is the dedicated DQS pin. The 8 pads before of the DQS and 6/9 (6 for left and right side and 9 for top and bottom side) pads after the DQS are covered by the DQS bus span. Users can assign any eight of these I/O pads to be DQ data pins. Hence, to implement a 32-bit wide memory interface you would need to use four such DQ-DQS groups.When not interfacing with the memory, the dedicated DQS pin can be used as a general purpose I/O. Each of the dedicated DQS pin is internally connected to the DQS phase shift circuitry. The pinout information contained in the LatticeXP2 Family Data Sheet shows pin locations for the DQS pads.DDR Software PrimitivesThis section describes the software primitives that can be used to implement DDR interfaces. These primitives include:•DQSDLL – The DQS delay calibration DLL•DQSBUFC – The DQS delay function and the clock polarity selection logic•IDDRMX1A – The DDR input and DQS to system clock transfer registers with half clock cycle transfer •IDDRMFX1A – The DDR input and DQS to system clock transfer registers with full clock cycle transfer •ODDRMXA – The DDR output registersHDL usage examples for each of these primitives are listed in Appendices A and B.DQSDLLThe DQSDLL generates a 90-degree phase shift required for the DQS signal. This primitive implements the on-chip DQSDLL. Only one DQSDLL should be instantiated for all the DDR implementations on one half of the device. The clock input to this DLL should be at the same frequency as the DDR interface. The DLL generates the delay based on this clock frequency and the update control input to this block. The DLL updates the dynamic delay con-trol to the DQS delay block when this update control (UDDCNTL) input is asserted. Figure 11-6 shows the primitive symbol. The active low signal on UDDCNTL updates the DQS phase alignment and should be initiated at the beginning of READ cycles.Figure 11-6. DQSDLL SymbolTable 11-1 provides a description of the ports. Table 11-1. DQSDLL PortsDQSDLL Update Control: The DQS Delay can be updated for PVT variation using the UDDCNTL input. The DQSDEL is updated when the when the UDDCNTL is held LOW. The DQSDEL can be updated when variations are expected. DQSDEL can be updated anytime, except when the memory controller is receiving data from the memory.Port Name I/O DescriptionCLK I System CLK should be at the frequency of the DDR interface from the FPGA core.RST I Resets the DQSDLLUDDCNTL I Provides update signal to the DLL that will update the dynamic delay.LOCK O Indicates when the DLL is in phase.DQSDELOThe digital delay generated by the DLL, should be connected to the DQSBUF primitive.DQSDLL Configuration: By default, this DLL will generate a 90-degree phase shift for the DQS strobe based on the frequency of the input reference clock to the DLL. The user can control the sensitivity to jitter by using the LOCK_SENSITIVITY attribute. This configuration bit can be programmed to be either “HIGH” or “LOW”.The DLL Lock Detect circuit has two modes of operation controlled by the LOCK_SENSITIVITY bit, which selects more or less sensitivity to jitter. If this DLL is operated at or above 150 MH z, it is recommended that the LOCK_SENSITIVITY bit be programmed “HIGH” (more sensitive). When running at or below 100 MHz, it is recom-mended that the bit be programmed “LOW” (more tolerant). For 133 MH z, the LOCK_SENSITIVITY bit can go either way.DQSBUFCThis primitive implements the DQS delay and the DQS transition detector logic. Figure 11-7 shows the primitive symbol.Figure 11-7. DQSBUFC SymbolThe DQSBUFC is composed of the DQS Delay, the DQS Transition Detect and the DQSXFER block as shown in Figure 11-8. This block inputs the DQS and delays it by 90 degrees. It also generates the DDR Clock Polarity and the DQSXFER signal. The preamble detect (PRMBDET) signal is generated from the DQSI input using a voltage divider circuit.Figure 11-8. DQSBUFC FunctionDQS Delay Block: The DQS Delay block receives the digital control delay line (DQSDEL) coming from one of the two DQSDLL blocks. These control signals are used to delay the DQSI by 90 degrees. DQSO is the delayed DQS and is connected to the clock input of the first set of DDR registers.DQS Transition Detect: The DQS T ransition Detect block generates the DDR Clock Polarity signal based on the phase of the FPGA clock at the first DQS transition. The DDR READ control signal and FPGA CLK inputs to this coming and should be coming from the FPGA core.DQSXFER: This block generates the 90-degree phase shifted clock to for the DDR Write interface. The input to this block is the XCLK. The user can choose to connect this either to the edge clock or the FPGA clocks. The DQSXFER is routed using the DQSXFER tree to all the I/Os spanned by that DQS.Data Valid Module: The data valid module generates a DAT AVALID signal. This signal indicates to the FPGA that valid data is transmitted out of the input DDR registers to the FPGA core.Table 11-2 provides a description of the I/O ports associated with the DQSBUFC primitive.Table 11-2. DQSBUFC PortsPort Name I/O DescriptionDQSI I DQS Strobe signal from memoryCLK I System CLKREAD I Read generated from the FPGA coreDQSDEL I DQS Delay from the DQSDLL primitiveXCLK I Edge Clock or System CLKDQSO O Delayed DQS Strobe signal, to the input capture register blockDQSC O DQS Strobe signal before delay, going to the FPGA core logicDDRCLKPOL O DDR Clock Polarity signalPRMBDET O Preamble detect signal, going to the FPGA core logicDQSXFER O90 degree shifted clock going to the Output DDR register BlockDA T AVALID O Signal indicating transmission of Valid data to the FPGA coreREAD Pulse GenerationThe READ signal to the DQSBUFC block is internally generated in the FPGA core. The READ signal goes high when the READ command to control the DDR-SDRAM is initially asserted. This precedes the DQS preamble by one cycle, yet may overlap the trailing bits of a prior read cycle. The DQS Detect circuitry of the LatticeXP2 device requires the falling edge of the READ signal to be placed within the preamble stage.The preamble state of the DQS can be detected using the CAS latency and the round trip delay for the signals between the FPGA and the memory device. Note that the internal FPGA core generates the READ pulse. The rise of the READ pulse should coincide with the initial READ command of the Read Burst and need to go low before the Preamble goes high.Figure 11-9 shows a READ Pulse timing example with respect to the PRMBDET signal.Figure 11-9. READ Pulse GenerationIDDRMX1AThis primitive will implement the input register block in memory mode. The DDR registers are designed to use edge clock routing on the I/O side and the primary clock on the FPGA side. The ECLK input is used to connect to the DQS strobe coming from the DQS delay block (DQSBUFC primitive). The SCLK input is connected to the system (FPGA) clock. DDRCLKPOL is an input from the DQS Clock Polarity tree. This signal is generated by the DQS Transition detect circuit in the hardware. The DDRCLKPOL signal is used to choose the polarity of the SCLK to the synchronization registers.Figure 11-10. IDDRMX1A SymbolTable 11-3 provides a description of all I/O ports associated with the IDDRMX1A primitive.Table 11-3. IDDRMX1A PortsPort Name I/O DefinitionD I DDR DataECLK I The phase shifted DQS should be connected to this inputRST I ResetSCLK I System CLKCE I Clock enableDDRCLKPOL I DDR clock polarity signalQA O Data at Positive edge of the CLKQB O Data at the negative edge of the CLKNote: The DDRCLKPOL input to IDDRMX1A should be connected to the DDRCLKPOL output ofDQSBUFC.Figure 11-11 shows the Input Register Block configured in the IDDRMX1A mode.Figure 11-11. Input Register Block in IDDRMX1A ModeFigure 11-12 shows the IDDRMX1A timing waveform.Figure 11-12. IDDRMX1A WaveformIDDRMFX1AWith the IDDRMX1A, the data can enter the FPGA at either the positive or negative edge of the SCLK depending on the state of the DDRCLKPOL signal. The IDDRMFX1A module includes an additional clock transfer stage that ensures that the data is transferred at a known edge of the system clock.Figure 11-13. IDDRMFX1A SymbolTable 11-4 provides a description of all I/O ports associated with the IDDRMFX1A primitive.Table 11-4. IDDRMFX1A PortsPort Name I/O DescriptionD I DDR DataECLK I The phase shifted DQS should be connected to this inputRST I ResetCLK1I Slow FPGA CLKCLK2I Slow FPGA CLKCE I Clock enableDDRCLKPOL I DDR clock polarity signalQA O Data at the positive edge of the CLKQB O Data at the negative edge of the CLKNote: The DDRCLKPOL input to IDDRMFX1A should be connected to the DDRCLKPOL output of DQSBUFC.Figure 11-14 shows the LatticeXP2 Input Register Block configured to function in the IDDRXMFX1A mode.The DDR registers are designed to use Edge clock routing on the I/O side and the primary clock on the FPGA side. The ECLK input is used to connect to the DQS strobe coming from the DQS delay block (DQSBUFC primitive). The CLK1 and CLK2 inputs should be connected to the slow system (FPGA) clock. DDRCLKPOL is an input from the DQS Clock Polarity tree. This signal is generated by the DQS Transition detect circuit in the hardware. The addi-tional clock transfer registers are shared with the output register block.Figure 11-14. Input Register Block in IDDRMFX1A ModeFigure 11-15 shows the IDDRMFX1A timing waveform.Figure 11-15. IDDRMFX1A WaveformODDRMXAThe ODDRMXA primitive implements the output register for both the write and the tristate functions. This primitive is used to output DDR data and the DQS strobe to the memory. All the DDR output tristate functions are also imple-mented using this primitive.Figure 11-16 shows the ODDRMXA primitive symbol and its I/O ports.Figure 11-16. ODDRMXA SymbolTable 11-5 provides a description of all I/O ports associated with the ODDRMXA primitive.Table 11-5. ODDRMXA PortsPort Name I/O DescriptionCLK I System CLK or ECLKDA I Data at the negative edge of the clockDB I Data at the positive edge of the clockRST I ResetDQSXFER I90-degree phase shifted clock coming from the DQSBUFC blockQ I DDR data to the memoryNotes:1.RST should be held low during DDR Write operation.2.DDR output and tristate registers do not have CE support. RST is available for the tristate DDRX mode (while read-ing). The LSR will default to set when used in the tristate mode.3.When asserting reset during DDR writes, it is important to keep in mind that this only resets the flip-flops and notthe latches.Figure 11-17 shows the LatticeXP2 Output Register Block configured in the ODDRXMA mode.Figure 11-17. Output Register Block in ODDRXMA ModeFigure 11-18 shows the ODDRMXA timing waveform.Figure 11-18. ODDRMXA WaveformNote that the DQSXFER is inverted inside the ODDRXMA. This will cause the data coming out of the ODDRXMA to be -90° in phase with the output of the ODDRXC module.Memory Read ImplementationLatticeXP2 devices contain a variety of features to simplify implementation of the read portion of a DDR interface:•DLL compensated DQS delay elements•DDR input registers•Automatic DQS to system clock domain transfer circuitry•Data Valid ModuleDLL Compensated DQS Delay ElementsThe DQS from the memory is connected to the DQS Delay element. The DQS Delay block receives a 6-bit delay control from the on-chip DQSDLL. The LatticeXP2 devices support two DQSDLL, one on the left and one on the right side of the device. The DQSDEL generated by the DQSDLL on the left side is routed to all the DQS blocks on the left and bottom/top half of the device. The delay generated by the DQSDLL on the right side is distributed to all the DQS Delay blocks on the right side and the other bottom/top half of the device. These digital delay control sig-nals are used to delay the DQS from the memory by 90 degrees.The DQS received from the memory is delayed in each of the DQS Delay blocks and this delay DQS is used to clock the first set stage DDR input registers.DQS Transition Detect or Automatic Clock Polarity SelectIn a typical DDR memory interface design, the phase relation between the incoming delayed DQS strobe and the internal system clock (during the READ cycle) is unknown. Prior to the READ operation in DDR memories, DQS is in tristate (pulled by termination). Coming out of tristate, the DDR memory device drives DQS low in the Preamble State. The DQS Transition Detect block detects the first DQS rising edge after the Preamble transition and gener-ates a signal indicating the required polarity for the FPGA system clock (DDRCLKPOL). This signal is used to con-trol the polarity of the clock to the synchronizing registers.Data Valid ModuleThe data valid module generates a DATAVALID signal. This signal indicates to the FPGA that valid data is transmit-ted out the input DDR registers to the FPGA core.DDR I/O Register ImplementationThe first set of DDR registers is used to de-mux the DDR data at the positive and negative edge of the phase shifted DQS signal. The register that captures the positive-edge data is followed by a negative-edge triggered reg-ister. This register transfers the positive edge data from the first register to the negative edge of DQS so that both the positive and negative portions of the data are now aligned to the negative edge of DQS.The second stage of registers is clocked by the FPGA clock, the polarity of this clock is selected by the DDR Clock Polarity signal generated by the DQS Transition Detect Block.The I/O Logic registers can be implemented in two modes:•Half Clock Transfer Mode•Full Clock T ransfer ModeIn Half Clock Transfer mode the data is transferred to the FPGA core after the second stage of the register. In Full Clock Transfer mode, an additional stage of I/O registers clocked by the FPGA clock is used to transfer the data to the FPGA core.The LatticeXP2 Family Data Sheet explains each of these circuit elements in more detail.Memory Read Implementation in SoftwareThree primitives in the ispLEVER® design tools represent the capability of these three elements. The DQSDLL rep-resents the DLL used for calibration. The IDDRMX1A/IDDRMFX1A primitive represents the DDR input registers and clock domain transfer registers with or without full clock transfer. Finally, the DQSBUFC represents the DQS delay block, the clock polarity control logic and the Data Valid module. Figures 11-19 and 11-20 show the READ interface block generated using the IPexpress™ tool in the ispLEVER software.Figure 11-19. Software Primitive Implementation for Memory READ (Half Clock Transfer)Figure 11-20. Software Primitive Implementation for Memory READ (Full Clock Transfer)Read Timing WaveformsFigures 11-21 and 11-22 show READ data transfer for half and full clock cycle data transfer based on the results of the DQS Transition detector logic. This circuitry decides whether or not to invert the phase of FPGA system CLK to the synchronization registers based on the relative phases of PRMBDET and CLK.•Case 1: If the FPGA clock is low on the first PRMBDET transition, then DDRCLKPOL is low and no inversion is required.•Case 2: If the FPGA clock is high on the first PRMBDET, then DDRCLKPOL is high and the FPGA clock (CLK) needs to be inverted before it is used for synchronization.Figure 11-21 illustrates the DDR data timing using half clock transfer mode at different stages of the IDDRMX1A registers. The first stage of the register captures data on the positive edge as shown by signal A and the negative edge as shown by signal B. Data stream A goes through an additional half clock cycle transfer shown by signal C. Phase-aligned data streams B and C are presented to the next stage registers clocked by the FPGA clock.Figure 11-22 illustrates the DDR data timing using full clock transfer mode at different stages of IDDRMFX1A regis-ters. In addition to the first two register stages in the half clock mode, the full clock transfer mode has an additional stage register clocked by the FPGA clock. In this case, D and E are the data streams after the second register stage presented to the final stage of registers clocked by the FPGA clock.Figure 11-21. READ Data Transfer When Using IDDRMX1ANotes:1.DDR memory sends DQ aligned to DQS Strobe.2.The DQS Strobe is delayed by 90 degrees using the dedicated DQS logic.3.DQ is now center aligned to DQS Strobe.4.PRMBDET is the Preamble detect signal generated using the DQSBUFB primitive. This is used to generate the DDRCLKPOL signal.5.The first set of I/O registers, A and B, capture data on the positive and negative edges of DQS.6.I/O Register C transfers data so that both data are now aligned to negative edge of DQS.7.DDCLKPOL signal generated will determine if the FPGA CLK going into the synchronization registers need to be inverted. The DDRCLK-POL=0 when the FPGA CLK is LOW at the first rising edge of PRMBDET. The clock to the synchronization registers is not inverted. The DDRCLKPOL=1 when the FPGA CLK is HIGH at the first rising edge of PRMBDET. In this case the clock to the synchronization register is inverted.8.The I/O synchronization registers capture data on either the rising or falling edge of the FPGA clock.9.The DATAVALID signal goes HIGH when valid data enters the FPGA core. Once DAT A VALID is asserted, it stays high until the next READpulse.Figure 11-22. Read Data Transfer When Using IDDRMFX1ANotes:1.DDR memory sends DQ aligned to DQS Strobe.2.The DQS Strobe is delayed by 90 degrees using the dedicated DQS logic.3.DQ is now center-aligned to DQS Strobe.4.PRMBDET is the Preamble detect signal generated using the DQSBUFB primitive. This is used to generate the DDRCLKPOL signal.5.The first set of I/O registers, A and B, capture data on the positive and negative edges of DQS.6.I/O register C transfers data so that both data are now aligned to the negative edge of DQS.7.DDCLKPOL signal generated will determine if the FPGA clock going into the synchronization registers need to be inverted. The DDRCLK-POL=0 when the FPGA CLK is LOW at the first rising edge of PRMBDET. So the clock to the synchronization registers is not inverted. The DDRCLKPOL=1 when the FPGA CLK is HIGH at the first rising edge of PRMBDET. In this case the clock to the synchronization register is inverted.8.Registers D and E capture data at the FPGA clock.9.The data is then again registers at the FPGA clock to ensure a Full Clock Cycle transfer.10.DAT AVALID signal goes HIGH when valid data enters the FPGA core. Once DAT A VALID is asserted, it stays high until the next READ pulse.Data Read Critical PathData in the second stage DDR registers can be registered either on the positive edge or on the falling edge of FPGA clock depending on the DDRCLKPOL signal. In order to ensure that the data transferred to the FPGA core registers is aligned to the rising edge of the system clock, this path should be constrained with a half clock transfer. This half clock transfer can be forced in the software by assigning a multi-cycle constraint (multi-cycle of 0.5 X) on all the data paths to first PFU register.DQS PostambleAt the end of a READ cycle, the DDR SDRAM device executes the READ cycle postamble and then immediately tristates both the DQ and DQS output drivers. Since neither the memory controller (FPGA) nor the DDR SDRAM device are driving DQ or DQS at that time, these signals float to a level determined by the off-chip termination resistors. While these signals are floating, noise on the DQS strobe may be interpreted as a valid strobe signal by the FPGA input buffer. This can cause the last READ data captured in the IOL input DDR registers to be overwrit-ten before the data has been transferred to the free running resynchronization registers inside the FPGA.Figure 11-23. Postamble Effect on READLatticeXP2 devices have extra dedicated logic in the in the DQS Delay Block that prevents this postamble problem. The DQS postamble logic is automatically implemented when the user instantiates the DQS Delay logic (DQS-BUFC software primitive) in the design.Memory Write ImplementationTo implement the write portion of a DDR memory interface, two streams of single data rate data must be multi-plexed together with data transitioning on both edges of the clock. In addition, during a write cycle, DQS must arrive at the memory pins center-aligned with the data, DQ. Along with the DQS strobe and data this portion of the inter-face must also provide the CLKP, CLKN Address/Command and Data Mask (DM) signals to the memory.It is the responsibility of the FPGA output control to edge-align the DDR output signals (ADDR,CMD, DQS, but not DQ, DM) to the rising edge of the outgoing differential clock (CLKP/CLKN).Challenges encountered by the during Memory WRITE:1.DQS needs to be center-aligned with the outgoing DDR Data, DQ.2.Differential CLK signals (CLKP and CLKN) need to be generated.3.The controller must meet the DDR interface specification for t DSS and t DSH parameters, defined as DQSfalling to CLKP rising setup and hold times.4.The DDR output data must be muxed from two SDR streams into a single outgoing DDR data stream.All DDR output signals (“ADDR, CMD”, DQS, DQ, DM) are initially aligned to the rising edge of the FPGA clock inside the FPGA core. The relative phase of the signals may be adjusted in the IOL logic before departing the FPGA. These adjustments are shown in Figure 11-24.LatticeXP2 devices contain DDR output and tri-state registers along with the DQSXFER signal generated by the DQSBUFC that allows easy implementation of the write portion of the DDR memory interfaces. The DDR output registers can be accessed in the design tools via the ODDRMXA and the ODDRXC primitives.The DQS signal and the DDR clock outputs are generated using the ODDRXC primitive. As shown in the figure, the CLKP and DQS signals are generated so that they are 180 degrees in phase with the clock. This is done by con-necting “1” to the DA input and “0” to the DB inputs of the ODDRXC primitive. Refer to the DDR Generic Software Primitive section of this document to see the ODDRXC timing waveforms.The DDR clock output is then fed into a SSTL differential output buffer to generate CLKP and CLKN differential clocks. Generating the CLKN in this manner prevents any skew between the two signals. When interfacing to DDR1, SDRAM memory CLKP should be connected to the SSTL25D I/O standard. When interfacing to DDR2 memory, it should be connected to the SSTL18D I/O standard.The DQSXFER output from the DQSBUFC block is the 90-degree phase shifted clock. This 90-degree phase shifted clock is used as an input to the ODDRMXA block. The ODDRMXA is used to generate the DQ and DM data outputs going to the memory. In the ODDRMXA module, the data is first registered using the ECLK or FPGA clock input and then shifted out using the DQSXFER signal. T o ensure that the data going to the memory is center-aligned to the DQS, the DQSXFER is inverted inside the ODDRXMA primitive. This will generate data that is cen-ter-aligned to the DQS. Refer to the Software Primitives section of this document for the ODDRXMA timing wave-forms.The DDR interface specification for t DSS and t DSH parameters defined as DQS falling to CLKP rising setup and hold times must be met. This is accomplished by ensuring that the CLKP and DQS signals are identical in phase.The tristate control for the DQS and DQ outputs can also be implemented using the ODDRXC primitive.Figure 11-24 shows the DDR Write implementation using the DDR primitives.。

相关文档
最新文档