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
  • 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 "7 Ways to Leave Your Spartan-6 FPGA" program. My summary.
  • Blog
  • Forum
  • Documents
  • Quiz
  • Events
  • Polls
  • Files
  • Members
  • Mentions
  • Sub-Groups
  • Tags
  • More
  • Cancel
  • New
FPGA requires membership for participation - click to join
  • Share
  • More
  • Cancel
Group Actions
  • Group RSS
  • More
  • Cancel
Engagement
  • Author Author: javagoza
  • Date Created: 27 Jul 2022 11:53 AM Date Created
  • Views 1403 views
  • Likes 11 likes
  • Comments 2 comments
  • tutorial
  • tachometer
  • environmental
  • arty-s7
  • spartan_6
  • project
  • AMD XILINX
  • color sensor
  • 7 Ways to Leave Your Spartan-6
  • experimenting
  • pwm
  • fpga
  • digilent
  • spartan-7
  • PID Control
  • tof
  • Spartan_Migration
  • sensor
Related
Recommended

"7 Ways to Leave Your Spartan-6 FPGA" program. My summary.

javagoza
javagoza
27 Jul 2022
"7 Ways to Leave Your Spartan-6 FPGA" program. My summary.

This is the summary of my participation in the "7 Ways to Leave Your Spartan-6 FPGA" program.

Listing and categorization of blog posts for the Spartan program

I have published 13 blog entries with 11 different projects. I've added a temperature and humidity sensor, four magnetic hall effect sensors, a color sensor, a time of flight sensor and finally an IR thermal sensor array. I have experimented with them on 9 different projects. 

I have tried that each of the projects had a step-by-step guide from start to finish with a video that demonstrates its operation. Each small project includes its BOM, the developed code and the link to the Github repository for the latest version of the code.

My goal was to regularly do one post a week, eventually there are a few more, there was a lot to learn and document what I had learned about the AMD Xilinx Spartan-7 FPGA and the Vivado ML development toolset.

Blog

Categories

image Arty S7 50 First Power Up and Hardware-Only Blinky

Build A Project

Tutorial

image Arty S7 50 First Baremetal Software Project

Build A Project

Tutorial

image Arty S7 50 Rapid Prototyping - Environmental Monitor

Build A Project

Add Sensor

Temperature + Humidity Sensors

Experiment

image Arty S7 50 ArtyBot Pulse Width Modulation (PWM) for Motor Speed Control

Build A Project

Experiment

image Arty S7 50 ArtyBot Custom AXI4 Lite IP Peripheral for Sensing Motor Rotational Speed

Build A Project

Add Sensor

Hall Magnetic Sensors

Experiment

image Arty S7 50 ArtyBot How to Store MicroBlaze Program in the Quad-SPI Flash from Vivado

Tutorial

image Arty S7 50 ArtyBot - Bot Application Framework

Build A Project

Add Sensor

Magnetic Sensors

Experiment

image Arty S7 50 ArtyBot becomes Emubot, an educational robot for young children

Build A Project

Add Sensor

Magnetic Sensors

Experiment

image Arty S7 50 ArtyBot - Color sensing and line follower

Build A Project

Add Sensor

Color Sensor + Magnetic Sensors

Experiment

image Arty S7 50 The Spartan-6 Migration Path Game. Learning the Differences Between Spartan-6 and Spartan-7 FPGAs

Spartan Differences Blog

Build a Project

Add Sensor

Color Sensor + Magnetic Sensors

Experiment

Obstacle Avoidance Arty S7 50 ArtyBot ToF Sensor for Obstacle Avoidance. Vivado Hierarchical Blocks

Build A Project

Add Sensor

ToF Sensor + Magnetic Sensors

Experiment

image Arty S7 50 VGA Thermal Imaging Camera

Build A Project

Add Sensor

Thermal Array Sensor

Experiment


Summary What I Learned About the Spartan-7 FPGA

I thought that the world of FPGAs was not for me, a software developer, but I was totally wrong. Having a good foundation in Digital Electronics is a must if you want to get into HDL programming.

But the tools in the Vivado suite mean that many hobby projects don't require that knowledge. And the hobbyist can build systems with blocks that are like Lego blocks.

Spartan-7 FPGAs are a very good choice with a highly optimized cost and offering superior model features such as integrated ADC, dedicated safety features and Q grade.  The Spartan-7 provide dedicated DSP Slices that can implement an ALU that performs any of ten different logic functions on the two input operands  and also incorporates a built-in pattern detector and a 17-bit shift register. I have yet to fully understand these features and experiment with them.

The Digilent Arty S7 50  board allows you to fully experiment with the main features of the Spartan-7 FPGA. Digilent has taken care that it is a product that can be used by amateurs like me. The integration with the Vivado ML development tools is exceptional from my humble point of view. 

It is a dream to be able to create a system that meets your specific needs for parallelism, number of ports and communication protocols with peripherals and with optimized power consumption at an affordable cost.

About the element14/AMD Xilinx "7 Ways to Leave Your Spartan-6 FPGA" program.

I have enjoyed participating in this program. I was first surprised that my application was accepted given my limited knowledge on this subject. It has been a unique opportunity to self-impose a plan to learn to the maximum during the two months that the program lasts.

I have managed to at least have an idea of what flow an FPGA-based embedded system development has to take and begin to be aware of how many things I still have to learn.

During the project I have had some problem with the Arty S7 board and I have learned two things, it is essential to know the power consumption at all times and be able to limit it automatically and it is very important to isolate the system under test from your work computer. Thanks to the element-14 community members who helped me solve these problems: My Arty S7 board has killed three USB 3.0 ports on my Microsoft Surface Studio, Arty S7 rev B vs Arty S7 rev E? Somewhat confused.

I hope that the blogs that I have written serve as an inspiration and help to other hobbyists who, like me, want to delve into the development of FPGA-based systems. I think this is going to be the beginning of a long relationship with the world of FPGAs. 

Thanks to the other participants in the program and other members of the community who have given me advice when I have had problems. I have enjoyed and learned a lot from the blogs of the other participants, some already experienced with FPGAs and who have had no problem sharing what they knew and what they didn't.

Thanks to element14 and AMD Xilinx for sponsoring this program.

  • Sign in to reply
  • javagoza
    javagoza over 2 years ago

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

    Animation 800x600 @60Hz with double buffer. It takes a long time to generate the images, but for the purpose of the thermal camera it will serve us well. I have yet to find lower resolution modes compatible with my monitor.

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • More
    • Cancel
  • javagoza
    javagoza over 2 years ago

    image

    Starting a new project with the Arty S7 50 a Thermal Camera with a VGA display.

    First step achieved. Images displayed from a frame buffer in DDR, using a number of components in the FPGA logic to generate the VGA color and sync signals.

    Based in Zybo VGA Output - Real-Time Systems - York Wiki Service

    It has not been an easy task. After multiple iterations I have managed to get Vivado to generate the hardware platform. I thought it would be easier. I am preparing a blog with the whole process.

    image

    vga hierarchy using the following sources from Digilent:

    • axi_dynclk_v1_0: Dynamic Clock Generator (Digilent)
    • rgb2vga_v1_0: RGB to VGA output (Digilent)

    image

    Pmod JC output, green color [3:0], vsync & hsync

    image

    Next step: adapt GitHub - melexis/mlx90640-library: MLX90640 library functions to microblaze HAL.

    • 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