--- Log opened Mon Sep 16 00:00:58 2013 | ||
olofk | stekern: Hey! Don't steal my catch phrases ;) | 06:13 |
---|---|---|
olofk | _franck_: That function doesn't have any return value | 06:17 |
olofk | I probably should clean up the provider code and make a proper API | 06:17 |
olofk | _franck_: Ahh. now I see. The idea is that it will return something if it had to download anything. | 06:39 |
olofk | It's not very pretty I see now | 06:40 |
_franck_ | self.fetch should return True at some point if we want self.patch to be called in core.py | 08:30 |
olofk | Yes, and I think it does. At least it works for OpenCoresProvider | 09:49 |
stekern | looks like mor1kx have surpassed or1200 in stability, I get nothing out of that on the sockit... | 11:21 |
stekern | I'm pretty confident the wb<->avl bridge should be ok now, so wonder what might be wrong then | 11:22 |
olofk | weird | 11:29 |
stekern | olofk: did you see my comment about wb_mux fall back earlier? | 11:30 |
olofk | Yes, but I thought it was something wrong with GPIO | 11:31 |
olofk | But you're correct that the fall back logic is a bit backwards since it's the first slave that is the fallback slave | 11:33 |
olofk | It's just a matter of reversign the for loop | 11:33 |
olofk | And I plan to add watchdog timers to individual wb ports, like the one that is built-in in the orpsocv2 arbiters | 11:34 |
olofk | hmm... but when I think about it now I guess it would make sense to raise wb_err when no slave matches | 11:37 |
olofk | Adding a fallback dummy port that covers the whole address range just to catch errors feels a bit clunky | 11:39 |
stekern | yes, it was more the "error when no match" I was thinking about | 11:40 |
stekern | the "backwards" priority ordering isn't so much of an issue | 11:41 |
stekern | not sure I follow the "fallback dummy port"... | 11:43 |
stekern | isn't it enough that you change: assign wbs_cyc_o = {num_slaves{(|match)}} & (wbm_cyc_i << slave_sel); | 11:56 |
stekern | to: assign wbs_cyc_o = match & (wbm_cyc_i << slave_sel); | 11:56 |
olofk | Or even match & {num_slaves{wbm_cyc_i}} ? | 12:00 |
stekern | hmm, no | 12:01 |
stekern | right? | 12:01 |
stekern | =) | 12:01 |
olofk | Ah no.. you're right | 12:01 |
olofk | Anyway. What I meant with the fallback dummy port is that you can fake bus errors by setting a slave that covers every address and just responds with wb_err | 12:03 |
olofk | But handling it internally in wb_mux is a nicer solution. | 12:03 |
stekern | you'll still need the watchdog though, unless you don't do something like this: assign wbm_err_o = wbs_err_i[slave_sel] | !match[slave_sel] & wbm_cyc_i; | 12:05 |
olofk | wb_err should just be wbm_cyc_i & !(|match), right? | 12:05 |
stekern | -don't | 12:05 |
olofk | oh.. right. Forgot about the real errors from slaves | 12:05 |
stekern | a bit nasty connecting the wbm_cyc_i straight to err_i, but not sure if you (easily) can avoid it | 12:06 |
olofk | Yes. Watchdogs will be necessary if a core has locked up, but handling known invalid addresses is another problem | 12:07 |
stekern | or.. would be easy to just register the !match[slave_sel] & wbm_cyc_i of course... | 12:07 |
olofk | nasty why? I could register it if you worry about the timing | 12:07 |
olofk | :) | 12:07 |
stekern | you'll (potentially, depends on the master) get a combloop between cyc and err | 12:08 |
olofk | so final solution : assign wbm_err_o = wbs_err_i[slave_sel] | (wbm_cyc_i & !(|match)) | 12:08 |
olofk | With a register of course | 12:08 |
stekern | sounds right | 12:09 |
stekern | I think the 'OR' you proposed is better than using the select too | 12:09 |
stekern | should be more lightweitgh than going through the priority decoder | 12:10 |
olofk | I'll add that to the ORPSoC EE Critical Failsafe support package | 12:10 |
stekern | I assume I'll need a seperate floppy-disk dongle for that? | 12:11 |
olofk | I should run this through synthesis and check the RTL. I think it could be a mess right now | 12:11 |
olofk | :) | 12:11 |
olofk | You _do_ have two floppy controllers in your computer, right? Otherwise you will only be able to unlock one feature at a time | 12:12 |
stekern | I must say it's a genius move to use the floppy-disk instead of usb dongles, everybody are short of usb ports, but the floppy disk drives are just there unused! | 12:13 |
stekern | ah, but I don't mind floppy juggling, reminds me of the good old times | 12:13 |
olofk | I should run wb_mux and wb_arbiter through synthesis and check the RTL. I think it could be a mess right now with all the decoding and encoding of select signals | 12:35 |
stekern | I haven't looked very closely, but it didn't look too bad.. I think | 12:36 |
stekern | found the problem with or1200, I had typos in the data bus signals | 13:45 |
olofk | Nice | 13:48 |
knz | hi guyes | 14:15 |
knz | what's the value of EM_OR1K in the elf headers? | 14:15 |
knz | I'm not sure how to find it in binary files | 14:15 |
knz | oh never mind found it | 14:15 |
knz | 92 | 14:15 |
knz | other question: is the or1k implementation little endian by default? | 14:23 |
stekern | knz: it's big endian by default, and that's currently the only endian supported | 15:27 |
stekern | _franck_: I can't pull with that commit specified, you still have stuff before that I don't want | 15:31 |
stekern | I cherry-picked it in from my tree now | 15:34 |
stekern | s/my/your | 15:34 |
knz | AH | 16:12 |
knz | stekern: thanks | 16:12 |
crbowman | I'm trying to synthesize with DC, I've TCLized the synthesis script but when I try to link or compile I get "unable to resolve reference" for a bunch of top level modules | 16:54 |
crbowman | It seems to be related to parameterization. For instance or1200_wb_biu is being instantiated twice with parameter 4 which happens to be the default for that parameter value. | 16:54 |
crbowman | When the parameter value is overridden via the instantiation I get unresolved references, when I remove the override and let the default get used (which is the same value) then or1200_wb_biu is not unresolved. Has anyone seen this issue? | 16:54 |
olofk | crbowman: I haven't used DC with or1200, but I haven't seen problems like this with any other tool | 16:59 |
olofk | Could it be some problems with your setup? | 16:59 |
olofk | Do you have or1200-defines.v as an include file for example | 17:00 |
crbowman | It could absolutely, but I'm not a DC expert so I don't have a clue what it could be, I translated the existing DC script to TCL pretty directly as far as I know. Someone else here took a look and they could see it either | 17:00 |
crbowman | I haven't touched the source at all and convert the set or read in files verbatim in the TCL script | 17:01 |
stekern | yay! Linux booted on mor1kx@sockit now! | 17:04 |
olofk | stekern: Congratulations. If it's orpsocv3-based it's a great success for me too :) | 17:05 |
stekern | of course it is orpsocv3-based! | 17:05 |
olofk | yay! GNU/Linux booted on orpsocv3/mor1kx@sockit now! | 17:07 |
stekern | I've got or1200 booting Linux too | 17:07 |
olofk | Or busybox is perhaps not GNU? | 17:08 |
stekern | running minicom in gtkterm doesn't work well btw | 17:09 |
stekern | ssh:ing in to the arm machine and running minicom there does | 17:10 |
olofk | How much stuff are you running on the ARM? | 17:12 |
stekern | define "running" | 17:12 |
stekern | I've got the default Linux image loaded to the sdcard | 17:12 |
stekern | and an updated u-boot-spl written into that partition, to get the uart exposed to the FPGA | 17:13 |
stekern | everything else is vanilla so far | 17:14 |
stekern | and right now the hps is cold-reset from wb_rst, so it's annoyingly rebooting all the time :/ | 17:15 |
stekern | but I had to do that, because otherwise it locks up when I connect openocd to adv_debug_if | 17:15 |
stekern | next is to get some more control over mor1kx from the arm, like asserting resets and loading stuff into memory for it to run | 17:16 |
olofk | That sounds like fun | 17:17 |
stekern | really cool would be if I could get debugging working from the arm | 17:17 |
stekern | I mean, running a debug bridge and gdb on the arm machine | 17:17 |
stekern | not sure how easily you can compile openocd for it | 17:18 |
olofk | I thought about that too | 17:19 |
crbowman | It's really odd because if I take one of the module and use the default parameters without over ride it works, but leaving in the override get me unresolved issues | 17:22 |
stekern | I have to hook up ethernet from orpsocv3/mor1kx to the second mac of the hps too | 17:22 |
stekern | crbowman: what "existing" DC script are you talking about? | 17:23 |
crbowman | trunk/or1200/syn/synopsys/bin/top.scr | 17:24 |
stekern | heh, I never noticed those... | 17:26 |
stekern | wonder how ancient they are? | 17:26 |
olofk | Never seen them either | 17:27 |
stekern | 1575d 09hunneback | 17:28 |
stekern | and that's just import from other repo | 17:28 |
olofk | unneback is probably Michael Unnebäck, but it might just be that he did the CVS->SVN conversion | 17:29 |
prp-e | Hello. | 18:45 |
poke53282 | Hi | 22:27 |
--- Log closed Tue Sep 17 00:00:59 2013 |
Generated by irclog2html.py 2.15.2 by Marius Gedminas - find it at mg.pov.lt!