Prop2 FPGA files!!! - Updated 6 April 2018 - Version 32b

1115116118120121135

Comments

  • cgracey wrote: »
    I haven't heard much since I put up v31. Is anyone using it?

    Hey Chip,

    I've not been able to make s-video output work. Would be good to test component too. I just don't have my head wrapped around how to specify these.

    If you have a free minute, would you mind a sample color setup for both? Maybe just as comments to the basic TV demo?

    :D

    We've not actually tested either of these. We should.



    Do not taunt Happy Fun Ball! @opengeekorg ---> Be Excellent To One Another SKYPE = acuity_doug
    Parallax colors simplified: http://forums.parallax.com/showthread.php?123709-Commented-Graphics_Demo.spin<br>
  • I've been working all night, but I'll look into it when I get up.
  • USB demos running OK on P2v31.
    garryj
  • Thanks for the feedback, Guys. Sounds good.

    I had a big scare overnight. I was looking through some OnSemi process document and I saw current-density guidelines for resistors being 100uA/um. I had designed for 500uA/um, based on some other document, which was way too hot. I contacted OnSemi and, thankfully, they said 500uA/um is actually fine for the RPPOLY resistor that I'm using in the 123.75-ohm fast DAC. I had already redesigned it and was planning on some protracted layout efforts. Fortunately, we don't need to fret about it. Whew!
  • v31 working fine here with SD card :)
    My Prop boards: P8XBlade2, RamBlade, CpuBlade, TriBlade
    Prop OS (also see Sphinx, PropDos, PropCmd, Spinix)
    Website: www.clusos.com
    Prop Tools (Index) , Emulators (Index) , ZiCog (Z80)
  • cgracey wrote: »
    I've been working all night, but I'll look into it when I get up.

    Np big rush. Rest. :D
    Do not taunt Happy Fun Ball! @opengeekorg ---> Be Excellent To One Another SKYPE = acuity_doug
    Parallax colors simplified: http://forums.parallax.com/showthread.php?123709-Commented-Graphics_Demo.spin<br>
  • potatohead wrote: »
    cgracey wrote: »
    I've been working all night, but I'll look into it when I get up.

    Np big rush. Rest. :D

    The problem is that the FPGA image doesn't output DAC0, which is Luma for S-Video. It shifts everything down by one, so that we get the three DAC output channels on DAC0, DAC1, and DAC2, while what should be DAC0 is digital P0, used for VGA V-sync. I'll need to make a special image, or, better yet, use some switch on the FPGA board. Are you still using the DE2-115, or do you have a Prop123-A9?
  • Definitely go for the switch. :D

    I can use either. Got both.

    Ahh, that's the trouble right there! Good to know. What I got after, what I thought was a configuration based on HOT, accounting for the 8 bit DACS, was composite on both channels.

    And here's the thing. If that circuit is really just lifted from the HOT chip, and the only real difference is the NCO, instead of PLL, it's proven. Worked fantastic. We, and I mean a few of us, did do all the possible displays back then. Everything from old school mono NTSC, through to component 1080p worked great.

    I kind of want to make sure, "Drives everything" is on the spec sheet. Obviously, new school HDMI type digital is out. Converter chips for that. IMHO, it's probably wise to go that route too. Someone can make a board with one on it.

    But, with a little work, we can do it all otherwise. From TTL on up, maybe need a level shifter, but maybe not. I picked up a pro display that covers all the old formats, CGA, etc... and all the TV frequency formats, PAL, component, S-video, etc... Got that for a trade too. :D

    That all may just come in handy. Lots of industrial displays out there.

    I guess I'm saying, if it's worth it, yeah. An image using a jumper and or switch would make for some testing now, if that circuit warrants it, as it all worked a treat in HOT.









    Do not taunt Happy Fun Ball! @opengeekorg ---> Be Excellent To One Another SKYPE = acuity_doug
    Parallax colors simplified: http://forums.parallax.com/showthread.php?123709-Commented-Graphics_Demo.spin<br>
  • Ok. What FPGA board have you got?
  • I have DE2 and A9.
    Do not taunt Happy Fun Ball! @opengeekorg ---> Be Excellent To One Another SKYPE = acuity_doug
    Parallax colors simplified: http://forums.parallax.com/showthread.php?123709-Commented-Graphics_Demo.spin<br>
  • cgraceycgracey Posts: 8,905
    edited January 7 Vote Up0Vote Down
    I've got it compiling right now. I'll add it to the v31 zip file tonight.

    It uses bit 8 of HUBSET in clock-set mode to shift the DACs down by one position:
    		hubset	#$1FF			'set clock to 80MHz and shift DACs down by one pin
    
    		setcmod	#%10_1_0000		'set colorspace converter to FYC/FYC/FIQ/FYS mode (s-video)
    
    		wrpin	dacmode,#1		'enable dac mode in pin 1 (FIQ = chroma)
    		wrpin	dacmode,#0		'enable dac mode in pin 0 (FYS = luma)
    
  • cgraceycgracey Posts: 8,905
    edited January 7 Vote Up0Vote Down
    Potatohead,

    There's a new v31 zip file at the top of this thread which has a new Prop123_A9_Prop2_8cogs_v31.rbf image that uses bit 8 of HUBSET in clock-set mode to shift the DACs down by one pin.

    This NTSC file outputs S-video as described in the previous post:

  • Cool, thanks!
    Do not taunt Happy Fun Ball! @opengeekorg ---> Be Excellent To One Another SKYPE = acuity_doug
    Parallax colors simplified: http://forums.parallax.com/showthread.php?123709-Commented-Graphics_Demo.spin<br>
  • I've got the schematic off to Treehouse now for final layout edits.

    Tonight I downloaded the latest process design kit from OnSemi and I've been doing some sanity-check simulations. Things look perfect. Tomorrow I'm going to figure out how to run SOA simulations (safe operating area), to ensure that we are not exceeding current-density limits, which would shorten the life of the chip.

    I'm looking forward to getting back to Spin2.
  • cgracey wrote: »
    I've got the schematic off to Treehouse now for final layout edits.

    Tonight I downloaded the latest process design kit from OnSemi and I've been doing some sanity-check simulations. Things look perfect. Tomorrow I'm going to figure out how to run SOA simulations (safe operating area), to ensure that we are not exceeding current-density limits, which would shorten the life of the chip.

    I'm looking forward to getting back to Spin2.
    Sounding promising. Thanks for the update!

  • Yay, it's down the pipe!
  • TonyB_TonyB_ Posts: 399
    edited January 12 Vote Up0Vote Down
    I've been looking at Streamer section of documentation v31 (page 34 onwards) and I have a few comments/questions:

    1. Paragraph beginning "There are six instructions" on p. 34 needs amending as only five now.

    2. LUT modes (not Goertzel)
    The word "palette" is not mentioned once. Are the bbbb bits in effect palette select bits, so there can be at most 16 palettes? Is the base address bbbb00000 added to right-aligned 1/2/4/8 bit value? If so, this wastes some space in the LUT, e.g. there is room for 32 palettes with nibble data.

    3. RFLONG LUT modes
    The bytes in each long are shifted right, i.e. low byte first, then re-order bit determines shift direction within each byte?

    4. Immediate LUT modes
    There is no re-order bit so data always shifted right? What does "and the top bits are replicated" mean?
    Formerly known as TonyB
  • cgraceycgracey Posts: 8,905
    edited January 12 Vote Up0Vote Down
    Thanks, TonyB_. I think I've got it straightened out now.
  • I've got the fastest and slowest timing arcs within our syncronous I/O pad off to OnSemi, so that they can do setup/hold and delay sweeps across nine differeent process-voltage-temperature corners. This is necessary for characterization of our pad "IP", so that it can integrate into their standard-cell synthesis flow.

    Also, Treehouse is making final edits to the pad layout, to improve ESD handling and electro-migration limitting.

    As of tonight, I'm back on Spin2. Think, there will be a new PNut.exe soon which actually compiles Spin2 code.
  • cgracey wrote: »
    As of tonight, I'm back on Spin2. Think, there will be a new PNut.exe soon which actually compiles Spin2 code.
    That's great news Chip!
    Looking forward to putting Spin2 to the test.


    Melbourne, Australia
  • cgracey wrote: »
    As of tonight, I'm back on Spin2. Think, there will be a new PNut.exe soon which actually compiles Spin2 code.

    Can you also add command line options for compiling and uploading? This will make it easier to use (and start adding support in) other IDEs/editors.
  • I've hacked up a version of Dave's loadp2 to work again. Mostly just a case of remove the 'MainLoader" part. Attached:
    c
    c
    “What car did you learn to drive stick shift on?” == “What was the make and model of your first car?” -> Password reset! -- https://krebsonsecurity.com/2018/04/dont-give-away-historic-details-about-yourself/
  • evanhevanh Posts: 4,766
    edited January 29 Vote Up0Vote Down
    Is there a full parameter list for the v31 FPGA versions of HUBSET instruction?

    EDIT: I guess all bar the clock/PLL options are as documented. It's the clock options I'm interested in. There used to be a $7F and $FF, was there also a $00?

    EDIT2: Never mind. I just had to read more in the docs. It's only $00 for 20 MHz and $FF for 80 MHz now.
    “What car did you learn to drive stick shift on?” == “What was the make and model of your first car?” -> Password reset! -- https://krebsonsecurity.com/2018/04/dont-give-away-historic-details-about-yourself/
  • I have found:
    $FF = 80MHZ
    $7F = 40MHZ
    $3F = 20MHZ
    $1F = 10MHZ
    $0F = 5MHZ
    $01 = RCSLOW ~624KHZ
    Tachyon Forth - compact, fast, forthwright and interactive
    useforthlogo-s.png
    Tachyon Forth News Blog
    TACHYON DEMONSTRATOR
    Brisbane, Australia
  • LOL!!!! I just checked $0f and it works a treat. Chip, you've been holding out on us!

    “What car did you learn to drive stick shift on?” == “What was the make and model of your first car?” -> Password reset! -- https://krebsonsecurity.com/2018/04/dont-give-away-historic-details-about-yourself/
  • evanhevanh Posts: 4,766
    edited January 30 Vote Up0Vote Down
    Smartpin #0 doesn't work on my Prop123_A9 board using v31 of 8-Cog image. Here's the mode I'm using:
    wrpin   ##%0100_0000_011_0000000000000_01_01111_0, #tpin   ' A=OUT B=pin F=A^B M=Count highs
    
    Z never changes from a value of zero.

    Using same code on pins 1 through 4 always gives a non-zero result. I'm software pulsing the OUT line with a OUTH, take a reading, then OUTL, and another reading.

    I'm at the same time sampling the neighbour's IN, which is configured to show me what the test pin's state is.
    wrpin   ##%0111_0000_000_0000000000000_00_00000_0, #tcnt   ' A=(pin-1)  M=normal input
    
    This IN still works as expected and shows me the issued OUT is arriving at the physical pin (#0) under test.

    “What car did you learn to drive stick shift on?” == “What was the make and model of your first car?” -> Password reset! -- https://krebsonsecurity.com/2018/04/dont-give-away-historic-details-about-yourself/
  • evanhevanh Posts: 4,766
    edited January 30 Vote Up0Vote Down
    Here's a good result from pin #4:
    SmartPin mode = %01111, Count highs
    reset     pause     high......later     low.......later
    00000000  00000000  00000000  00000001  00000001  00000002
    ---------\___________________/-------------------\_________00000026
    

    and here's what pin #0 looks like:
    SmartPin mode = %01111, Count highs
    reset     pause     high......later     low.......later
    00000000  00000000  00000000  00000000  00000000  00000000
    ---------\___________________/-------------------\_________00000026
    

    PS: The ASCII art timing diagram shows samples from redirected pins #5 and #1 respectively.

    “What car did you learn to drive stick shift on?” == “What was the make and model of your first car?” -> Password reset! -- https://krebsonsecurity.com/2018/04/dont-give-away-historic-details-about-yourself/
  • I wonder if it's because pin#63 is special...

    The upper pins are configured differently (for boot and such).
    Prop Info and Apps: http://www.rayslogic.com/
  • If that's true I'm guessing it's a bug.

    “What car did you learn to drive stick shift on?” == “What was the make and model of your first car?” -> Password reset! -- https://krebsonsecurity.com/2018/04/dont-give-away-historic-details-about-yourself/
  • Pin #0 is also used as vsync in video mode.

    What state is Y[0]?
    Melbourne, Australia
Sign In or Register to comment.