We have detected your current browser version is not the latest one. Xilinx.com uses the latest web technologies to bring you the best online experience possible. Please upgrade to a Xilinx.com supported browser:Chrome, Firefox, Internet Explorer 11, Safari. Thank you!

Showing results for 
Search instead for 
Did you mean: 

How to stuff a wild FPGA: Quad-core 8051 in a $99 Artix-7 Arty dev board multitasks by driving display, printer, music, and sound

Xilinx Employee
Xilinx Employee
0 0 48.7K


MicroCore Labs has stuffed four of its MCL51 8051-compatible microprocessor cores into the Xilinx Artix-7 35T FPGA on the $99 Avnet/Digilent/Xilinx Arty dev board. Not so interesting unless those processors are busy doing something. They are. Here’s what they’re doing:


  • Core 0: Parallel Port Blaster driving a dot-matrix printer
  • Core 1: MIDI music player playing “Flight of the Bumblebee” (badly)
  • Core 2: Sine wave generator using an R-2R DAC
  • Core 3: 115,200bps UART Blaster sending ASCII to a terminal emulator running on a PC


Here’s a 90-second video of the quad-core system in action:







The quad-core 8051 processor consumes only 1227 Artix-7 LUTs, which is a tiny fraction of the Artix-7 35T FPGA’s programmable-logic capacity. MicroCore’s MCL51 8051 processor core is 100% instruction-set compatible with the original 8051 microcontroller, introduced 36 years ago.


So is this just a stunt? Well, not really. The ability to put multiple processor cores in an FPGA, even a small one like the Xilinx Artix-7 35T, permits you to use a “divide-and-conquer” design approach to embedded systems. By definition, there’s no interaction among the four separate processors unless you choose to make such a connection, which keeps your design as clean as you want.





Tags (1)