high level programming of FPGAs


Recommended Posts

Hello Howard1,


In fact I am working on just such a thing, its called the Papilio Schematic Editor and it allows you to develop for the Papilio board using the Schematic Editor. It is in heavy development right now, we are still at the beginning of the effort. But I think it is useful already and I'm getting ready to make a new release in the next couple days that adds a LOT of cool features, such as a built in Logic Analyzer!


Here is a getting started guide for the Papilio Schematic Library, please bear with me, things are moving so quickly that the guide needs to be updated already. Please watch for a new release soon.



Link to comment
Share on other sites

Right now the wishbone modules that are tested and working are:


  • YM2149 Audio Chip
  • Wishbone Data Passthrough
  • Pokey Audio Chip
  • C64 SID Audio Chip
  • SPI
  • UART
  • i2c
  • Seven Segment controller
  • A wishbone template example (to design your own wishbone cores)
  • HQVGA adapter


Standalone devices are:

  • Audiomixer
  • DeltaSigma DAC
  • Splitter2
  • Splitter4

Benchy (Test Modules) are:

  • Waveform Generator, sin, cos, sawtooth, square
  • Sump Logic Analyzer. The same as used in Openbench Logic Sniffer but improved for dropping into a schematic and debugging.

These are the modules that I've been working on and are pretty much ready to go now.


There are tons of wishbone modules that can be easily added from http://opencores.com.


The next cores I intend to add are a Bitcoin core, Gateman Poly Synthesizer, and all the AVR peripherals.


This is just the very beginning...


We don't have any way to add 30 USB ports at this time. We don't have a USB core yet, and generally USB cores are pretty big anyway so 30 would be tough to do.



Link to comment
Share on other sites

Do you need USB host or USB device, (I assume host as one doesnt usually have more than one device port) if so then it may be better to use one USB core an an external HUB or HUBs to get 30 ports, there are not enough pins on any of the papilios for 30 USB ports anyway needless to say space for 30 host cores in the FPGA, why do you need so many anyway?


On the subject of high level development, I personally think that learning digital design is more useful in the long run as it allows you more understanding of what is going on, the high level tools are fine for if what you really want is a computer that instead of being general purpose just does this specific DSP stuff instead but you can't exactly do general purpose digital development with them.


And to add new function for the thing Jack is working on one would write a wishbone core in verliog VHDL or use the schematic editor (A bad choice as it will be extremely slow and far less expressive than HDL).

Link to comment
Share on other sites

  • 4 weeks later...

Jack - what's your opinon on MyHDL

- which spits out Verilog/VHDL but is programmed in python and its consistent modelling removes some of the problems with Verliog and VHDL as languages. ?

- http://en.wikipedia.org/wiki/MyHDL

- http://www.myhdl.org/doku.php

- http://www.jandecaluwe.com/hdldesign/ - specifically http://www.jandecaluwe.com/hdldesign/the-case-for-a-better-hdl.html



- http://www.linuxjournal.com/node/7542/print

- http://www.fpgarelated.com/showarticle/25.php


Can it be used alongside, or integrated with, your Papilio Schematic Editor ?

Maybe this could help to get people learning and contributing some modules and lighten the load ?

Link to comment
Share on other sites

I am the original poster of this question.several people mentioned my HDL is a higher-level language


I am not sure how I would proceed with mYHDL for something like my present project.  Right now I am working on an Arduino  project with an existing C library for  selectively driving any one of several hundred RGB LEDs   The library is in  C.   I am using MIDI-IN data to trigger different patterns  on a bitmapped 2 D display.


given my very limited digital logic experience I don't see the way to use an HDL.  Is there a "schematic " of a MIDIa(or serial)  to

o parallel plus an SPI driver?


Link to comment
Share on other sites

Sorry for taking a while to get back to you on this one. It actually sounds like the Sound Puddle project will be of help. The sound puddle drives thousands of RGB LEDs using multiple SPI masters. The code is located here.


The Sound Puddle is not ported to a Schematic Library project yet, but maybe you can experiment with the code that is there and we can work towards getting the Sound Puddle setup in schematic format.


The RetroCade is in schematic format, just download the Papilio Schematic Library and look at the RetroCade example. That has an example of setting up MIDI control, its just a serial port and the code is implemented as a c library.



Link to comment
Share on other sites


This topic is now archived and is closed to further replies.