element14 Community
element14 Community
    Register Log In
  • Site
  • Search
  • Log In Register
  • About Us
  • 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
Forum FPGA-Devboard with iCE40
  • 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 4 replies
  • Subscribers 550 subscribers
  • Views 1155 views
  • Users 0 members are here
  • dev-kits
  • fpga
  • vhdl
  • lattice
  • ice40
Related

FPGA-Devboard with iCE40

Former Member
Former Member over 5 years ago

Hey everyone!

 

I recently decided to teach myself VHDL and pretty quickly settled with the Idea of designing my own dev-board with an iCE40HX4K.

I used one from Lattice because at work they are preferred (for whatever reason). I wanted to include a lot of peripherals on the board itself so I don't have to use breadboards constantly and this is what finally came out of it:

 

image

The board has:

  • 8 LEDs
  • 8 button Inputs
  • a 10-pin header with Z-Diode protection (later Use as Logic Analyzer intended)
  • VGA-connector
  • 3 7-Segment displays
  • I2C peripherals (LM75 temp sensor, 8 channel 10bit ADC with TMP36 analog temp sensor on channel 0)
  • a PMOD Port for future Modules
  • 18 IOs on a pin header

 

External SPI-Flash programming and UART interface via FT2232H, USB acting as power supply with integrated 3.3V and 1.2V voltage regulators.

 

So far so good, currently I'm learning the basics in VHDL. Already I can do more things than expected, but I'm far from fluent image

Finished Milestones:

  • "Hello World" (button activates LED)
  • Button debouncing
  • 7-segment decoding
  • counters and registers
  • processes, functions, packages, records and components

 

Milestones ahead:

  • UART communication
  • SPI communication
  • I2C communication
  • VGA output
  • Logic Analyzer with VGA display (Memory using internal 80kb BRAM as proof of concept)

 

Do you have any ideas what else I could do? Any idea would help me practicing and improving, so I'm thankful for every suggestion image

 

Best regards

  • Sign in to reply
  • Cancel

Top Replies

  • michaelkellett
    michaelkellett over 5 years ago +2
    Well done for getting your own board off the ground ! Your milestones look like a pretty good start. You could consider adding a Microchip serial RAM using some of you spare IO pins - that would make your…
  • Former Member
    Former Member over 5 years ago in reply to johnbeetem +1
    thanks! Well, the iCE40s are not simple and clean, but also cheaper than Xilinx FPGAs (which are way too big for beginning). Sure, you can do much more on the Xilinx series, but I just wanted to learn…
  • Former Member
    Former Member over 5 years ago in reply to michaelkellett +1
    Thanks for oyur input! I already considered adding a RAM chip to the board for this exact reason, but ended up not doing so for various reasons. Since this is just a development board, I use it to play…
  • johnbeetem
    johnbeetem over 5 years ago

    Nice board!

     

    iCE40 is a nice FPGA architecture.  It's clean and simple -- I would consider it the best choice for someone starting out.  A terrific feature is that iCE40 has open source "Free as in Freedom" tools so you're not handcuffed to vendor tools.

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

    Well done for getting your own board off the ground !

     

    Your milestones look like a pretty good start.

     

    You could consider adding a Microchip serial RAM using some of you spare IO pins - that would make your logic analyser a bit more capable.

    They do 1Mbit versions of the pure ram but also the amazing instant back up non volatile version.

     

    MK

    • Cancel
    • Vote Up +2 Vote Down
    • Sign in to reply
    • Cancel
  • Former Member
    Former Member over 5 years ago in reply to johnbeetem

    thanks!

     

    Well, the iCE40s are not simple and clean, but also cheaper than Xilinx FPGAs (which are way too big for beginning). Sure, you can do much more on the Xilinx series, but I just wanted to learn VHDL image

     

    And regarding to the open Source toolchains: this seems only to apply to Verilog with Yosys and the related tools, for VHDL there is GHDL, but it seems it doesn't support a lot of features. For now I'm using the Lattice tools, when I try to synthesize my designs with GHDL it throws errors on me for some reason... I think I have to look further into it, but for now I just try to focus on learning how to code in VHDL image

    • Cancel
    • Vote Up +1 Vote Down
    • Sign in to reply
    • Cancel
  • Former Member
    Former Member over 5 years ago in reply to michaelkellett

    Thanks for oyur input!

     

    I already considered adding a RAM chip to the board for this exact reason, but ended up not doing so for various reasons.

    Since this is just a development board, I use it to play around, getting familiar with the architecture and VHDL and just test things.

    When I'm confident enough to create a more functioning logic analyzer, I will create another board with less peripherals and a bigger parallel chip (so I dont have to use multiple chips, one for each channel). See this board as a Trial and Error. Also I still have to make a Program which is controlling, triggering and setting up the FPGA. Including configuring the PLL and sample depth.

    With this board, learning multiple different concepts works great and it was never intended to do much more. Maybe when I'm done with these boards I can make something useful with them, but not now ^^

    • Cancel
    • Vote Up +1 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