riple

Stay Hungry, Stay Foolish.

FPGA技术实践文章汇总

0
阅读(3398)

实践性的:可以直接指导实践的,可以改进工作方法的。

 

Mon Apr 12 2010 17:30:20 GMT+0800 (China Standard Time) DDR3 memory interface controller IP speeds data processing applications

Thu Mar 18 2010 10:12:23 GMT+0800 (China Standard Time) Implementing custom DDR and DDR2 SDRAM external memory interfaces in FPGAs

Thu Feb 25 2010 14:08:37 GMT+0800 (China Standard Time) Partitioning an ASIC design into multiple FPGAs

Thu Feb 25 2010 14:05:11 GMT+0800 (China Standard Time) Leveraging FPGA and CPLD digital logic to implement analog to digital converters

Sun Feb 21 2010 16:24:02 GMT+0800 (CST) Chip synthesis: A new approach to RTL implementation

Sun Feb 21 2010 16:08:28 GMT+0800 (CST) Reusable VHDL IP in the real world

Tue Feb 16 2010 07:53:40 GMT+0800 (CST) Partitioning an ASIC Design into Multiple FPGAs

Thu Mar 18 2010 10:14:09 GMT+0800 (China Standard Time) Oooof! My FPGA's Not Working: Problems with *Synthesis Gotchas*

Thu Feb 25 2010 14:02:47 GMT+0800 (China Standard Time) Eeeeek! My FPGA's not working: Problems with the *IP*

Wed Feb 03 2010 18:41:13 GMT-0800 (Pacific Standard Time) Arrgghh! My FPGA's not working: Problems with the RTL

Tue Jan 19 2010 21:10:17 GMT-0800 (Pacific Standard Time) PRODUCT HOW-TO: Automating the FPGA Design Debug Process

Sun Jan 17 2010 21:23:02 GMT-0800 (Pacific Standard Time) Using an FPGA to tame the power beast in consumer handheld MPUs

Fri Jan 08 2010 01:46:37 GMT-0800 (Pacific Standard Time) Power Supply Design Considerations for Modern FPGAs

Mon Dec 28 2009 00:26:51 GMT-0800 (Pacific Standard Time) PRODUCT HOW-TO: Prototyping ASICs using FPGAs

Sun Dec 27 2009 18:54:43 GMT-0800 (Pacific Standard Time) Using yesterday's methodologies to design today's multi-FPGA systems is a recipe for disaster

Mon Nov 16 2009 21:43:10 GMT-0800 (Pacific Standard Time) Free JTAG tools provide new approach to board debugging

Mon Nov 16 2009 21:34:58 GMT-0800 (Pacific Standard Time) Boundary scan and JTAG emulation combine for advanced structural test and diagnostics

Tue Nov 03 2009 21:49:44 GMT-0800 (Pacific Standard Time) I/O Design Flexibility with the FPGA Mezzanine Card

Sun Oct 18 2009 21:57:46 GMT-0700 (Pacific Daylight Time) Lattice, Epson Toyocom offer differential reference clock solution

Thu Oct 08 2009 23:33:52 GMT-0700 (Pacific Daylight Time) Designing an accessible board

Thu Oct 08 2009 11:19:22 GMT+0800 Building a standard micro architecture

Thu Oct 08 2009 11:17:43 GMT+0800 FPGA Device Reliability and the Sunspot Cycle

Thu Oct 08 2009 11:16:07 GMT+0800 A technique for multi-line addressing in OLED displays

Thu Oct 08 2009 11:14:47 GMT+0800 Clock sources with integrated power supply noise rejection simplify power supply design in FPGA-based systems

Thu Oct 01 2009 07:27:58 GMT+0800 Using complex triggers in an FPGA-based RTL debugger

Mon Sep 28 2009 22:26:08 GMT-0700 (Pacific Daylight Time) Back to the basics: Doing Hardware Counter/Timer design using High School Science

Thu Sep 24 2009 20:16:38 GMT-0700 (Pacific Daylight Time) PRODUCT HOW-TO - Building high-speed FPGA memory interfaces

Sun Sep 20 2009 21:58:59 GMT-0700 (Pacific Daylight Time) JTAG test routines harness device functionality

Sun Sep 20 2009 21:52:36 GMT-0700 (Pacific Daylight Time) Control issues: How FPGAs can address MCUs' general-purpose I/O scaling wall

Wed Sep 09 2009 19:25:46 GMT-0700 (Pacific Daylight Time) Rethinking Reuse FPGA reuse is the same as PCB reuse.

Wed Aug 12 2009 22:28:53 GMT-0700 (Pacific Daylight Time) A New Approach to FPGA Testing and Validation for Today's Market

Wed Aug 12 2009 22:18:12 GMT-0700 (Pacific Daylight Time) Design considerations when using programmable integer-N PLL ICs

Tue Jun 30 2009 22:06:33 GMT-0700 (Pacific Daylight Time) Rapid debug of serial buses in FPGAs

Mon Jun 01 2009 02:36:54 GMT-0700 (Pacific Daylight Time) Programmable clock management increases source synchronous throughput

Thu Apr 23 2009 22:15:34 GMT-0700 (Pacific Daylight Time) Top 10 tips to minimize power consumption when designing with FPGAs

Tue Apr 14 2009 13:01:56 GMT+0800 (China Standard Time) Using an interface wrapper module to simplify implementing PCIe on FPGAs

Wed Mar 11 2009 22:54:28 PDT How to detect solder joint faults in operating FPGAs in real time

Wed Mar 11 2009 22:54:06 PDT How to reduce power consumption in CPLD designs with power supply cycling

Sun Mar 1 2009 22:05:44 UTC+0800 How to control analog output from a CPLD using a pulse width modulator

Wed Feb 4 2009 09:31:35 UTC+0800 Xilinx FPGA introductions hint at new realities 1. One (trend) is the emphasis on density rather than performance. In moving to the new families Xilinx has slightly altered their logic-cell arrangement so that a logic slice comprises four six-input look-up tables (LUTs) and eight flipflops. This compares to four LUTs and four flops in the previous generation. 2. Another noteworthy point is the growing importance of high-speed serial transceiver performance. But the LXT also adds—unusually for a low-priced FPGA family—high-speed serial resources: up to eight low-power 3.2 Gbit/s transceivers, four hard-wired memory controllers, and one PCI-Express endpoint block. 3. A third interesting observation is the fragmentation of Xilinx's foundry strategy at the new node. Xilinx Director of Product Marketing Brent Przybus explained that the company chose to split production of the two families between UMC and Samsung... for both time-to-market and capacity reasons. 4. Finally, there is the question of power. But FPGAs still lag far behind ASICs and ASSPs in other means of power management. Voltage islands, dynamic power gating, dynamic voltage-frequency scaling, and threshold-voltage manipulation are still not available in the new Xilinx family. For that matter, of these techniques only programmable threshold-voltage control is available from Altera, and none of the techniques is supported by Xilinx. 5. Xilinx President and CEO Moshe Gavrielov sees many potential new users coming into the FPGA world, not from the ranks of experienced FPGA designers or even ASIC designers, but from the realm of software and systems engineering. In his vision, the FPGA becomes nearly a slate on which systems designers can write a systems-level design, without concerning themselves with the details of implementation. It is a bold, unifying vision that must contend carefully with the reality of the need for fine-grained control over the implementation at some points in many designs.

Tue Jan 20 2009 15:16:44 UTC+0800 Using yesterday's methodologies to design today's multi-FPGA systems is a recipe for disaster

Tue Jan 20 2009 15:15:55 UTC+0800 Tips and Tricks: Using FPGAs in reliable automotive system design

Tue Jan 20 2009 15:15:12 UTC+0800 PRODUCT HOW-TO: Taking the delay out of your multicore design's intra-chip interconnections

Tue Jan 20 2009 14:43:39 UTC+0800 Backplane tutorial: RapidIO, PCIe and Ethernet

Tue Jan 20 2009 14:43:16 UTC+0800 How to transform video SerDes from a nightmare to a dream

Tue Jan 20 2009 14:41:11 UTC+0800 Free Spice software exploits multicore processors

Thu Dec 4 2008 18:19:04 UTC+0800 Video processing pipeline design As in a RISC processor, a key goal for the video pipeline designer is to balance the stages.

Wed Dec 3 2008 18:06:32 UTC+0800 High-Performance SerDes Module with Easy FPGA Interface and Cable Detect

Sun Nov 30 2008 09:30:22 UTC+0800 How to improve FPGA-based ASIC prototyping with SystemVerilog

Sun Nov 30 2008 09:28:43 UTC+0800 Programmable logic use in handsets--The basics

Wed Sep 17 2008 22:29:34 UTC+0800 Reducing Power Consumption in a Fiber Channel Switch

Wed Sep 17 2008 22:28:01 UTC+0800 Product How-To: Building a configurable embedded processor - From Impulse C to FPGA

Fri Aug 29 2008 12:40:57 UTC+0800 Bridging options enable FPGA-based configurable computing

Thu Aug 28 2008 12:39:21 UTC+0800 Verilog versus VHDL (which is best?)

Thu Aug 28 2008 12:38:56 UTC+0800 How to give crime-fighters a flexible, high-performance edge with programmable logic

Tue Aug 26 2008 20:32:31 UTC+0800 Flexible I/O structure allows MCUs to have 'soft' I/O functions

Tue Aug 26 2008 20:31:35 UTC+0800 How to use CPLDs to manage average power consumption in portable applications

Tue Aug 26 2008 20:28:23 UTC+0800 How to reduce power using I/O gating (CPLDs) versus sleep modes (FPGAs)

Tue Aug 26 2008 20:21:19 UTC+0800 Algorithmic synthesis improves designers' efficiency

Tue Aug 26 2008 20:19:49 UTC+0800 Using FPGAs to improve your wireless subsystem's performance

Mon Aug 25 2008 22:19:46 UTC+0800 Tech Tutorial: Microcontroller design in FPGAs

Tue Aug 12 2008 06:50:24 UTC+0800 How to interface FPGAs to microcontrollers 随着FPGA的应用日益广泛,这篇文章介绍的内容已经成为FPGA设 计者的一项基本功了。

Sun Jun 29 2008 21:15:59 UTC+0800 Single Flow for Interconnecting IP

Sun Jun 29 2008 21:16:40 UTC+0800 Timing-driven Simulink FPGA synthesis

Sun Jun 29 2008 21:22:42 UTC+0800 Got the BGA Blues?

Sat Jul 12 2008 16:54:50 UTC+0800 Tip of the Week---Simple power supply for FPGAs

Thu Jul 10 2008 21:20:56 UTC+0800 How to simplify power design development and evaluation for FPGA-based systems

PCB prototypes add value in the design process

 

Swapping bits improves performance of FPGA-PWM counters


How to enhance signal integrity in high density FPGA based designs

    一篇关于如何测试高密度引脚FPGA之间电路连通性的文章。

    FPGA的可编程特性使得这样的测试成为可能,FPGA与CPU连接电路的连通性恐怕就不这么好测试。

 

Digital Signal Processing Tricks - Frequency Translation without multiplication


FPGAs for motor control applications

    在LP做研究生课题时,用到了dsp56f805数字信号控制器,这款芯片一个主要应用领域就是电机控制,此外还有语音信号处理。片上的一个外设就是 quadrature encoder,当时没看懂。在这篇文章里就介绍了quadrature encoder的应用。

 

Maximizing Performance and Reliability of FSMs with Precision Synthesispdf

    先放在这里,抽空读一下,把要点摘抄出来。

 

CVS Version Management in HDL Designer Seriespdf

    CVS是工程开发必不可少的工具,我在工作中一直使用。曾经用Tcl开发过几个自动上传下载并编译执行的脚本。

    这篇文章介绍了CVS在HDL Designer中的使用,介绍的原则应该可以用于Quartus II工作环境。可以考虑用Tcl开发,然后在Quartus II工作界面上添加自定义的Tcl按钮。

 

How to prototype your ASIC, SoC, or ASSP using FPGAs

FPGA是ASIC设计者的一道普通难题?

接口芯片:逻辑与严酷现实之间

FPGA设计的验证技术及应用原则

Interfacing FPGAs to DDR3 SDRAM memories

Guidance for Accurately Benchmarking FPGAspdf。鹬蚌相争,渔人得利。行业巨头 的竞争产生了这样的文档。我可以按照文档的原意使用之,也可以把这篇文档作为在两个厂商之间转换设计的指导文档,也可以用作榨取器件性能的指导文档。

Advantages of the Virtex-5 FPGA 6-Input LUT Architecturepdf。反唇相讥,针锋相对。竞争就是 这样的。通过这篇文档,看到Xilinx器件相对于Altera器件的一大优势是LUT和FF可以分开使用,至少部分是这样的;不像Altera的,单独 用LUT(组合逻辑)或单独用FF(时序逻辑)是很吃亏的

Plugging hardware-based compression into a server

跨越异步时钟边界传输数据的解决方案骨灰级的前辈写的文章,此人拥有关于FIFO的多个专利。英文原文在此Moving Data across Asynchronous Clock Boundaries;此人的 一篇Gray计数器专利在此Method and system for gray-coding counting,一定要拜读一下。

RTL for Z8000 series CPU?几位骨灰级前辈的跑题讨论。想俺当初毕设就是改写了一款 8051的RTL,当时还真为专利、侵权的问题考虑了很多。

Digital Design with just one clock at one edge这个论坛上 有太多的好东西了,惊喜!

SPI software coding

Surprise, surprise: Intermittent power-on reset problem reveals decades-old secret of 8052从一接触51,就发现PIO端口的电路设计很麻烦,尤其像2051这样的mini版。这篇文章给出了一个P0口使用的注意事项,以及误用后的电路表现。

Only Code Has Value?

Do engineers really do R&D?预研项目和工程项目确实有很大的差异。制定时间表是立项的重要内容。制定得准确与否, 是立项工作质量的判断标准。“小步快跑”,滚动式开发是个不错的方式。

Mon Jan 7 2008 11:01:54 UTC+0800 Get research out of development上一篇文章的系列二

Common mistakes in electronic design电子系统的可靠性设计,在设计PCB时,这些经验是很宝贵的,甚至是难得的。

Tue Dec 18 2007 09:57:20 My Gray Code article saves the day!真正的技术实践。不过,解决SSN这一问题的方法可能不只是减少信号的SS(瞬时翻 转),减小信号的驱动电流应该起到同样的作用。

Wed Dec 19 2007 09:10:37 Using DCFIFO for Data Transfer between Asynchronous Clock DomainsAltera 第一次给出了完整的跨时钟域数据传输解决方案,够权威。

AN 42: Metastability in Altera Devices

Understanding Clock Domain Crossing IssuesCDC

How to quantify FPGA system-level simultaneous switching noise in a chip/package/PCB designSSN

Tue Jan 8 2008 17:37:51 UTC+0800 调节多核处理器硬件适应软件设计方法

    硬件和软件设计是两种本质上不同的工作。无论硬件设计语言多么像一个软件,它进行的仍然是硬件设计。硬件语言对结构进行定义,并且设计流程最终要进行结构 的实体化。但是,软件工程师正越来越多地使用C编程技术来设计系统功能;现有的工具支持使用软件或硬件方法来设计系统功能。
  软件实现的方法更 偏向于过程导向。它考虑的是“如何去做”而不是“构建什么”的问题,因为从传统观点来看,已经不需要再构建什么了 - 硬件都已经被构建好了。在真正基于软件的设计方法中,关键的功能不是被构建到一种结构中去,而是在一个已经构建好的系统中被结构执行的。灵活性是基于软件 的实现方法的优势:在系统出厂后仍能快捷地对其进行改变。虽然FPGA也能现场编程,但改变软件设计要比构建硬件快捷地多。
  由于硬件和软件设 计存在着差异,因此硬件和软件的设计者所考虑的问题是不同的。硬件工程师不可能只通过改变编程语言的语法,就能转变成软件工程师。反之,软件工程师也不可 能因为硬件设计中需要软件的参与,就能转变成硬件工程师。因此,不能轻率地就让软件工程师加入到处理架构的设计中来。
  此外,硬件工程师、软件 工程师或项目经理都不会同意将一个基于硬件方法的设计交给一位软件工程师去完成。软件工程师做出关于硬件的决定时所使用的方法,极有可能得到熟悉类似编程 语言的另一位软件工程师的认同。

Thu Jan 17 2008 13:19:33 UTC+0800 加速FPGA系统实时调试技术关于泰克的FPGA外部逻辑分析仪原理的好文章!

Fri Jan 25 2008 13:59:54 UTC+0800 提高ASIC验证的速度与可视性

Fri Jan 25 2008 14:07:47 UTC+0800 基于FPGA的网络处理技术的性能和灵活性分析

Fri Jan 25 2008 15:33:06 UTC+0800 利用FPGA平台解决接口的总线速度瓶颈。原理:1. 通过FPGA直接访存提高了数据传输速度;2. 通过增加一片SDRAM减少了单端口RAM访问冲突问题。

Fri Jan 25 2008 16:51:24 UTC+0800 提高FPGA设计生产力的工具、技巧和方法指南。本文揭示了可视化技术在时序分析中的重要作用。

Fri Jan 25 2008 18:17:53 UTC+0800 How to achieve timing-closure in high-end FPGAs。It is not sufficient for a timing-closure solution – the entire flow, including synthesis – to meet only the required timing; such a solution must also minimize the number of time-consuming synthesis-place-route iterations and provide results that remain stable across multiple physical synthesis runs and during final routing.

Physical Synthesis最初是Synplicity从ASIC设计流程里引入到FPGA流程里的,后来一些FPGA厂商的EDA工具也加入了这一功能。现 在,Synplicity否定了“物理综合”的效果,转用“图形综合”。究其原因,是因为时序收敛不仅仅取决于P&R,还从根本上受到S的影响。 但是对时序收敛来说,S&P&R的过程不是线性的,导致S之后的时序分析结果很不准确,由这个结果反馈回S仍然不能得到准确的结果,只有 经过S&P&R的全流程才能获得准确的结果,所以S&P&R的过程必须经过多次反复,而且还不一定收敛。如果在 S&P集成在一起的步骤之后才进行时序分析,则结果就很准确了,该结果再反馈回S&P进行RTL修改和时序约束,就能够逐步收敛,而且该 过程引入的反复开销很小。对于FPGA来说,“物理综合”是以布局为中心的,更适用于ASIC;而“图形综合”是以布线为中心的,符合FPGA的物理结 构。

Avoiding pitfalls in managing embedded systems projects 嵌入式系统工程管理。

信号完整性验证个案分析

利用SmartCompile和赛灵思的设计工具进行设计保存,关于增量编译原理的X文,尤其是 Partition边界对时序影响部分很好。

Comparing IP integration approaches for FPGA implementation,SOPC Builder仍然是最先进的系统互连自动生成工具。

用FPGA构建PCI Express端点器件的最佳平台,其中系统架构和运行效率分析的方法值得借鉴。

基于FPGA的IDE硬盘接口卡的实现,好文章,对我的工作有很大的参考价值。

四大FPGA供应商专家谈FPGA设计诀窍,看看四大门派都有些什么说法。

Sat May 3 2008 15:10:38 UTC+0800 Accelerating development and lowering risk the industry must grow from being centered on IP blocks to offer and use IP subsystems.

Sat May 3 2008 20:56:52 UTC+0800 What floorplan information is needed for synthesis Modeling interconnect delay during synthesis has always presented a "chicken-and-egg" problem.

Wed Jun 11 2008 21:56:37 UTC+0800 WP335 - Creative Uses of Block RAM 它山之石可以攻玉,关于双端口 RAM巧妙应用的X文。

Wed Jun 11 2008 22:18:01 UTC+0800 WP272 - Get Smart About Reset: Think Local, Not Global 关于要不要复位的X文。

Wed Jun 11 2008 22:05:33 UTC+0800 DPA Circuitry and rx_dpa_locked Signal Behavior in Stratix III Devices (Jun 5, 2008)

Wed Jun 11 2008 22:24:32 UTC+0800  XAPP215 Design Tips for HDL Implementation of Arithmetic Functions

Wed Jun 11 2008 22:26:49 UTC+0800 WP275 - Get Your Priorities Right

Sat Jun 14 2008 08:44:22 UTC+0800 Preserving The Intent Of Timing Constraints

Sat Jun 14 2008 08:44:50 UTC+0800 Static Checks for Power Management at RTL

Sat Jun 14 2008 08:45:45 UTC+0800 How to perform meaningful benchmarks on FPGAs from different vendors一石激 起千层浪

Sat Jun 14 2008 08:47:10 UTC+0800 ESL Methods for Optimizing a Multi-media Phone Chip

Sat Jun 14 2008 08:48:08 UTC+0800 Design Challenges Drive Need for New Routing Architecture

Sat Jun 14 2008 08:50:01 UTC+0800 How DFT conquers chip complexity

Sat Jun 14 2008 08:56:11 UTC+0800 Doing simple code generation with MS Excel This article is very helpful. I can use Excel or Perl or Tcl to generate code for HDL or C from a WiKi page, which is used as an interface document between the Hardware Team and the Firmware Team.

Sat Jun 14 2008 08:58:03 UTC+0800 Making design choices between DSP and FPGA

Sat Jun 14 2008 08:59:51 UTC+0800 Debugging: Making the move from parallel to high speed serial trace

Wed Jun 18 2008 12:48:43 UTC+0800 AN 418: SRunner: An Embedded Solution for Serial Configuration Device Programming 这篇A文中 提到的用嵌入式MCU更新专用配置芯片的方法可用于系统升级维护中。

Wed Jun 18 2008 13:13:02 UTC+0800 http://www.xilinx.com/support/documentation/application_notes/xapp176.pdf 配 置是个大问题。

Sun Jun 29 2008 19:58:52 UTC+0800 ESL Methods for Optimizing a Multi-media Phone Chip

Sun Jun 29 2008 20:00:04 UTC+0800 How to perform meaningful benchmarks on FPGAs from different vendors