Free Trials

Download a free trial to find out which Altium software best suits your needs

How to Buy

Contact your local sales office to get started on improving your design environment

Downloads

Download the latest in PCB design and EDA software

  • PCB DESIGN SOFTWARE
  • Altium Designer

    Complete Environment for Schematic + Layout

  • CircuitStudio

    Entry Level, Professional PCB Design Tool

  • CircuitMaker

    Community Based PCB Design Tool

  • NEXUS

    Agile PCB Design For Teams

  • CLOUD PLATFORM
  • Altium 365

    Connecting PCB Design to the Manufacturing Floor

  • COMPONENT MANAGEMENT
  • Altium Concord Pro

    Complete Solution for Library Management

  • Octopart

    Extensive, Easy-to-Use Component Database

  • PRODUCT EXTENSIONS
  • PDN Analyzer

    Natural and Effortless Power Distribution Network Analysis

  • See All Extensions
  • EMBEDDED
  • TASKING

    World-Renowned Technology for Embedded Systems Development

  • TRAININGS
  • Live Courses

    Learn best practices with instructional training available worldwide

  • On-Demand Courses

    Gain comprehensive knowledge without leaving your home or office

  • ONLINE VIEWER
  • Altium 365 Viewer

    View & Share electronic designs in your browser

  • Altium Designer 20

    The most powerful, modern and easy-to-use PCB design tool for professional use

    ALTIUMLIVE

    Annual PCB Design Summit

    • Forum

      Where Altium users and enthusiasts can interact with each other

    • Blog

      Our blog about things that interest us and hopefully you too

    • Ideas

      Submit ideas and vote for new features you want in Altium tools

    • Bug Crunch

      Help make the software better by submitting bugs and voting on what's important

    • Wall

      A stream of events on AltiumLive you follow by participating in or subscribing to

    • Beta Program

      Information about participating in our Beta program and getting early access to Altium tools

    All Resources

    Explore the latest content from blog posts to social media and technical white papers gathered together for your convenience

    Downloads

    Take a look at what download options are available to best suit your needs

    How to Buy

    Contact your local sales office to get started improving your design environment

    • Documentation

      The documentation area is where you can find extensive, versioned information about our software online, for free.

    • Training & Events

      View the schedule and register for training events all around the world and online

    • Design Content

      Browse our vast library of free design content including components, templates and reference designs

    • Webinars

      Attend a live webinar online or get instant access to our on demand series of webinars

    • Support

      Get your questions answered with our variety of direct support and self-service options

    • Technical Papers

      Stay up to date with the latest technology and industry trends with our complete collection of technical white papers.

    • Video Library

      Quick and to-the-point video tutorials to get you started with Altium Designer

    Carry Propagation Delay in High Speed Data Processing

    Altium Designer
    |  February 11, 2019

    Synchronized swimmers

    I sometimes get into text message conversations with friends that go completely haywire. It’s too easy to ask five questions back and forth in a single text, and trying to respond to everything causes our message chain to go completely out of sync. It isn’t until three text messages later that I actually respond to everything my friend asked, and by then we’ve moved on to a completely new topic.

    Signal delay between logic circuits in a PCB or an IC is not something you normally need to think about until you are working with a high speed system. As data rates and capacity in PCBs continue to increase, accounting for the delay is critical to ensuring that digital data remains in sync throughout your system.

     

    Propagation Delay Review

    If you’re not familiar with propagation delay (more appropriately called transmission delay) in PCBs, I’ll explain it here. A digital signal requires a certain amount of time to move between two points in a PCB. If you’re trying to keep multiple signals in a net or in an entire system synchronized, then you need to ensure that signals arrive at various points on your board simultaneously.

    Note that propagation delay in this sense refers to the transmission delay for signals traveling between two points on a PCB. This should not be confused with the definition of propagation delay that you’ll find in digital electronics textbooks.

    If signals are out of sync, the bit error rate in your system can increase. When processing digital data in parallel, the signals in your net must be synchronized, thus you should match the length of all traces in your net to the length of the longest trace. Compensating skew is also critical in differential pair routing. Meandering is the best way to apply slight delays to signal lines while maintaining impedance.

    Signals in different trace geometries will experience slightly different propagation delays. In you are working with an impedance controlled board, the formula for propagation delay will be relatively simple and will depend on the relative dielectric constant of the board substrate. When working the ~100 Mbps systems or higher, you’ll need to consider propagation delay throughout your board, and it is a good idea to use impedance controlled design.

    Large ICs and traces on a green PCB

    Make sure your PCB design software has the analysis tools you need

     

    Propagation Delay and Skew in Parallel Data Processing

    When processing data in parallel, additional data errors can accumulate if the propagation delay between bits is not compensated properly. Certain parallel within a net may require greater delay if the output from less significant bits determines the processing steps applied to more significant bits.

    This generalized consideration may sound odd, but take the following as an example. Suppose you are designing a ripple carry adder for use in a PCB or in an IC. This device is basically a series of 1-bit adders that process input bits in parallel. The bits that make up the two digital numbers to be added must be input to each adder in parallel, and each adder may generate a carry bit.

    The adder for the LSB will output a carry bit to the next greatest bit, and so on up to the MSB. The output from the LSB to the next highest bit will experience some propagation delay. You’ll also need to account for the total skew due to the rise time of the logic gates in each adder. The carry bit and the input bits in each adder need to remain in sync, and the propagation delay and accumulated skew in the carry bit require that the inputs bits in higher digits must be delayed slightly.

    The total delay between each digit is equal to the propagation delay for the signal travelling between adders, plus double the rise time of the entire logic circuit in the adders (assuming both adders are from the same logic family). When you’re only working with a few bits at low speed, this will not desynchronize signals between bits. But when you’re working with, for example, 32-bit numbers at 1 Gbps or higher, the delay on the carry bit reaching the MSB will be 32 times larger than the carry propagation delay between neighboring adders.

    This is a very significant delay that can desynchronize data across the adder. In order to compensate the delay on the data input to the adders for higher digits, you’ll actually need to add some delay to the input bits that reach each adder. Successively higher bits will require more delay.

    The easiest way to do this is to meander traces leading into the adders for higher digits. This will compensate for the propagation delay and accumulated skew in the carry bit. Higher digits require a greater delay, but the pair of bits input to the adder must still be synchronized. The easiest way to apply this delay is to meander pairs of traces leading into each adder. Make sure to allow some extra space between pairs of traces for each adder when applying meandering.

    Several ICs in parallel on a PCB

    Ensure you can trust your simulation results

    Note that these issues with delaying the arrival of successive bits do not just apply to adders. They really apply to any logic circuit for parallel processing where the output from processing one bit is used as an input for processing the next bit.

    Components (e.g., FPGAs) that can be used for parallel processing can have a delay line structure that accumulates carry delay between successive bits. These values can reach dozens of picoseconds per bit. When you’re working with large numbers at high speed, bits in higher digits can become desynchronized from the LSB. If you are designing to specific standards that require low bit error rate, compensating delay on the input signal lines is a simple solution to prevent bit errors.

    So how can you ensure data integrity in your next high speed digital system? You need routing tools that make it easy to compensate delay between elements in your PCB. The advanced routing and simulation tools in Altium Designer® can help you avoid signal integrity problems and keep bit error rates low.

    Now you can download a free trial and find out if Altium is right for you. Talk to an Altium expert today to learn more.

    About Author

    About Author

    PCB Design Tools for Electronics Design and DFM. Information for EDA Leaders.

    most recent articles

    Back to Home