Shop OBEX P1 Docs P2 Docs Learn Events
Propeller II update - BLOG - Page 97 — Parallax Forums

Propeller II update - BLOG

194959799100223

Comments

  • potatoheadpotatohead Posts: 10,260
    edited 2013-11-08 07:49
    Is the synthesized core capable of low speed clocked operation?

    P1 works like this, and at low power too. But, those are Chip's polygons, designed with that in mind. I'm not sure the synthesis does that.
  • bruceebrucee Posts: 239
    edited 2013-11-08 08:45
    Almost all synthesized designs these days will run at down to a 0 clock rate. The tough part of getting a design to work is to meet all the hold times, which comes into play with a clocking system where there are multiple buffers in the path trying to balance the whole thing. Something that would take a human, years to accomplish. Once the hold times are met for whatever the target speed is, they are automatically met for slower.

    The only exception might be in the memories, if there are pre-charge type sense amps, and often those will have a minimum cycle time. These memories were apparently done by hand. They may be completely static designs, that is a question for Chip. If they are completely static, they would run down to very slow rates.
  • SeairthSeairth Posts: 2,474
    edited 2013-11-08 10:11
    This got me wondering whether it will be more energy-efficient to run 4 cogs at 40 MHz or run one cog (with 4 tasks) at 160 MHz. If a faster clock with fewer cogs is more efficient, I could easily see people using tasks for that reason alone.
  • SeairthSeairth Posts: 2,474
    edited 2013-11-08 10:36
    And, following up on that, is there any way to start a COG up without resetting it? I could imagine a COG stopping itself to save power, then having another COG start it back up again (from the next instruction after the COGSTOP). I suppose you could do something similar by using WAITPEQ on PortD, but I have to imagine that halting a COG altogether would be more energy-efficient.
  • Phil Pilgrim (PhiPi)Phil Pilgrim (PhiPi) Posts: 23,514
    edited 2013-11-08 10:51
    waitcnt in a polling loop will save power.

    -Phil
  • cgraceycgracey Posts: 14,133
    edited 2013-11-09 11:48
    brucee wrote: »
    Almost all synthesized designs these days will run at down to a 0 clock rate. The tough part of getting a design to work is to meet all the hold times, which comes into play with a clocking system where there are multiple buffers in the path trying to balance the whole thing. Something that would take a human, years to accomplish. Once the hold times are met for whatever the target speed is, they are automatically met for slower.

    The only exception might be in the memories, if there are pre-charge type sense amps, and often those will have a minimum cycle time. These memories were apparently done by hand. They may be completely static designs, that is a question for Chip. If they are completely static, they would run down to very slow rates.

    The design is fully static, both the synthesized logic and our memories. It can run down to 0Hz.
  • cgraceycgracey Posts: 14,133
    edited 2013-11-09 11:59
    Last night (this morning), I got the Verilog done with everything except a synchronous transceiver, which I'll address next.

    I discovered some ways to speed up a few of the most critical paths, so timing is closing faster now, with no paths consistently sticking out as critical. The Verilog from the last full-chip attempt was compiling on the Cyclone IV FPGAs with an Fmax of 60MHz. With all the latest enhancements it's now hitting 73MHz, which is about a 22% improvement. I'm confident that this will synthesize well for the ASIC. I think it might be realistic to get 200MHz (worst case) on the real silicon using OnSemi's fast 180nm process.

    I've got to make a bunch of documentation changes and then I'll post the new FPGA configuration files for the DE0-Nano and DE2-115 boards.

    The new pixel-math instructions make photo-realistic graphics with a little bit of programming. I'll try to get a picture on here today.
  • David BetzDavid Betz Posts: 14,511
    edited 2013-11-09 12:15
    cgracey wrote: »
    Last night (this morning), I got the Verilog done with everything except a synchronous transceiver, which I'll address next.

    I discovered some ways to speed up a few of the most critical paths, so timing is closing faster now, with no paths consistently sticking out as critical. The Verilog from the last full-chip attempt was compiling on the Cyclone IV FPGAs with an Fmax of 60MHz. With all the latest enhancements it's now hitting 73MHz, which is about a 22% improvement. I'm confident that this will synthesize well for the ASIC. I think it might be realistic to get 200MHz (worst case) on the real silicon using OnSemi's fast 180nm process.

    I've got to make a bunch of documentation changes and then I'll post the new FPGA configuration files for the DE0-Nano and DE2-115 boards.

    The new pixel-math instructions make photo-realistic graphics with a little bit of programming. I'll try to get a picture on here today.
    Nice progress Chip! 200mhz sounds great!
  • potatoheadpotatohead Posts: 10,260
    edited 2013-11-09 12:34
    Excellent! What was your longest stretch working?
  • Roy ElthamRoy Eltham Posts: 2,996
    edited 2013-11-09 13:22
    The pixel math instructions with be nice for doing visualizations of data too. :)

    I know the first run fails sucked, but the changes and additions we're ending up with as a result are really excellent and could help the chip stand out even more against others....
  • cgraceycgracey Posts: 14,133
    edited 2013-11-09 15:02
    potatohead wrote: »
    Excellent! What was your longest stretch working?
    I don't know, for this round. It's been shorter because I've got a sinus infection and the kids and wife have the flu. Last night, I was happy to go to bed at 4:00am after getting everything cleaned up and proven.
  • potatoheadpotatohead Posts: 10,260
    edited 2013-11-09 15:10
    Gotta hate that. We had to work through some bugs too. Took a while. Everybody feeling much better now.

    @Roy: I think so too. This adventure really did get us good optimization information. Good times ahead.

    Good news on the static design. Not sure where I heard otherwise...
  • Cluso99Cluso99 Posts: 18,069
    edited 2013-11-09 16:01
    WOW! 200MHz would be most impressive.

    Does OnSemi have any process block to do a 1% or better oscillator or able to be trimmed? Would be nice to be able to achieve a 1% clock without a crystal.
  • ozpropdevozpropdev Posts: 2,792
    edited 2013-11-09 16:57
    cgracey wrote: »
    I think it might be realistic to get 200MHz (worst case) on the real silicon using OnSemi's fast 180nm process.

    You the man Chip! :)
  • jmgjmg Posts: 15,155
    edited 2013-11-09 22:58
    cgracey wrote: »
    The Verilog from the last full-chip attempt was compiling on the Cyclone IV FPGAs with an Fmax of 60MHz. With all the latest enhancements it's now hitting 73MHz, which is about a 22% improvement. I'm confident that this will synthesize well for the ASIC. I think it might be realistic to get 200MHz (worst case) on the real silicon using OnSemi's fast 180nm process.

    I've got to make a bunch of documentation changes and then I'll post the new FPGA configuration files for the DE0-Nano and DE2-115 boards.

    Once that is put to bed, it could be interesting to run a synth pass targeting the new Cyclone V's ?

    Devices like 5CEFA2F23C8N & 5CGXFC5C6F27C7N, have $42 and $179 Eval Board price points, with more RAM.
  • Bill HenningBill Henning Posts: 6,445
    edited 2013-11-10 20:20
    Excellent news!

    (read the later messages too - get better soon (you, and your whole family))
    cgracey wrote: »
    Last night (this morning), I got the Verilog done with everything except a synchronous transceiver, which I'll address next.

    I discovered some ways to speed up a few of the most critical paths, so timing is closing faster now, with no paths consistently sticking out as critical. The Verilog from the last full-chip attempt was compiling on the Cyclone IV FPGAs with an Fmax of 60MHz. With all the latest enhancements it's now hitting 73MHz, which is about a 22% improvement. I'm confident that this will synthesize well for the ASIC. I think it might be realistic to get 200MHz (worst case) on the real silicon using OnSemi's fast 180nm process.

    I've got to make a bunch of documentation changes and then I'll post the new FPGA configuration files for the DE0-Nano and DE2-115 boards.

    The new pixel-math instructions make photo-realistic graphics with a little bit of programming. I'll try to get a picture on here today.
  • evanhevanh Posts: 15,356
    edited 2013-11-11 05:54
  • Ym2413aYm2413a Posts: 630
    edited 2013-11-12 12:41
    200Mhz would be nice. : ]
    Though at this point I'd be happy just to get my hands on any P2 chip regardless.
    Keep up the good work everyone!
  • BaggersBaggers Posts: 3,019
    edited 2013-11-13 06:03
    Totally awesome news/work Chip as always! :)
    Looking forward to playing with the new update, and ultimately the final chip, especially at 200Mhz, with all that it was before the changes, let alone the new awesome mods you've done!
    Much kudos, and get well soon bud!
  • cgraceycgracey Posts: 14,133
    edited 2013-11-19 02:01
    I've got the Verilog into a nice place. I'd say it's about perfect, barring the SERDES issue. It compiles well for the DE0-Nano and the DE2-115.

    I'm still working on the documentation file, as many things need attention there. The assembler is working great, and there is one minor thing I plan on adding now.

    Hopefully, in the next three days, I'll have the update out.

    Thanks for you patience, Everyone.
  • Cluso99Cluso99 Posts: 18,069
    edited 2013-11-19 02:03
    Thanks for the update Chip. Sounds great.
    Hope you and the family have fully recovered.
  • cgraceycgracey Posts: 14,133
    edited 2013-11-19 02:21
    Cluso99 wrote: »
    Thanks for the update Chip. Sounds great.
    Hope you and the family have fully recovered.

    Thanks. We're all fine now. I need to start running again, though, as it helps clear the brain and makes all problems seem small and manageable. When I drift out of shape, work starts to seem insurmountable. Things are under pretty good control now, however. All my working files are clean and free of fix-it notes to myself. I just need to get these doc's done, get it out to you guys, and get back on the full-custom circuitry so that Beau can tweak things for OnSemi's process.
  • SapiehaSapieha Posts: 2,964
    edited 2013-11-19 02:39
    Hi Chip.

    Nice news.

    cgracey wrote: »
    Thanks. We're all fine now. I need to start running again, though, as it helps clear the brain and makes all problems seem small and manageable. When I drift out of shape, work starts to seem insurmountable. Things are under pretty good control now, however. All my working files are clean and free of fix-it notes to myself. I just need to get these doc's done, get it out to you guys, and get back on the full-custom circuitry so that Beau can tweak things for OnSemi's process.
  • ozpropdevozpropdev Posts: 2,792
    edited 2013-11-19 03:18
    cgracey wrote: »
    Hopefully, in the next three days, I'll have the update out.

    Thanks for you patience, Everyone.

    That's great Chip! :)

    We're all excited out here in P2 land!
  • Heater.Heater. Posts: 21,230
    edited 2013-11-19 03:20
    Chip,
    ...and there is one minor thing I plan on adding now...
    Curious. What a tease:)
  • TrapperBobTrapperBob Posts: 140
    edited 2013-11-19 04:07
    Chip,

    Way to go as always. Looking forward to "tasting" the fruit!
  • BaggersBaggers Posts: 3,019
    edited 2013-11-19 04:47
    Fantastic news Chip :) and glad you are all better now!
  • Bill HenningBill Henning Posts: 6,445
    edited 2013-11-19 06:19
    Excellent news Chip.

    Propeller 2 is important... but family is even more important :)
    cgracey wrote: »
    Thanks. We're all fine now. I need to start running again, though, as it helps clear the brain and makes all problems seem small and manageable. When I drift out of shape, work starts to seem insurmountable. Things are under pretty good control now, however. All my working files are clean and free of fix-it notes to myself. I just need to get these doc's done, get it out to you guys, and get back on the full-custom circuitry so that Beau can tweak things for OnSemi's process.
  • cgraceycgracey Posts: 14,133
    edited 2013-11-19 11:32
    Heater. wrote: »
    Chip,

    Curious. What a tease:)

    It's really nothing big. There are about 22 instructions which read S and write D (as opposed to modify D). These are basically unary operations dressed up as MOV's. Because we had plenty of 'D,S' opcode space, they were made more flexible, with two operands. What I'm going to do is make the assembler accommodate the case of only ONE operand, so that if you want to do an INCPAT on a single register, you can just do 'INCPAT D', instead of 'INCPAT D,D'. I probably just spent more time explaining it than it will take to accomplish. It's just a little enhancement to make PASM more writable and readable.
  • rjo__rjo__ Posts: 2,114
    edited 2013-11-19 19:00
    What are atomic instructions?… those that execute in one cycle?
Sign In or Register to comment.