element14 Community
element14 Community
    Register Log In
  • Site
  • Search
  • Log In Register
  • Community Hub
    Community Hub
    • What's New on element14
    • Feedback and Support
    • Benefits of Membership
    • Personal Blogs
    • Members Area
    • Achievement Levels
  • Learn
    Learn
    • Ask an Expert
    • eBooks
    • element14 presents
    • Learning Center
    • Tech Spotlight
    • STEM Academy
    • Webinars, Training and Events
    • Learning Groups
  • Technologies
    Technologies
    • 3D Printing
    • FPGA
    • Industrial Automation
    • Internet of Things
    • Power & Energy
    • Sensors
    • Technology Groups
  • Challenges & Projects
    Challenges & Projects
    • Design Challenges
    • element14 presents Projects
    • Project14
    • Arduino Projects
    • Raspberry Pi Projects
    • Project Groups
  • Products
    Products
    • Arduino
    • Avnet Boards Community
    • Dev Tools
    • Manufacturers
    • Multicomp Pro
    • Product Groups
    • Raspberry Pi
    • RoadTests & Reviews
  • About Us
  • Store
    Store
    • Visit Your Store
    • Choose another store...
      • Europe
      •  Austria (German)
      •  Belgium (Dutch, French)
      •  Bulgaria (Bulgarian)
      •  Czech Republic (Czech)
      •  Denmark (Danish)
      •  Estonia (Estonian)
      •  Finland (Finnish)
      •  France (French)
      •  Germany (German)
      •  Hungary (Hungarian)
      •  Ireland
      •  Israel
      •  Italy (Italian)
      •  Latvia (Latvian)
      •  
      •  Lithuania (Lithuanian)
      •  Netherlands (Dutch)
      •  Norway (Norwegian)
      •  Poland (Polish)
      •  Portugal (Portuguese)
      •  Romania (Romanian)
      •  Russia (Russian)
      •  Slovakia (Slovak)
      •  Slovenia (Slovenian)
      •  Spain (Spanish)
      •  Sweden (Swedish)
      •  Switzerland(German, French)
      •  Turkey (Turkish)
      •  United Kingdom
      • Asia Pacific
      •  Australia
      •  China
      •  Hong Kong
      •  India
      •  Korea (Korean)
      •  Malaysia
      •  New Zealand
      •  Philippines
      •  Singapore
      •  Taiwan
      •  Thailand (Thai)
      • Americas
      •  Brazil (Portuguese)
      •  Canada
      •  Mexico (Spanish)
      •  United States
      Can't find the country/region you're looking for? Visit our export site or find a local distributor.
  • Translate
  • Profile
  • Settings
FPGA
  • Technologies
  • More
FPGA
Blog The Art of FPGA Design - Post 30
  • Blog
  • Forum
  • Documents
  • Quiz
  • Events
  • Polls
  • Files
  • Members
  • Mentions
  • Sub-Groups
  • Tags
  • More
  • Cancel
  • New
Join FPGA to participate - click to join for free!
  • Share
  • More
  • Cancel
Group Actions
  • Group RSS
  • More
  • Cancel
Engagement
  • Author Author: fpgaguru
  • Date Created: 12 Jun 2019 3:07 PM Date Created
  • Views 2615 views
  • Likes 5 likes
  • Comments 1 comment
  • fpga_featured
  • xilinx
  • vhdl
  • guest writer
Related
Recommended

The Art of FPGA Design - Post 30

fpgaguru
fpgaguru
12 Jun 2019

The DSP58 Primitive

 

Xilinx has recently announced a new 7nm FPGA family called Versal. Devices in this family will have an improved version of the UltraScale/UltraScale+ DSP48E2 primitive we just studied in the last posts. The new Versal primitive is called DSP58 and there are numerous improvements compared to the earlier DSP48.

 

First of all, the signed multiplier, which was 27x18 in DSP48 is now 27x24 and the 48-bit post-adder/accumulator is 58 bits, which is where the name of the new primitive comes from. Together, these two new features will make implementing larger FIRs easier - it is now possible to add 256 27x24 product terms together in a DSP58 chain without concerns about internal overflows. The P cascade shift right by 17 bits that can be used to implement larger multipliers is still supported for backwards DSP48 compatibility but now there is a new shift right by 23 bits mode to match the larger multiplier.

 

One entirely new feature is the dot product or INT8 mode. The 27-bit A port can be divided into three 9-bit parts A2, A1 and A0, while the 24-bit B port is similarly divided into three 8-bit parts, B2, B1 and B0. The DSP58 can then compute P=±A2*B2±A1*B1±A0*B0 in one operation. This is a major improvement over what could have been done with one DSP48, where only two INT8 products could be computed in parallel, they had to share a common factor and without the final sum. This new feature will make implementing AI algorithms like deep neural networks much more efficient.

 

The 12 and 24-bit SIMD modes still exist, as well as the wide XOR12, XOR24, XOR48 and XOR96 modes, but new XOR22, XOR34, XOR58 and XOR116 modes have been added.

 

Another completely new feature is the complex mode. In this mode two adjacent DSP58s are connected in tandem and they can implement an 18x18 complex multiplier, where one DSP58 computes the real part of the result and the second one the imaginary part. The 3-input post adder is also available in a complex format. This is a significant improvement over the 3 or 4 DSP48s required to implement a complex multiplication.

 

Finally, the DSP58 supports now floating point operations. A single DSP58 can implement a floating point multiplication, either FP32 or FP16, followed by a FP32 adder/accumulator. This replaces from 2 to 4 DSP48s, plus a few hundred LUTs and FFs that were needed to implement the same functionality in earlier Xilinx FPGA families.

 

Like with DSP48s, both behavioral inference and direct primitive instantiation design styles will be available, the new primitives are called DSP58, DSPCPLX and DSPFP32. The same guideline remains valid, if the synthesis tool infers the desired result use behavioral code, if not instantiate a device primitive directly.

 

Back to the top: The Art of FPGA Design

  • Sign in to reply
  • DAB
    DAB over 6 years ago

    Nice update.

     

    Adding the DOT product capability will enable spectral processing options to the FPGA line.

     

    DAB

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • More
    • Cancel
element14 Community

element14 is the first online community specifically for engineers. Connect with your peers and get expert answers to your questions.

  • Members
  • Learn
  • Technologies
  • Challenges & Projects
  • Products
  • Store
  • About Us
  • Feedback & Support
  • FAQs
  • Terms of Use
  • Privacy Policy
  • Legal and Copyright Notices
  • Sitemap
  • Cookies

An Avnet Company © 2025 Premier Farnell Limited. All Rights Reserved.

Premier Farnell Ltd, registered in England and Wales (no 00876412), registered office: Farnell House, Forge Lane, Leeds LS12 2NE.

ICP 备案号 10220084.

Follow element14

  • X
  • Facebook
  • linkedin
  • YouTube