Howard1

high level programming of FPGAs

Recommended Posts

Do you have any suggested high level programming languages like matlab or labview to develop code for your FPGA boards?   both have expensive software addons for FPGAs. 

 

But are there any open source or low cost softwware packages? 

Share this post


Link to post
Share on other sites

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.

 

Jack.

Share this post


Link to post
Share on other sites

This looks very interesting.  Is there a list of widhbone modules that are now in the library?  How does a user desing a new hardware wishbone function.

 

I have one application that requires at least 30 USB ports.  Is this possible with any of your boards?

Share this post


Link to post
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.

 

Jack.

Share this post


Link to post
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).

Share this post


Link to post
Share on other sites

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

 

Articles/examples:

- 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 ?

Share this post


Link to post
Share on other sites

I have never really tried myHDL out, I'm pretty happy with VHDL. Once I get the PSL better situated maybe I will look into a tutorial about how to make a module for the PSL using myHDL. Actually, that sounds like a good idea, I'm putting it on the task list.

 

Jack.

Share this post


Link to post
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?

 

Thanks

Share this post


Link to post
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.

 

Jack.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now