*** tpb has joined #tomu | 00:00 | |
*** futarisIRCcloud has joined #tomu | 00:02 | |
*** rails_ is now known as rails | 00:14 | |
futarisIRCcloud | Interesting to read up on UF2. Never used it before. DFU will be the easiest to implement, I think. Will JTAG over USB fit in the fomu? | 00:15 |
---|---|---|
*** Farscrap has quit IRC | 02:37 | |
*** xkapastel has joined #tomu | 03:39 | |
mithro | xobs: Just wanted to make sure that you understood that the issue with rx is not got anything to do with the 48MHz and 12MHz alignment - but has to do with the 12MHz locally verse 12MHz at the sender | 03:50 |
mithro | xobs: Was tnt's fix enough to get you unstuck? | 03:53 |
xobs | mithro: yes, I'm unstuck now. Hooray! | 03:55 |
xobs | tnt: there isn't a "final" board, but the DVT board (which is what I posted pictures of yesterday) is up at https://github.com/im-tomu/fomu-hardware/tree/dvt | 03:57 |
tpb | Title: GitHub - im-tomu/fomu-hardware at dvt (at github.com) | 03:57 |
xobs | Unfortunately I'm traveling now, so I won't be able to /test/ the DVT board until next week. | 03:59 |
mithro | xobs: I'm surprised that tnt's option meet timing... | 04:05 |
*** lathiat has quit IRC | 04:09 | |
*** lathiat has joined #tomu | 04:09 | |
xobs | mithro: Info: Max frequency for clock 'clk48_1': 54.64 MHz (PASS at 48.00 MHz) | 04:10 |
xobs | So not a ton of headroom, but it passes, and works. | 04:10 |
mithro | xobs: Working better than not | 04:11 |
xobs | futarisIRCcloud: Is there an actual JTAG-over-USB spec? My plan is to implement Ehterbone-over-USB, which will naturally give us Vexriscv debugging. | 04:11 |
*** rohitksingh_work has joined #tomu | 04:13 | |
xobs | Of course, that means I'll need to fit debugging in there as well, which might not meet timing anymore. I'll look at using one of the smaller Vex cores at that point, though. | 04:14 |
futarisIRCcloud | xobs: I don't know of an actual JTAG-over-USB spec. | 04:23 |
mithro | xobs: I'd ask whitequark | 04:47 |
futarisIRCcloud | xobs: glasgow probably has a standard way of doing things... | 05:28 |
xobs | futarisIRCcloud: doesn't Glasgow have a serial chip on it? | 05:29 |
futarisIRCcloud | xobs: FX2 fifo. | 05:31 |
xobs | Then you could use the litex Wishbone to uart bridge to get debugging. But you're right, I wonder what other options they have. | 05:33 |
*** xkapastel has quit IRC | 05:53 | |
*** stan_ciI has quit IRC | 06:14 | |
*** stan_ciI has joined #tomu | 06:17 | |
tnt | xobs: I was looking at the DVT schematic. But given the clock pin you use, you can't use the PLL feature of outputting both the input clock and the generated clock. That only works if the clock comes from the IO site colocated with the PLL. | 07:21 |
xobs | tnt: hmm... which pin would that be? | 07:24 |
xobs | Wild guess: B3 (IOt_46b_G0) | 07:25 |
tnt | yup | 07:25 |
xobs | That's a hard pin to hit. | 07:25 |
tnt | But well, if you can live with slight offset you can leave it as is. You get the 12M on a global buffer, then the PLL takes the input from that (through a tiny bit of fabric routing) and generates the 48M and you can still use both clocks just fine. | 07:27 |
tnt | It works right now ... so ... | 07:28 |
xobs | Yeah, and 1.6ns isn't too bad. It Works. | 07:28 |
xobs | It remains to be seen how reliable it is, though. | 07:28 |
*** im-tomu has left #tomu | 07:38 | |
*** im-tomu has joined #tomu | 07:39 | |
*** rohitksingh_work has quit IRC | 09:14 | |
*** AmosSam has left #tomu | 09:18 | |
*** rohitksingh_work has joined #tomu | 09:18 | |
*** AmosSam has joined #tomu | 09:20 | |
*** futarisIRCcloud has quit IRC | 10:02 | |
*** awe00 has joined #tomu | 10:54 | |
*** rohitksingh_work has quit IRC | 12:55 | |
*** futarisIRCcloud has joined #tomu | 13:14 | |
*** rohitksingh has joined #tomu | 14:09 | |
*** Kamilion|ZNC has joined #tomu | 14:09 | |
*** im-tomu has quit IRC | 14:17 | |
*** Kamilion has quit IRC | 14:17 | |
*** Kamilion|ZNC is now known as Kamilion | 14:17 | |
*** unlobito has quit IRC | 14:20 | |
*** unlobito has joined #tomu | 14:22 | |
*** rohitksingh has quit IRC | 14:52 | |
*** xkapastel has joined #tomu | 14:52 | |
*** futarisIRCcloud has quit IRC | 15:24 | |
*** im-tomu has joined #tomu | 16:07 | |
mithro | The 48MHz <-> 12MHz relationship shouldn't matter? | 16:53 |
xobs | It shouldn't, so I'm going to try removing the pll. | 16:55 |
*** AmosSam has left #tomu | 16:59 | |
tnt | You might need to check how you're crossing the TX side from 12 to 48. Ideally make sure you sample it the 48 MHz closest to the 12 MHz falling edge. | 17:00 |
*** xkapastel has quit IRC | 17:02 | |
*** AmosSam has joined #tomu | 17:05 | |
*** rohitksingh has joined #tomu | 17:36 | |
*** awe00 has quit IRC | 17:50 | |
*** xkapastel has joined #tomu | 18:55 | |
*** rohitksingh has quit IRC | 19:14 | |
*** awe00 has joined #tomu | 19:33 | |
xobs | Well that's not a thing I was expecting to see. I'm trying some of the more modern, abbreviated Vexriscv cores. | 21:10 |
xobs | With no mul/div, I've got it down to 70%: "Info: ICESTORM_LC: 3720/ 5280 70%" | 21:11 |
xobs | But now the critical path is super long. "Info: Max frequency for clock 'clk12': 13.88 MHz (PASS at 12.00 MHz)" | 21:11 |
tnt | Well it still passes | 21:17 |
tnt | I'd be curious to have a hierarchical usage report. | 21:18 |
xobs | The critical path looks like it's a 32-bit shifter, maybe? | 21:18 |
tnt | I would hope that the small vexrisc would use an iterative shifter and not a full-barel one. | 21:19 |
xobs | It does use an iterative shifter. | 21:20 |
mithro | xobs: With the USB? | 21:25 |
xobs | mithro: With the USB. | 21:25 |
mithro | xobs: That is the level I was expecting to see us at with USB+VexRISCV | 21:26 |
mithro | ~3500 LC was my guesstimate... | 21:26 |
xobs | The multiplier and divider are pretty large. And the DebugPlugin doesn't currently work the reduced pipeline count. | 21:26 |
mithro | Yeah, definitely want to disable multiple and divide if not using DSP blocks | 21:27 |
xobs | I don't actually see any option to use the DSP blocks for multiplication. I see it mentioned in the readme, but I don't see them actually used anywhere. | 21:28 |
mithro | I think it might not have been merged back from https://github.com/SpinalHDL/VexRiscvSoftcoreContest2018 ? | 21:29 |
tpb | Title: GitHub - SpinalHDL/VexRiscvSoftcoreContest2018 (at github.com) | 21:29 |
xobs | That's the repo I'm looking at now, and I don't actually see anything in there relating to DSP blocks. | 21:29 |
xobs | It looks like it's using the normal MulPlugin for the Up5kPerf and Up5kArea cores. | 21:31 |
mithro | It does say "1 cycles multiplication using FPGA DSP blocks (result in the writeback stage)" -- but maybe that is only on the Igloo2 part? | 21:31 |
*** xkapastel has quit IRC | 21:32 | |
xobs | No, Igloo is also using the normal MulPlugin | 21:32 |
mithro | https://github.com/SpinalHDL/VexRiscvSoftcoreContest2018/search?q=dsp&unscoped_q=dsp | 21:33 |
tpb | Title: Search · dsp · GitHub (at github.com) | 21:33 |
xobs | It's getting inferred, maybe? | 21:34 |
mithro | xobs: Oh, it might only work with the proprietary tools... | 21:36 |
mithro | https://github.com/YosysHQ/yosys/commit/03aa3541aeff0ff372672f553c114fb4146c7858 | 21:36 |
tpb | Title: Merge pull request #786 from YosysHQ/pmgen · YosysHQ/yosys@03aa354 · GitHub (at github.com) | 21:36 |
xobs | On ICE40, I think the block is called SB_MAC16, which is only mentioned in the simulation library. | 21:36 |
xobs | Ohh, DSP != MAC16... | 21:37 |
mithro | xobs: MAC16 would be the DSP block in the ice40? | 21:39 |
xobs | I mean, I did find this: https://github.com/TheRoboticsClub/2018-colab-DavidLobato/blob/be32a0b72e5d21005168e4d67b365a09b98bb17d/SpinalHDLExamples/src/main/scala/examples/multiply8x8/Multiply8x8.scala | 21:40 |
tpb | Title: 2018-colab-DavidLobato/Multiply8x8.scala at be32a0b72e5d21005168e4d67b365a09b98bb17d · TheRoboticsClub/2018-colab-DavidLobato · GitHub (at github.com) | 21:40 |
mithro | xobs: Why don't you log an issue on the repo and see what they say? | 21:44 |
xobs | That's a good idea. | 21:45 |
xobs | I need to figure out how to hook up USB to Wishbone, but a two-stage Vexriscv without a mul/div, but WITH debug, comes out to: "Info: ICESTORM_LC: 3944/ 5280 74%" | 22:12 |
xobs | And, most concerningly: "Info: Max frequency for clock 'clk12': 12.58 MHz (PASS at 12.00 MHz)" | 22:13 |
xobs | Well, I think that's a problem for another day. I'm pleased with how this is going. | 22:14 |
tnt | xobs: What's the usage of Vex by itself ? (without usb) | 22:15 |
xobs | Ooh, good question. Especially since the USB core hasn't been really optimized yet. | 22:16 |
xobs | Info: ICESTORM_LC: 2835/ 5280 53% | 22:16 |
xobs | That's with the debug bus enabled. That seems high, but it includes the CPU, wishbone, the UART, timer, CSR block, and whatever the "ctrl" block is. | 22:18 |
tnt | Only ~ 1100 LCs for the usb core. Not bad. | 22:19 |
xobs | Oh, and the interrupt controller. | 22:21 |
xobs | Debug is, apparently, only 35 LCs. | 22:21 |
mithro | xobs: I would expect the final USB core to be around ~1000 LCs | 22:22 |
tnt | Does its size depends on the # of EPs ? | 22:24 |
mithro | tnt: I would expect so | 22:24 |
xobs | This is with just EP0 | 22:26 |
*** awe00 has quit IRC | 22:26 | |
xobs | Apparently the MulPlugin is supposed to be inferred, but it's not working yet with yosys. | 22:32 |
tnt | there is an option to synth40 to allow DSP inferrence. | 22:32 |
tnt | -dsp | 22:33 |
xobs | Must be new. Was it added by that patch mithro mentioned? | 22:34 |
tnt | It was added a couple weeks ago I think. | 22:34 |
xobs | Okay, I'll have to see what it takes to recompile Yosys then. I think I need an msys2 install. Or maybe I can do it on my server. Or under WSL. | 22:36 |
xobs | I also need to file a bug about allowing MulPlugin and DivPlugin on designs without a Writeback or Memory stage. | 22:36 |
xobs | I also probably should sleep. I've been travelling today. | 22:37 |
tnt | Yeah, isn't it very late in Singapore ? That's wwhere you are right ? | 22:37 |
xobs | Normally, yeah. Good memory. | 22:38 |
xobs | But I'm in Prague for tonight, and tomorrow I go to Paris for https://wiki.f-si.org/index.php/FSiC2019 | 22:39 |
tpb | Title: FSiC2019 - F-Si wiki (at wiki.f-si.org) | 22:39 |
tnt | Oh, that looks interesting. | 22:40 |
*** futarisIRCcloud has joined #tomu | 23:27 | |
*** Farscrap has joined #tomu | 23:35 | |
*** xkapastel has joined #tomu | 23:42 |
Generated by irclog2html.py 2.13.1 by Marius Gedminas - find it at mg.pov.lt!