ChipHack aims to provide a gentle introduction to FPGA programming using the Verilog hardware description language (HDL) and is:
- a set of learning materials and workshop notes; and
- an event.
No prior experience with HDLs and FPGA workflows is assumed, but some programming experience and an understanding of basic digital electronics is required.
]]>
RetroArch FPGA – cores are beginning to run!
]]>Consider this project still in an experimental phase – but cores are already beginning to run! What you see is a FPGA devboard with RetroArch that is outputting a random libretro core to the screen.
It’s still far too premature to speculate on what this project will amount to ultimately, and what our future plans are for it, but we felt we ought to share with you this latest breakthrough in development since it has taken quite a while to get there!
The SOCZ80 Retro Computer! Here is some more info:
]]>I built a small FPGA microcomputer for the Papilio Pro board. I’ve ported a few operating systems to run on it. These 8-bit machines have very minimal features but (somewhat unexpectedly) I found they can run a multi-user, multi-tasking UNIX operating system.
The hardware specification is:
- Z80 compatible T80 CPU core at 128MHz
- 4KB paged MMU (64KB virtual, 64MB physical address space)
- 8MB SDRAM (at 128MHz), with 16KB direct-mapped cache
- 4KB ROM with monitor program
- 4KB SRAM
- UART with deep receive FIFO
- Optional second UART with FIFO and hardware flow control
- 1MHz Timer
- SPI master connected to SPI flash ROM
- SPI master connected to optional SD card socket
- GPIO
I’ve ported the following operating systems:
- CP/M-2.2
- MP/M-II
- UZI
A FPGA based design with a soft CPU and USB device interface implemented in Verilog.
This design uses an OpenRISC compatible CPU (my AltOR32 implementation) running at 48MHz (a convenient speed for USB) and features cut-down USB 1.1 (Full Speed), SPI and GPIO interfaces.
via Ultra-Embedded
]]>It is unique in that you can write VHDL/Verilog code to accomplish a task that is well suited to an FPGA and then easily package them up for sale on the AWS marketplace:
In addition to building applications and services for your own use, you will be able to package them up for sale and reuse in AWS Marketplace. Putting it all together, you will be able to avoid all of the capital-intensive and time-consuming steps that were once a prerequisite to the use of FPGA-powered applications, using a business model that is more akin to that used for every other type of software. We are giving you the ability to design your own logic, simulate and verify it using cloud-based tools, and then get it to market in a matter of days.
They even take the drudgery out of installing and using the Xilinx development tools by packaging everything up into a pre-installed Amazon Machine Instance (think virtual machine):
This AMI includes a set of developer tools that you can use in the AWS Cloud at no charge. You write your FPGA code using VHDL or Verilog and then compile, simulate, and verify it using tools from the Xilinx Vivado Design Suite (you can also use third-party simulators, higher-level language compilers, graphical programming tools, and FPGA IP libraries).
We would love to see if we could do the same thing with Xilinx ISE to help new Papilio users get started out without the huge download and time sink of the 6GB install.
The FPGA that you use is not a physical device that you purchase and have on your desktop, instead it is a PCI card with a powerful FPGA chip embedded in an Amazon server that you expose to the cloud once it runs your custom code… Pretty cool.
]]>A new startup over at Reconfigure.io is working on a cloud computing solution that uses the Go programming language to solve problems that need the flexibility and power of an FPGA. They are providing a high level compiler that lets you code for their FPGA solution using Go instead of VHDL or Verilog. It is also intended to allow a more familiar toolchain/build process that is cloud based. Part of the difficulty with current FPGA development is dealing with the toolchain and learning VHDL or Verilog, they aim to solve both of these problems…
It’s not clear what hardware they are targeting with their Go toolchain but best guess is that they are using Amazon’s FPGA resources rather then a physical board like the Papilio FPGA. Nonetheless this is an interesting FPGA company to keep watching and maybe even sign up for their alpha program…
]]>Here is a project that we missed from a couple years ago. A chord keypad that is used to speed up PCB development by making common key strokes easily available. This is particularly useful for EAGLE PCB development where you are continuously typing in commands on the keyboard…
Our friend Ken Boak put together this cool project and lists this as the capabilities:
The five main keys are located under the fingertips and thumb of the right hand, plus an additional shift key that can be held down with the thumb. This combination allows up to 64 key combinations – which is enough for simple ascii, alphas and numerals.
This is what he says about its use case:
However, this time the application is not for text entry, but to allow very rapid access to menu items, tools and colour options for a CAD program – without having to break concentration and use the keyboard.
We also had the same desire to simplify CAD input and made a custom tablet based solution, not as cool as Ken’s but its worth putting it up here too.
Sometris is a Tetris-like game that Papilio user Peter Ivanov has written for the Papilio One and Arcade MegaWing, the game works with DesignLab 1.0.8.
This is a tetris-like game for Papilio One 500K + Aracade Megawing.
You need a VGA monitor and optionally a Atari/Commodore compatible joystick.
I’ve used Papilio DesignLab 1.0.8.
The source code is available on Github.
Please feel free to comment or reply to the game forum thread.
]]>
Find this tutorial and more at GadgetFactory learn website.
]]>
DesignLab 1.0.8 has the following changes:
DesignLab 1.0.8 – 2017.01.04
[DesignLab Libraries]
-Added a new Video Audio Player example.
-Fixes for RetroCade Synth libraries.
RetroCade Synth 1.3 has the following changes:
1/4/2017 Version 1.3.1
-Fix for some LCDs that have contrast issues.
4/21/2015 Version 1.3
-Updated MIDI library to better handle NoteOffs.
-Moved to ZPUino 2.0 with a DesignLab schematic.
1/29/2014 Version 1.2
-Moved to Papilio Schematic Library and drew up a schematic of the RetroCade system.
-Added Analog mode to the LCD.
-Made joystick interaction for smallFS more intuitive. Cannot do the same for SD Card access without a lot of rework…
]]>