Shop OBEX P1 Docs P2 Docs Learn Events
New possibilities — Parallax Forums

New possibilities

pik33pik33 Posts: 2,366
edited 2014-08-11 14:24 in Propeller 1
What I attached is my good old Propeller player using vga, keyboard, SD card and SID emulator. I am using its video driver to test my FPGA environment.
(if someone want to try it, use BST to compile, or you will get a message it cannot fit in 32 kB)

but

at now I have the Propeller running stable @140 MHz (the wall is now 150 MHz - Chip gives some advices how to move it higher, but I have to learn this timing setting tool I didn't use before). Having a 140 MHz Prop, VGA Nostalgia driver may (1) fit in 1 cog or (2) go to 1024x768 resolution.

Then the SIDCog. It is running @32 MHz. 140 MHz Propeller should allow it to run @64 kHz and it means less aliases and more clear sound.

The sound should be no more generated via PWM, as we have a real soundchip od DE2-115. Driver needs to be written.

So the goal is:

- to recreate PropPlay fully using 1024x768 vga and 64 kHz SID in DE2-115 without any additions, except eventually, 24c256 added on GPIO


About licensing, I received an answer from Chip
I guess what we must do is make an exception for GPL when it involves some Parallax open-sourced project. I agree with you. Don't take your code down. I'll make a post to explain.

so, to not make a mistake

please confirm if I can put my Propeller FPGA GPL code based projects here

In the meantime I'll start to write a driver for WM8731 chip to make it play.

Comments

  • overclockedoverclocked Posts: 80
    edited 2014-08-10 23:52
    Nice! Thanks for sharing! So when you say 140 Mhz is that the Pll clock running at 140 or the cog clock or both?
  • pik33pik33 Posts: 2,366
    edited 2014-08-11 00:36
    PLL is running @280 MHz, the cog is running @ 140 MHz. 290/145 is also stable (I had no fail at this speed) but the picture quality is then worse. Pixel clock is @40 MHz, 145/40=3.625 and this causes jitter. 140/40=3.5 and vertical lines are not jagged then.The video dac need to be clocked....

    ... and I made an error giving it PLL 280 MHz clock which is high over its specs... It is strange it still works... need to correct this
  • overclockedoverclocked Posts: 80
    edited 2014-08-11 03:51
    pik33 wrote: »
    PLL is running @280 MHz, the cog is running @ 140 MHz. 290/145 is also stable (I had no fail at this speed) but the picture quality is then worse. Pixel clock is @40 MHz, 145/40=3.625 and this causes jitter. 140/40=3.5 and vertical lines are not jagged then.The video dac need to be clocked....

    ... and I made an error giving it PLL 280 MHz clock which is high over its specs... It is strange it still works... need to correct this

    WOW, that's very good! So almost double the original performance then?
    Maybe the PLL isn't up to running frequencies over 280Mhz. I'm not sure the spec's for the DE2-115 Cyclone chip.

    And how does this work with timing for VGA/TV or other signals? Must the programs be rewritten for each stepping when overclocking?
    I'm not really into the details about COG/HUB-programming just yet..
  • pik33pik33 Posts: 2,366
    edited 2014-08-11 04:38
    300 MHz seems to be high clock for this fpga. The specification tells max pll output clock is something over 400 MHz.

    Video driver for vga only needed this:

    _clkfreq = 140_000_000 instead of 80_000_000
  • pik33pik33 Posts: 2,366
    edited 2014-08-11 05:58
    About WM8731 driver: it has 2 interfaces: i2c and i2s. The first is simple and 2 prop pins wll be sufficient. The second needs precise timing and fast serial transmission. I think I will stay with FPGA solution I have now: 512 byte hardware audio buffer which transmits its contents via i2s.

    The buffer as it is now was created for NIOS and it has 32bit parallel input. This is not good for a Prop :( and need to be rewritten for serial input/output. The serial transmission will need something about 1.5..3 Mbps. Seems to be possible with a 140 MHz Propeller, but maybe it will be better to try to add active portb... Then use 16-bit parallel transmission.
  • ozpropdevozpropdev Posts: 2,792
    edited 2014-08-11 06:38
    pik33 wrote: »
    maybe it will be better to try to add active portb... Then use 16-bit parallel transmission.
    @pik33
    I've been trying to get PortB going on the DE0-nano today but Quartus (13.1 on Win 7 32 bit) has been giving me grief :(
    It has crashed a few times and my project file seems to get corrupted. Very annoying.
    PortB on a nano would work nicely as it has two 40 pin connectors.
  • Bill HenningBill Henning Posts: 6,445
    edited 2014-08-11 07:45
    Don't forget the 26 (?) pin connector on the bottom...
  • ozpropdevozpropdev Posts: 2,792
    edited 2014-08-11 07:53
    Don't forget the 26 (?) pin connector on the bottom...
    Yep, that's why I like the little Nano. I've actually used it more than my DE2-115! :)
  • Ken GraceyKen Gracey Posts: 7,392
    edited 2014-08-11 08:36
    pik33 wrote: »


    About licensing, I received an answer from Chip

    so, to not make a mistake

    please confirm if I can put my Propeller FPGA GPL code based projects here

    In the meantime I'll start to write a driver for WM8731 chip to make it play.


    Yes, we will be amending the Forum Rules to allow GPL code.

    This is on our agenda for this week, but go ahead and make yourself at home in the meantime.

    Ken Gracey
  • Cluso99Cluso99 Posts: 18,069
    edited 2014-08-11 14:24
    Great news Ken.

    To all,
    I think it might be prudent to ensure all verilog code posted (unless its a snippet) has the Parallax GPL3 text attached as part of the file or code posted here. This could avoid any problems down the track.
Sign In or Register to comment.