Help Center
  • FAQ
    browse most common questions
  • Live Chat
    talk with our online service
  • Email
    contact your dedicated sales:
  • Call Us
    9:00 - 18:00, Mon.- Fri. (GMT+8)
0

Issues Should be Paid Attention to When Designing FPGA

Published on 7/23/2019 2:31:18 PM

Description

<p style="line-height: 1.5em;"><span style="font-family: Helvetica; font-size: 16px;"><strong><span style="font-family: Helvetica; background-color: rgb(255, 255, 255); color: rgb(47, 47, 47); letter-spacing: 0px;">FPGAs</span></strong><span style="font-family: Helvetica; background-color: rgb(255, 255, 255); color: rgb(47, 47, 47); letter-spacing: 0px;"> can cause severe damage to signals in the system (or other FPGA signals) due to too much high-speed SSO, as this can result in noise called simultaneous switching noise (SSN). SSN is also called ground bounce or VCC bounce. For single-ended standards, SSN is a process that provides transient currents from low to high and absorbs transient currents from high to low, simultaneously switching and causing multiple output drivers. Caused by changes in device voltage and system voltage.<br/></span></span></p><p style="line-height: 1.5em;"><span style="background-color: rgb(255, 255, 255); color: rgb(47, 47, 47); letter-spacing: 0px; font-family: Helvetica; font-size: 16px;">&nbsp;</span></p><p style="text-align: center; line-height: 1.5em;"><img src="https://jpfile1.oss-cn-shenzhen.aliyuncs.com/allpcb/web/image/20190723/6369949033045456588935235.png" alt="fpga-pcb.png"/></p><p style="line-height: 1.5em;"><span style="background-color: rgb(255, 255, 255); color: rgb(47, 47, 47); letter-spacing: 0px; font-family: Helvetica; font-size: 16px;">&nbsp;</span></p><p style="line-height: 1.5em;"><span style="background-color: rgb(255, 255, 255); color: rgb(47, 47, 47); letter-spacing: 0px; font-family: Helvetica; font-size: 16px;">When the high-to-low transition causes the ground to bounce, the low-to-high transition also causes the VCC to drop. Since the capacitor is typically placed between the VCC and the ground plane, the SSN typically exists in these two places. A rebound from low to high is also likely to occur. Thus, the SSO becomes an interfering signal that produces noise that may be coupled to adjacent signals. Too much SSO for a certain area may cause power disturbances. </span></p><p style="line-height: 1.5em;"><span style="background-color: rgb(255, 255, 255); color: rgb(47, 47, 47); letter-spacing: 0px; font-family: Helvetica; font-size: 16px;">&nbsp;</span></p><p style="line-height: 1.5em;"><span style="background-color: rgb(255, 255, 255); color: rgb(47, 47, 47); letter-spacing: 0px; font-family: Helvetica; font-size: 16px;">SSO has become a problem that must be taken seriously for the following two reasons:&nbsp;</span></p><p style="line-height: 1.5em;"><span style="background-color: rgb(255, 255, 255); color: rgb(47, 47, 47); letter-spacing: 0px; font-family: Helvetica; font-size: 16px;">1. The switching time has dropped drastically; </span></p><p style="line-height: 1.5em;"><span style="background-color: rgb(255, 255, 255); color: rgb(47, 47, 47); letter-spacing: 0px; font-family: Helvetica; font-size: 16px;">2.&nbsp;The reduction in via size and trace width plus larger board thickness has pushed the board inductance. </span></p><p style="line-height: 1.5em;"><span style="background-color: rgb(255, 255, 255); color: rgb(47, 47, 47); letter-spacing: 0px; font-family: Helvetica; font-size: 16px;">&nbsp;</span></p><p style="line-height: 1.5em;"><span style="background-color: rgb(255, 255, 255); color: rgb(47, 47, 47); letter-spacing: 0px; font-family: Helvetica; font-size: 16px;">This will greatly increase the likelihood of a rebound in the field. Larger load capacitance can also cause SSN, albeit to a lesser extent. When the effective VCC is lower than the expected value, resulting in a lower conversion speed of the I/O buffer than the expected speed, the SSN may also cause timing problems to become prominent.</span></p><p style="line-height: 1.5em;"><span style="background-color: rgb(255, 255, 255); color: rgb(47, 47, 47); letter-spacing: 0px; font-family: Helvetica; font-size: 16px;">&nbsp;</span></p><p style="line-height: 1.5em;"><span style="background-color: rgb(255, 255, 255); color: rgb(47, 47, 47); letter-spacing: 0px; font-family: Helvetica; font-size: 16px;">There are several ways to reduce the SSN. Some devices simplify this problem by simply limiting the choice of I/O standards, but not all devices can do so. Some vendors recommend distributing the high-speed bus output to the entire die. If SSN is your only concern, then this is definitely a good suggestion. However, if you follow this advice, there are 2 basic questions that will come out.</span></p><p style="line-height: 1.5em;"><span style="background-color: rgb(255, 255, 255); color: rgb(47, 47, 47); letter-spacing: 0px; font-family: Helvetica; font-size: 16px;">&nbsp;</span></p><p style="line-height: 1.5em;"><span style="background-color: rgb(255, 255, 255); color: rgb(47, 47, 47); letter-spacing: 0px; font-family: Helvetica; font-size: 16px;">First, this can lead to downstream connectivity issues, as spreading signals across the entire die often leads to more trace crossings. This leads to the need for more signal wiring layers. Second, most designs require careful study before spreading the signal, because block/interval compatibility issues can arise when a bus is spread outside a particular block or region. Therefore, if you can carefully spread a smaller bus into one or two blocks/areas while considering connectivity, the system will work fine.</span></p><p style="line-height: 1.5em;"><span style="background-color: rgb(255, 255, 255); color: rgb(47, 47, 47); letter-spacing: 0px; font-family: Helvetica; font-size: 16px;">&nbsp;</span></p><p style="line-height: 1.5em;"><span style="background-color: rgb(255, 255, 255); color: rgb(47, 47, 47); letter-spacing: 0px; font-family: Helvetica; font-size: 16px;">If you are bothered by a design with adjacent high-speed switching outputs, there are several techniques that can help you solve potential SSN problems. First make proper layout and decoupling of your design. For decoupling, use power and ground plane pairs as close as possible, separated by an SMT capacitor. Decoupling with SMT capacitors also helps to reduce inductance, which is a major factor in generating system noise.</span></p><p style="line-height: 1.5em;"><span style="background-color: rgb(255, 255, 255); color: rgb(47, 47, 47); letter-spacing: 0px; font-family: Helvetica; font-size: 16px;">&nbsp;</span></p><p style="line-height: 1.5em;"><span style="background-color: rgb(255, 255, 255); color: rgb(47, 47, 47); letter-spacing: 0px; font-family: Helvetica; font-size: 16px;">If you still feel the need to use decoupling capacitors (to reduce the SSN), you should position these capacitors as close as possible to the high speed output pins. A study by Altera found that if these capacitors are more than 1 inch from the pin, these capacitors become extremely inefficient when decoupled with the appropriate SMT capacitors. </span></p><p style="line-height: 1.5em;"><span style="background-color: rgb(255, 255, 255); color: rgb(47, 47, 47); letter-spacing: 0px; font-family: Helvetica; font-size: 16px;"><br/></span></p><p style="text-align: center; line-height: 1.5em;"><span style="background-color: rgb(255, 255, 255); color: rgb(47, 47, 47); letter-spacing: 0px; font-family: Helvetica; font-size: 16px;">&nbsp;<img src="https://jpfile1.oss-cn-shenzhen.aliyuncs.com/allpcb/web/image/20190723/6369949015398050938323645.png" alt="simultaneous switching noise.png" width="500" height="212" border="0" vspace="0" title="simultaneous switching noise.png" style="width: 500px; height: 212px;"/></span></p><p style="line-height: 1.5em;"><span style="background-color: rgb(255, 255, 255); color: rgb(47, 47, 47); letter-spacing: 0px; font-family: Helvetica; font-size: 16px;"><br/></span></p><p style="line-height: 1.5em;"><span style="background-color: rgb(255, 255, 255); color: rgb(47, 47, 47); letter-spacing: 0px; font-family: Helvetica; font-size: 16px;">Other suggestions for reducing SSN or its possible effects include: avoiding sensitive signals (reset, clock, and enable, etc.) near SSO; if possible, using smaller offset outputs and using the lowest inductance vias; A suitable position insertion delay causes the output signals to alternate. Even if PCB production has been completed, this recommendation can still be applied.</span></p><p style="line-height: 1.5em;"><span style="background-color: rgb(255, 255, 255); color: rgb(47, 47, 47); letter-spacing: 0px; font-family: Helvetica; font-size: 16px;">&nbsp;</span></p><p style="line-height: 1.5em;"><span style="background-color: rgb(255, 255, 255); color: rgb(47, 47, 47); letter-spacing: 0px; font-family: Helvetica; font-size: 16px;">Refer to the relevant material that will be connected to the device on the FPGA. For each device, determine the maximum input low voltage threshold (in millivolts). This is the maximum voltage required by the FPGA to drive the device, so the device can still detect an active logic low state (maximum VIL value). Also, determine the maximum input negative pulse signal (in millivolts) that the device can tolerate and continue to operate.</span></p><p style="line-height: 1.5em;"><span style="background-color: rgb(255, 255, 255); color: rgb(47, 47, 47); letter-spacing: 0px; font-family: Helvetica; font-size: 16px;">&nbsp;</span></p><p style="text-align: center; line-height: 1.5em;"><img src="https://jpfile1.oss-cn-shenzhen.aliyuncs.com/allpcb/web/image/20190729/6369999799871037955320856.jpg" alt="field-programmable gate array.jpg"/></p><p style="line-height: 1.5em;"><span style="background-color: rgb(255, 255, 255); color: rgb(47, 47, 47); letter-spacing: 0px; font-family: Helvetica; font-size: 16px;">&nbsp;</span></p><p style="line-height: 1.5em;"><span style="background-color: rgb(255, 255, 255); color: rgb(47, 47, 47); letter-spacing: 0px; font-family: Helvetica; font-size: 16px;">In some cases, the maximum allowable ground bounce may not be or is not just the value given above. Instead, the maximum system ground bounce is determined by obtaining the minimum of the maximum input low voltage threshold, the maximum input negative pulse signal, or the maximum bounce of all devices.</span></p><p style="line-height: 1.5em;"><span style="background-color: rgb(255, 255, 255); color: rgb(47, 47, 47); letter-spacing: 0px; font-family: Helvetica; font-size: 16px;">&nbsp;</span></p><p style="line-height: 1.5em;"><span style="background-color: rgb(255, 255, 255); color: rgb(47, 47, 47); letter-spacing: 0px; font-family: Helvetica; font-size: 16px;">Similar FPGA buses are then grouped according to the number and type of network connections with similar load characteristics. Next, study the number of power and ground pins for each section, region, or block, and the number of SSOs allowed for each power and ground pin pair for each I/O standard used. These numbers can be used to calculate the total capacitive load of each group and the capacitance of each output drive to determine the maximum SSO that can be tolerated.</span></p><p style="line-height: 1.5em;"><span style="background-color: rgb(255, 255, 255); color: rgb(47, 47, 47); letter-spacing: 0px; font-family: Helvetica; font-size: 16px;">&nbsp;</span></p><p style="line-height: 1.5em;"><span style="background-color: rgb(255, 255, 255); color: rgb(47, 47, 47); letter-spacing: 0px; font-family: Helvetica; font-size: 16px;">You should also consult with the supplier to determine if you exceed the recommended number of SSOs based on each block and each pair of blocks, provided that the vendor has studied these issues. At the same time, because there are multiple factors that can cause SSN, it is best to build a robust system with built-in anti-noise performance. Otherwise, use a device that limits the I/O standard for each pin, which reduces the potential SSN problem.</span></p><p style="line-height: 1.5em;"><span style="background-color: rgb(255, 255, 255); color: rgb(47, 47, 47); letter-spacing: 0px; font-family: Helvetica; font-size: 16px;">&nbsp;</span></p><p style="line-height: 1.5em;"><span style="background-color: rgb(255, 255, 255); color: rgb(47, 47, 47); letter-spacing: 0px; font-family: Helvetica; font-size: 16px;">In FPGA design, you may find that there is most controversy about the processing of differential signals. Similar to SSN, it&#39;s best to get as much information as possible from vendors, books, and user groups. Also, consult your layout department to find out what recommendations they recommend and information before deciding on a plan.</span></p><p style="line-height: 1.5em;"><span style="background-color: rgb(255, 255, 255); color: rgb(47, 47, 47); letter-spacing: 0px; font-family: Helvetica; font-size: 16px;">&nbsp;</span></p><p style="line-height: 1.5em;"><span style="background-color: rgb(255, 255, 255); color: rgb(47, 47, 47); letter-spacing: 0px; font-family: Helvetica; font-size: 16px;">The main argument begins with whether the differential signal pair should use wide-edge coupling or edge coupling, and how much coupling should exist between each pair. The answer is usually “determined on a case-by-case basis”, so specific research is needed.</span></p><p style="line-height: 1.5em;"><span style="background-color: rgb(255, 255, 255); color: rgb(47, 47, 47); letter-spacing: 0px; font-family: Helvetica; font-size: 16px;">&nbsp;</span></p><p style="line-height: 1.5em;"><span style="background-color: rgb(255, 255, 255); color: rgb(47, 47, 47); letter-spacing: 0px; font-family: Helvetica; font-size: 16px;">If you are not sure why you need to choose a differential I/O standard for a single-ended signal, the answer is simple. With differential signals, you can almost completely control the loop of the signal. Because this is part of the signal pair, and theoretically no current from the signal pair should occur on any ground (or power) plane.</span></p><p style="line-height: 1.5em;"><span style="background-color: rgb(255, 255, 255); color: rgb(47, 47, 47); letter-spacing: 0px; font-family: Helvetica; font-size: 16px;">&nbsp;</span></p><p style="line-height: 1.5em;"><span style="background-color: rgb(255, 255, 255); color: rgb(47, 47, 47); letter-spacing: 0px; font-family: Helvetica; font-size: 16px;">It is assumed here that the pair of traces have equal lengths, are arranged in adjacent regions and have a constant pitch, and the trace impedance is constant and matched. In addition, with single-end&nbsp;sign, it is difficult to control the signal back&nbsp;haul, and testing the return of a signal can be futile.</span></p><p style="line-height: 1.5em;"><span style="background-color: rgb(255, 255, 255); color: rgb(47, 47, 47); letter-spacing: 0px; font-family: Helvetica; font-size: 16px;">&nbsp;</span></p><p style="line-height: 1.5em;"><span style="background-color: rgb(255, 255, 255); color: rgb(47, 47, 47); letter-spacing: 0px; font-family: Helvetica; font-size: 16px;">The main bad points&nbsp;for the&nbsp;differential signals is that they&nbsp;demands&nbsp;two traces to be close to each other. This can be a big challenge when distributing hundreds of signals on a single PCB.</span></p><p style="line-height: 1.5em;"><span style="font-family: Helvetica; font-size: 16px;"><br/></span></p>

102

comment

All comments

Unknown

3923

0

102

Go to Order My Own PCB

Rules about cashback: 1. Valid time: ALLPCB cashback activity will end on April 1st. 2. Capped amount: The capped amount of cashback for each account is $5,000. Each order can get a maximum of $2,000 cashback. That means every author can get $5,000 max. 3. Cashback range: The cashback activity only covers the corresponding PCB order. The order amount for other combined payment products will be invalid. 4. Clicking your own promotional link will be invalid. The same email address, shipping address, contact information, and phone number are all recognized as the same account. 5. ALLPCB has the final interpretation right of the cashback activity.

ALLPCB will donate 2% to the author for this promotion link.

Other Projects

Home / Industrial Automation low Cost with Arduino an ESP01

2448

0

314

Alternate Text josemarjr