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 & Tria 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
Forum Choices of Design and Build one FPGA Project on Digilent Arty-S7
  • Blog
  • Forum
  • Documents
  • Quiz
  • Events
  • Polls
  • Files
  • Members
  • Mentions
  • Sub-Groups
  • Tags
  • More
  • Cancel
  • New
Join FPGA to participate - click to join for free!
Actions
  • Share
  • More
  • Cancel
Forum Thread Details
  • Replies 15 replies
  • Subscribers 558 subscribers
  • Views 3797 views
  • Users 0 members are here
Related

Choices of Design and Build one FPGA Project on Digilent Arty-S7

fyaocn
fyaocn over 3 years ago

Migration from the Spartan-6 to the Spartan-7 FPGAs brings about improvements, but it would be interesting to find out which roadmap is preferable by developers. Here is the choices,

  • Design Baremetal with simple Flip-Flops in  Block Design in VIvado

image

  • Design Baremetal with IP integrator in Vivado

image

  • Design Baremetal with Verilog , System Verilog or VHDL in Vivado

image

  • Designing with MicroBlaze only in Vivado

image

  • Desiging with C++ code in Vitis 

image

Refer the the blog Build a project with the Arty S7-The Blinky Project - Blog - FPGA - element14 Community  for several proposed choices for details. 

  • Sign in to reply
  • Cancel

Top Replies

  • Jan Cumps
    Jan Cumps over 3 years ago +8
    I have an opinion : When learning FPGA, I'd advise not to go the MicroBlaze and C++ way. Because then you're back in the microcontroller world and the usual programming languages. You don't learn the…
  • michaelkellett
    michaelkellett over 3 years ago in reply to saadtiwana_int +7
    Cost, power, complexity ! (The comment was made in a thread based on Spartan6/7 which are being pushed as "entry level" FPGAs) The ARM cores in the Zynq are application processors not micro controllers…
  • beacon_dave
    beacon_dave over 3 years ago in reply to michaelkellett +5
    What I had envisioned here was a learning path that takes someone with microcontroller experience on say an Arduino Uno and give then an alternative route into FPGA by building on what they already know…
Parents
  • beacon_dave
    beacon_dave over 3 years ago

    The simple answer is perhaps to pick the right tool for the task in hand.

    However it can be hard to know which is the right tool unless you are familiar with each of them.

    Productivity, time and cost may influence the decision.

    I've been reading a book on digital design recently and after consuming the first 150 pages or so of old school 'bare metal' logic design, the author decides to allude to the reader that it is impractical to keep on designing like this as the scale of integration continues to increase. It is a lot more productive to use computer aided design to optimise the design for you using HDL. So, next chapter it is introduction to VHDL or Verilog (depending on which version of the book you bought). It wouldn't surprise me if by the end of the book the author informs the reader that it is impractical to keep on designing like this and it is more productive to synthesise directly from C++ using modern design tools (and to buy his next book... Slight smile )

    As with most technologies these days various layers of abstraction likely come into play. I suspect most people are only ever working mainly within a small window on the technology timeline, with most of the detail having being abstracted away in order to increase productivity and to maintain portability across platforms.

    The MicroBlaze soft processor is an interesting one. I could potentially see a learning path which makes this a very useful entry point to FPGA for those already familiar and comfortable working with microcontrollers. You start with the soft processor, you then customise the soft processor to fit your needs. You then create a custom peripheral to use along with the soft processor. Finally you create multiple soft processors and multiple peripherals to create a highly customised microcontroller design all on the one FPGA device.

    • Cancel
    • Vote Up +2 Vote Down
    • Sign in to reply
    • Cancel
  • michaelkellett
    michaelkellett over 3 years ago in reply to beacon_dave

    There are some downsides:

     Useable resourse in an FPGA costs a great deal more than it does in application level silicon designs like micro processors and micro-controllers. (That's why Xilinx have Xynq with embedded ARM processors).

    The tools to develop with standard processor designs have had the benefit of thousands of man years of development.

    Simple FPGA processors like MicroBlaze are quite cheap although the single source toolset leaves a lot to be desired. As soon as you customise the processor (in any significant way)  you are on your own.

    Custom peripherals are all very well but the FPGA silicon environment isn't a good place for RF, analogue or power control - if logic will do all you need that's fine.

    Multiple custom processors and peripherals in a single design will get very difficult (and expensive) to develop.

    I've usually found the best place to be is with a standard micro-controller and a seperate FPGA. The design complexity is much easier to manage and control. The interface between the two can be a problem, I wish there  were application processors with a good fast board level interface to FPGA type devices.

    MK

    • Cancel
    • Vote Up +3 Vote Down
    • Sign in to reply
    • Cancel
  • saadtiwana_int
    saadtiwana_int over 3 years ago in reply to michaelkellett

    "I've usually found the best place to be is with a standard micro-controller and a seperate FPGA."

    Why not use something like Zynq-7000 series device? You get one or more processors and programmable fabric. Since everything is inside the chip, interfacing between the two is without any external connections.

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Cancel
  • michaelkellett
    michaelkellett over 3 years ago in reply to saadtiwana_int

    Cost, power,  complexity ! (The comment was made in a thread based on Spartan6/7 which are being pushed as "entry level" FPGAs)

    The ARM cores in the Zynq are application processors not micro controllers.

    They can go fast and are usually used with a big operating system and external dynamic RAM. They don't have on chip flash.

    If you follow the questions on forums you'll see that a very large proportion of the questions asked about Zynq are actually Linux issues.

    You can use the ARM cores on the Zynq running bare metal but you are swimming upstream - it's not waht most people are doing and its not where the support is.

    All Zynqs come in BGA packages, if you use DDRAM that will too, and your pcb design gets complex (time matched and impedance controlled traces).

    I've designed lots of different micro plus smallish FPGA type systems on 4 layer 0.15mm design rule pcbs with no need for impedance control and using QFN or TQFP packages.

    Usually less than 64k bytes of code in the uP.

    Contrast with a typical Linux  !

    I'm not suggesting that sometimes a Zynq isn't just what you need, just that when you need to format shift the audio data from a high end camera and send it out over an AES interface (a real paid for example) then what you need is £2 uP and a £4 FPGA.

    MK

    • Cancel
    • Vote Up +7 Vote Down
    • Sign in to reply
    • Cancel
Reply
  • michaelkellett
    michaelkellett over 3 years ago in reply to saadtiwana_int

    Cost, power,  complexity ! (The comment was made in a thread based on Spartan6/7 which are being pushed as "entry level" FPGAs)

    The ARM cores in the Zynq are application processors not micro controllers.

    They can go fast and are usually used with a big operating system and external dynamic RAM. They don't have on chip flash.

    If you follow the questions on forums you'll see that a very large proportion of the questions asked about Zynq are actually Linux issues.

    You can use the ARM cores on the Zynq running bare metal but you are swimming upstream - it's not waht most people are doing and its not where the support is.

    All Zynqs come in BGA packages, if you use DDRAM that will too, and your pcb design gets complex (time matched and impedance controlled traces).

    I've designed lots of different micro plus smallish FPGA type systems on 4 layer 0.15mm design rule pcbs with no need for impedance control and using QFN or TQFP packages.

    Usually less than 64k bytes of code in the uP.

    Contrast with a typical Linux  !

    I'm not suggesting that sometimes a Zynq isn't just what you need, just that when you need to format shift the audio data from a high end camera and send it out over an AES interface (a real paid for example) then what you need is £2 uP and a £4 FPGA.

    MK

    • Cancel
    • Vote Up +7 Vote Down
    • Sign in to reply
    • Cancel
Children
  • Jan Cumps
    Jan Cumps over 3 years ago in reply to michaelkellett

    (steering away from Spartan, over to Zynq land. a bit of a side story:)

    The new Tektronix 2 Series oscilloscope uses a Zynq UltraScale. In this interview with EEVblog, Andy Tedd briefly discusses what runs in the fabric and what on the application processors.

    You don't have permission to edit metadata of this video.
    Edit media
    x
    image
    Upload Preview
    image

    It's insight that's not always out there, but no surprises on what goes where..

    not affiliated.

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Cancel
  • saadtiwana_int
    saadtiwana_int over 3 years ago in reply to michaelkellett

    Thanks for your excellent, detailed reply. You made some really good points there!

    Cheers,
    Saad

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • 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