--- Log opened Mon Dec 15 00:00:12 2014 | ||
stekern | olofk: yes, but I think we have to discuss how we want to deploy those | 03:54 |
---|---|---|
stekern | locally, I have all my multicore systems (sockit, de0 nano, mor1kx-generic) as separate systems, but I'm not sure if that makes sense in the long rung | 03:55 |
stekern | ideally, it should just be configureable with a NUM_CPU parameter (that could default to 1) | 03:56 |
stekern | the multicore systems are here btw: https://github.com/skristiansson/orpsoc-cores/tree/multicore | 03:57 |
stekern | otoh, if we can make the systems even more lightweight, I'd actually prefer to have them separately | 04:04 |
-!- radii_ is now known as radii | 05:21 | |
olofk | stekern: Yes, I agree. Not sure how to do it at this point | 07:55 |
olofk | One option could be to start with a new multicore mor1kx-generic to show off the capabilities | 07:56 |
olofk | So many things I want to do. Where is time when you need it? | 07:57 |
olofk | Unrelated to that, I discovered yesterday when I was about to add a new version of wb_intercon that wb_mux doesn't pass the regression tests. Very strange. It's not like there's a huge amount of code in that one | 07:58 |
stekern | when did it pass the tests last? | 08:03 |
olofk | When I wrote it I guess. Have to check the last modified date :) | 08:14 |
olofk | I suspect the new BFM is the issue | 08:14 |
stekern | ah, ok | 08:29 |
olofk | Found it. Not really a bug in the mux. Just that the BFM can generate burst that cross over the memory space of two slaves | 08:43 |
olofk | I would really love to have automated regression tests running somewhere that can be triggered on new releases of a core or any of its dependencies | 08:46 |
wallento | olofk: I may help you out there | 08:47 |
wallento | I configured a jenkins | 08:48 |
wallento | the fast nodes are all ubuntu 14.04 amd64 | 08:48 |
wallento | but there are VMs for ubuntu 12.04 amd64, ubuntu 12.04 i386 and ubuntu 14.04 i386 | 08:48 |
wallento | I do the newlib synthesis and publication with it | 08:48 |
wallento | If the rules are rather simple, I can set it up quite fast | 08:49 |
wallento | I can also grant you access via openvpn | 08:49 |
olofk | wallento: That sounds great. I should take you up on that offer | 09:17 |
olofk | Problem right now is that I'm too busy working to improve my methods :) | 09:17 |
olofk | How do you deploy it? I think I saw stekern do that a while ago. IIRC there was a script to download, set up and launch fusesoc. Is that how it's done? | 09:19 |
olofk | Or can fusesoc be permanently installed in the VM? That would make it slightly easier to just concentrate on running the necessary regression tests | 09:20 |
wallento | it can be both | 09:20 |
wallento | the advantage of checking it out newly all time is that you can be sure everybody can build it | 09:20 |
wallento | jenkins just runs command or scripts and evaluates their return value | 09:21 |
wallento | I think for most stuff this method is sufficient | 09:21 |
olofk | True, but in this case, I'm more interested in the cores themselves, than checking fusesoc | 09:21 |
wallento | yes, then we should go this way | 09:21 |
wallento | I will prepare an example, hopefully today | 09:21 |
olofk | Thanks wallento. You are my favorite german person since Blümchen | 09:23 |
wallento | ;) | 09:56 |
olofk | I'm working on a suite of bootloaders. I got a LED blinker and one that clears r3 and jumps to 0x100, but now I want one that just jumps to itself. Which instruction should I use to get relative addresses | 11:42 |
olofk | ? | 11:42 |
olofk | l.j is absolute, right? | 11:43 |
* olofk still feels like a complete newbie after ~four years on the project | 11:44 | |
wallento | isn't it l.j 0? | 11:53 |
olofk | so.... opcode 00000000 then? | 11:54 |
wallento | yes | 11:54 |
wallento | and put the l.nop after | 11:55 |
wallento | just to be sure | 11:55 |
olofk | ahh.. true | 11:55 |
wallento | although I think a jump in the delay slot is ignored | 11:55 |
olofk | Should be a test for that | 11:55 |
* olofk realizes there should be a test for a million other things as well | 11:56 | |
* olofk just rediscovered the joy of /me | 11:56 | |
wallento | olofk: sunny day! | 12:02 |
wallento | https://lis.ei.tum.de/jenkins/ | 12:02 |
wallento | you can put this on your myspace page: http://lis.ei.tum.de/jenkins/buildStatus/icon?job=orpsoc-cores_wb_sdram_ctrl_iverilog | 12:02 |
wallento | ;) | 12:02 |
wallento | it is build whenever something changes to orpsoc-cores | 12:03 |
wallento | which is maybe not sufficient? | 12:03 |
olofk | 1. wallento 2. Blümchen 3. Rock'n'Rolf | 12:03 |
olofk | My new list | 12:03 |
olofk | That's excellent, and definitely enough. | 12:05 |
olofk | It will probably trigger a lot of false positives as unrelated things are changed, but we could live with that until performance becomes an issue | 12:05 |
wallento | performance is no issue at all | 12:06 |
wallento | there are three machines which handle this | 12:06 |
olofk | cool | 12:06 |
wallento | serious machines | 12:06 |
olofk | lol | 12:06 |
wallento | 24 cores, 96 gig ram | 12:06 |
wallento | they can handle your test ;) | 12:06 |
wallento | I will send you more details how to set up own jobs as pm | 12:07 |
olofk | cool. | 12:07 |
olofk | I'm quite interested now in doing tests on my new DDR2 controller this way, as running it here takes about an hour | 12:07 |
olofk | wallento: I see that the newlib patches are starting to get commited | 13:19 |
wallento | yes, the first set was applied on Friday, but those are the non-spectacular.. | 13:19 |
wallento | no delay etc. | 13:20 |
wallento | by the way: I removed that it builds both multicore and normal | 13:20 |
olofk | Yes, but it's great to see that you're getting a fast response | 13:20 |
wallento | instead one needs to define __OR1K_MULTICORE__ during compilation | 13:20 |
wallento | yes, lets hope we get it finished before new years | 13:20 |
wallento | but I am hopeful | 13:21 |
wallento | the new define qualifies it as multilib of course, is that the way to go? | 13:21 |
wallento | I am aware of multilib explosion | 13:21 |
wallento | maybe we create a multilib target that captures all recent features, i.e., arch 1.1 | 13:21 |
wallento | or 1.2 if we consider adding the coreid and numcores registers | 13:22 |
stekern | jump in delay-slot isn't defined, and to make things interesting, or1200 and mor1kx behave differently | 15:56 |
wallento | maybe we should add this to be invalid in the next arch revision? | 16:03 |
wallento | or is there any reason for that to make sense? | 16:03 |
_franck__ | is anyone has a small exemple of a systemc testbench driving a verilated systemc device ? | 16:11 |
_franck__ | *example | 16:12 |
wallento | olofk: is there a fusesoc switch to build a simulation without running? | 16:12 |
wallento | update on continuous integration (https://lis.ei.tum.de/jenkins/): building de0_nano, next: test it on the board | 16:13 |
stekern | wallento: my take on that is that undefined can sometimes be a good thing, it gives implementation freedom, and I can't see a huge benefit of defining it in either way | 16:19 |
wallento | mmh, from my point of view I would always expect the same output of a binary independent of the implementation. And the implementation has all the freedom, it is just that both the compiler and the programmer should not put a jump in a delay slot | 16:20 |
stekern | mmm, that's the point, you shouldn't have binaries with jumps in the delay slot. thus, output is the same. | 16:22 |
rhythmx | Is anyone else using qemu and having issues where breakpoints and single stepping won't work? | 18:56 |
olofk | wallento: --build-only | 19:26 |
olofk | _franck_: Isn't there a UART in orpsocv2? Or perhaps even in one of the fusesoc systems? | 19:27 |
stekern | olofk: you're speaking about this, right? http://git.openrisc.net/cgit.cgi/stefan/orpsoc/tree/bench/sysc/src/UartSC.cpp | 19:30 |
olofk | stekern: Yep | 19:32 |
olofk | To sum things up, l.j 0; l.nop will give me a relocatable boot loop? | 19:38 |
stekern | yep | 19:39 |
olofk | I think I have found a decent way of doing boot loaders that can be used for all systems now btw | 19:57 |
olofk | I have created a or1k_bootloaders core already, together with some asm files and a Makefile to convert them to verilog memory files. All I need to do now is add them to include_files, and let other systems depend on this core | 19:58 |
olofk | Creating new boot loaders is still a manual step, but I think that's ok. Just want to provide some basic options anyway | 19:59 |
olofk | Time to recompile libreoffice due to an update of one of its dependencies. At least gentoo helps keeping my house warm | 20:01 |
olofk | I want to implement support for turning on and off VCD generation, as was done in orpsocv2, but I can't agree with myself on the syntax | 20:08 |
olofk | --vcd_on=<time> --vcd_off=<time> | 20:08 |
olofk | --vcd-range=<start time>-<stop time> | 20:09 |
olofk | vcd-start/vcd-stop | 20:09 |
stekern | mmm, don't we have that already? | 20:14 |
stekern | in the verilator simulations? | 20:14 |
stekern | or is that something I've hacked in locally? | 20:14 |
olofk | I think you're right. That probably got ported from orpsocv2 | 20:22 |
olofk | Just added a new fancy feature to vlog_tb_utils. A heartbeat timer, so you can see how far into the simulation you are | 20:23 |
olofk | --heartbeat=<time> to set the interval | 20:23 |
olofk | This clearly shows me I got time for a cigarette | 20:24 |
olofk | Apparently I would have had time for at least three more cigarettes | 20:30 |
-!- Netsplit *.net <-> *.split quits: echo_oddly, jonmasters, felixr, rah, Amadiro, ysionneau, heroux, fotis2, trem, wallento, (+33 more, use /NETSPLIT to show all of them) | 20:31 | |
-!- Netsplit over, joins: jeremybennett, O01eg, aburgess, mithro, enghong, aou, LoneTech, freakazoid0223, rokka, _franck_ (+33 more) | 20:31 | |
olofk | Time to start Book of Unwritten Tales instead. Excellent game. Might be something for christmas, stekern | 20:34 |
stekern | in between working on the multiway mmu, I'm currently playing mi2 se | 20:40 |
stekern | ...I'll probably be done with that before christmas though ;) | 20:41 |
olofk | Is that a remake of mi2? | 20:44 |
olofk | In that case you should be done before christmas. I think I played through it in ~2.5h last time :) | 20:45 |
poke53282 | Cheater. | 20:46 |
poke53282 | Or is it so much shorter than the original mi2? | 20:46 |
olofk | I mean the original mi2 | 20:47 |
stekern | it's exactly as original mi2 but with revamped graphics and added talkies | 20:48 |
stekern | it was a long time since I played mi2, I've forgot almost all of it | 20:49 |
stekern | ...the benefit of gold fish memory, you can enjoy the games over and over again ;) | 20:49 |
stekern | right now I can't remember where to find the binoculars | 20:50 |
olofk | Yeah, it was over ten years since I last played it | 20:51 |
olofk | But I think I know where to find the binoculars :) | 20:51 |
poke53282 | Too much Grog I guess. | 20:51 |
olofk | ...or do I? Not sure actually | 20:51 |
olofk | :) | 20:52 |
poke53282 | I can't remember. | 20:52 |
stekern | ah, found it | 21:03 |
_franck_ | olofk: stekern : thanks. However, I was more looking at a command line to compile/link this stuff. I don't want to parse the orpsoc v2 Makefile to find how it works | 21:05 |
olofk | _franck_: FuseSoC supports verilator with systemC | 21:09 |
olofk | It's a bit messy, but might be easier to look at than the orpsocv2 makefile. Look for build_SysC in section.py | 21:11 |
_franck_ | olofk: you're right. I'll try that | 21:12 |
olofk | Yes. Simulation done. I should probably replace that Altera PLL model some home-made clocks. It's insanely slow | 21:17 |
olofk | That made some difference | 21:56 |
--- Log closed Tue Dec 16 00:00:13 2014 |
Generated by irclog2html.py 2.15.2 by Marius Gedminas - find it at mg.pov.lt!