| cde | hey guys :) | 09:28 |
|---|---|---|
| larsc | hi cde | 09:44 |
| lekernel | hi | 09:55 |
| cde | is it ok if I poweron the M1 while the JTAG adapter is plugged in and connect to the PC? | 11:18 |
| cde | *connected | 11:18 |
| larsc | should be, never had any problems with it | 11:20 |
| cde | thanks :) on my way to reflash now | 11:20 |
| cde | hmm I think the latest git already has the lockflash/unlockflash commands | 11:24 |
| cde | I have the RC3 rev, do I need files from http://www.milkymist.org/updates/2011-07-13/for-rc3/ ? | 11:30 |
| lekernel | cde: yeah, no problems. just avoid plugging/replugging the JTAG/serial adapter to/from the M1 when the M1 is powered on or when the JTAG adapter is connected to the PC | 11:45 |
| lekernel | that's old software. better use http://milkymist.org/updates/2012-03-01/ | 11:46 |
| lekernel | or you can reflash without jtag, just connect ethernet and run the web update on the m1 | 11:46 |
| cde | thanks! I'll use jtag just to give it a try, next time I'll use either web update or rescue | 11:46 |
| cde | I assume the lockflash fixes the nor corruption bug? | 11:47 |
| lekernel | "for-rc3" simply means that those are the images that were used in the rc3 production | 11:47 |
| cde | can bios.bin be also used for the bios-rescue partition ? | 11:54 |
| cde | hmm let's try xiangfu's 20120717-1555 build! | 12:06 |
| lekernel | no, they are different | 12:10 |
| cde | it works! youpi :) | 12:24 |
| cde | wow, the bios is very nice | 12:38 |
| cde | is debian stable (squeeze) compatible with the toolchain required to build milkymist? | 12:43 |
| Fallenou | yes | 12:43 |
| Fallenou | I can build the bitstream (fpga) and the bios with debian squeeze | 12:44 |
| Fallenou | and the toolchains | 12:44 |
| Fallenou | I guess building rtems and flickernoise works as well | 12:44 |
| cde | and there's an uart console over the ftdi. very cool! | 12:46 |
| Fallenou | yes ! | 12:46 |
| Fallenou | best way to deal with uart is to use flterm tool under "tools/" directory in the milkymist repository | 12:47 |
| Fallenou | flterm --port /dev/ttyUSB0 | 12:47 |
| cde | thanks. I noticed screen doesn't work too well with it, so I used microcom | 12:48 |
| kristianpaul | hi cde :) | 13:46 |
| kristianpaul | afaik screen doesnt :( | 13:47 |
| larsc | it's because of the stupid missing carriage returns | 13:49 |
| cde | I haven't compiled the soc yet, but what percentage of the fpga will remain free for additional stuff? | 13:50 |
| xiangfu | cde, ~50% | 13:54 |
| cde | that's nice! btw, http://www.milkymist.org/debian/ is 404 :( | 13:56 |
| cde | oh that's normal, just need to compile the toolchain | 13:59 |
| cde | hmm, should update the README to mention autoconf 2.69 is required | 14:39 |
| cde | and automake 1.12.2 as well | 14:43 |
| cde | do I need rtems-yaffs2? | 14:53 |
| cde | yep, I do | 14:54 |
| cde | hmm /opt/milkymist/flickernoise/src/main.c:251: undefined reference to `rtems_shell_init_env' | 14:56 |
| kristianpaul | larsc: yeah... | 15:17 |
| larsc | kristianpaul: i patched my bios... | 15:21 |
| kristianpaul | larsc: send to upstream :) | 15:22 |
| kristianpaul | no fork ;) | 15:22 |
| larsc | lekernel doesn't want it | 15:23 |
| kristianpaul | i kwno ;) | 15:26 |
| kristianpaul | but there 3 request now | 15:27 |
| kristianpaul | perhaps four, wpwrak ? :) | 15:27 |
| kristianpaul | developer should let wanted features to merge ! | 15:27 |
| kristianpaul | ;-) | 15:27 |
| cde | oh, it's not that big a deal | 15:27 |
| wpwrak | kristianpaul: hmm, what issue ? | 15:28 |
| kristianpaul | wpwrak: missing carriage return in m1 bios | 15:28 |
| wpwrak | ah .. i think neocon doesn't need it. or i somehow avoided running into the problem by some other means. | 15:30 |
| cde | hmm would it be possible to clock the vga gen core higher with a pll to enable higher resolutions? | 15:30 |
| kristianpaul | i think that trick is used in fn | 15:31 |
| kristianpaul | not sure | 15:31 |
| kristianpaul | wpwrak: like many other issues/bugs on m1 end by avoid running in to the problem by other means... | 15:32 |
| wpwrak | heh :) | 15:33 |
| wpwrak | "stay out of trouble" - best survival strategy ever ;-) | 15:33 |
| kristianpaul | lol ;) | 15:33 |
| wpwrak | e.g., don't pet that cute furry sabretooth tiger | 15:34 |
| kristianpaul | come on, thats the among top | 15:35 |
| wpwrak | right after "let's explore this mountain where the gods are making noises and are having a smoke" | 15:38 |
| kristianpaul | jaja | 15:38 |
| cde | still having this undefined rtems_shell_init_env error :/ anybody has an idea? | 15:39 |
| kristianpaul | you aplied the patches? | 15:39 |
| cde | hmm wait | 15:40 |
| cde | when building flickernoise, three patches are applied automatically: openjpeg-0001-for-milkymist-one.patch mupdf-0001-for-milkymist-one.patch and jansson-0001-for-milkymist-one.patch.patch | 15:41 |
| cde | when building lm32 toolchain, four patches are applied automatically: binutils-2.22-rtems4.11-20120427.diff gcc-core-4.5.4-rtems4.11-20120703.diff newlib-1.20.0-rtems4.11-20120705.diff and gdb-7.4.1-rtems4.11-20120706.diff | 15:42 |
| cde | gdb-7.3.1-32-bit-ism-and-more-sloppy-macros.patch was apparently not applied, although it doesn't seem related to the error | 15:43 |
| kristianpaul | no wait are/is other, looking... | 15:43 |
| kristianpaul | http://projects.qi-hardware.com/index.php/p/wernermisc/source/tree/master/m1/patches | 15:45 |
| cde | my god, it's full of patches! | 15:47 |
| kristianpaul | not all apply, quilt knows | 15:47 |
| cde | shouldn't they (or some) be merged upstream? | 15:47 |
| kristianpaul | one day will :) | 15:47 |
| kristianpaul | http://milkymist.org/wiki/index.php?title=Pending_RTEMS_PRs | 15:48 |
| cde | ok, almost all have been applied. export-shell-fns.patch will fix the problem | 15:51 |
| cde | thanks, kristianpaul | 15:51 |
| Fallenou | pfiou | 15:56 |
| Fallenou | it's becoming painful to build everything manually | 15:56 |
| cde | oh, I meant almost all patches are already part of the git head. I just had to apply one manually | 15:59 |
| cde | and it's compiled! very cool | 16:02 |
| cde | ERROR:Map:258 - A problem was encountered attempting to get the license for this architecture. | 16:09 |
| cde | damn you, Xilinx | 16:10 |
| kristianpaul | Fallenou: not at all, milkymist.org/script do most of the work | 16:10 |
| kristianpaul | except werner patches | 16:10 |
| kristianpaul | patch* | 16:10 |
| cde | yep, it's very straightforward | 16:11 |
| xiangfu | cde, https://github.com/milkymist/scripts/ < --- | 16:13 |
| xiangfu | this may save some of your time. :) | 16:13 |
| cde | yep, I'm using precisely this, it's very useful :) | 16:16 |
| cde | 91s to compile the whole soc! ise 13.2 is not so bad | 16:16 |
| kristianpaul | what?! | 16:17 |
| cde | Total CPU time to Xst completion: 91.53 secs | 16:17 |
| cde | it used about half a gig of RAM | 16:18 |
| cde | hmm wait, I think it hasn't done place and route yet | 16:18 |
| cde | looks like I spoke too soon. ISE is still as slow as ever before | 16:25 |
| kristianpaul | btw anyone with "acess" had tried vivado? | 16:30 |
| lekernel | vivado is free download for everyone now | 16:30 |
| lekernel | it's not compatible with ISE projects or UCF files, you have to convert a bunch of stuff | 16:31 |
| lekernel | (not that the UCF syntax is particularly nice, though...) | 16:32 |
| kristianpaul | oh | 16:32 |
| lekernel | I'm happy to see it go, assuming they didn't replace it with something even worse | 16:32 |
| cde | lekernel: if I load a simple test bitstream into the FPGA, do I have to ensure some I/O are pulled up or low to avoid hardware issues? (nor corruption, overheating, ...) | 16:41 |
| cde | hmm it would seem the LM32 runs at 50 MHz, unless I'm mistaken. is it possible to clock it higher? | 16:43 |
| kristianpaul | what soc are you building? ng or legacy one? | 16:45 |
| cde | legacy I think, the latest commit is from Jun 4 (softusb: interrrupt support for navre) | 16:46 |
| lekernel | lm32 is 80MHz | 16:46 |
| lekernel | and 83MHz in ng | 16:46 |
| cde | it might not be a good idea to clock it higher though, even if timing allows it. I don't want to overheat the fpga | 16:47 |
| lekernel | it doens't overheat | 16:48 |
| lekernel | problem is that FPGAs are slow, that's all | 16:49 |
| lekernel | if overheating was the problem, we'd have installed cooling on the M1 and clocked that CPU at a more decent frequency | 16:49 |
| cde | so the compiled milkymist-ng should be compatible with my current flickernoise right? I assume only the bios must be updated (probably due to the different memory controller design) | 16:50 |
| cde | so let's install python 3.2 ;) | 16:55 |
| kristianpaul | heat is good it means more speed if we had it ;) | 17:01 |
| cde | speed doesn't matter. my first computer ran at 900 khz ;) | 17:02 |
| kristianpaul | cool :) | 17:05 |
| kristianpaul | :w! | 17:06 |
| kristianpaul | oops | 17:06 |
| Hodapp | :P | 17:09 |
| cde | wow, tmu2 is quite a piece of work | 17:13 |
| cde | lekernel: is there a PoC of implementing 3D graphics using pfpu+tmu2? | 17:25 |
| cde | had to apply this patch when building clang: http://llvm.org/bugs/attachment.cgi?id=7756 | 17:31 |
| lekernel | no | 17:40 |
| lekernel | milkymist-ng cannot run flickernoise yet | 17:41 |
| lekernel | tmu should move to migen flow. should reduce the number of lines of code by a fair bit :) | 17:41 |
| lekernel | but yeah... lots of work | 17:42 |
| cde | llvm-lm32 compiled! now compiler-rt | 17:43 |
| cde | ah well, I can also tinker with flickernoise on the classic soc | 17:43 |
| cde | hmm, lm32-elf-ar: libc.o: No such file or directory. let's check everything again | 17:47 |
| cde | lekernel: for the record, those two lines were not playing to well for some reason: | 17:53 |
| cde | #%.o: %.c | 17:54 |
| cde | # $(compile-dep) | 17:54 |
| cde | (I commented them to make it work) | 17:54 |
| cde | there is probably a nicer way to fix it | 17:54 |
| cde | bios.bin, here we come | 17:54 |
| cde | damn, easy_install won't install networkx | 17:55 |
| cde | pygraphviz doesn't seem python 3.2 friendly :/ | 17:58 |
| cde | lekernel: how did you manage to get it to work? | 18:01 |
| lekernel | ah, yes, graphviz is a pain. but you don't need it for just building the soc, only some test benches use it. | 18:23 |
| lekernel | I had to compile it manually | 18:23 |
| lekernel | and will probably replace it with something else, the results don't look too good anyway | 18:24 |
| cde | thanks | 18:25 |
| cde | there is http://igraph.sourceforge.net/ as a possible alternative to networkx | 18:33 |
| cde | hrm, my self-compiled flickernoise fails to compile Rovastar & Idiot24-7 | 19:11 |
| wpwrak | is this the only one with problems ? or just the first one where you run into them ? | 19:17 |
| cde | oh, just the first. there were about 4/5 | 19:17 |
| cde | I just moved them around | 19:18 |
| cde | is there a patch that uses the CCD camera? | 19:18 |
| wpwrak | Lekernel\ -\ FullScreen\ Video-in\ Preview.fnp ? :) | 19:19 |
| cde | cool | 19:19 |
| cde | hrm. how do I get back to the gui | 19:29 |
| wpwrak | Esc ? | 19:29 |
| wpwrak | (if i remember correctly) | 19:30 |
| cde | ok, my keyboard must be non-working | 19:30 |
| cde | the thing with the giant caps lock key also does not work, although I can boot to the console with esc | 19:33 |
| cde | well video input is working very well although the ccd camera gets hot a bit | 19:46 |
| cde | btw not sure if Adam is here, but some time ago he was looking for a TSOP test clip. here's one: http://www.elitasia.com/360-Clip-for-PS3-Slim-50-pin-NOR-Flash | 19:49 |
| wpwrak | the camera getting hot is "normal". not sure why they made it this way, though. | 19:51 |
| cde | for those cold winter nights, I assume | 19:51 |
| cde | hrm those BOOTP messages in the console are annoying | 19:52 |
| hellekin | wpwrak: back to buenos aires | 20:00 |
| hellekin | i'm leaving on the 15th | 20:00 |
| mwalle | Fallenou: if i switch on the itlb, are there nops required? | 20:20 |
| Fallenou | mwalle: it depends on what you do afterward | 20:26 |
| Fallenou | if you want to switch on itlb and then jump to a virtual address | 20:26 |
| Fallenou | lemme check | 20:26 |
| Fallenou | https://github.com/fallen/milkymist-mmu/blob/mmu/software/include/hal/mmu.h | 20:27 |
| Fallenou | #define call_function_with_itlb_enabled(function) do { \ | 20:28 |
| Fallenou | no nop | 20:28 |
| Fallenou | ignore the comment // FIXME, it's wrong now I have to remove this comment | 20:28 |
| Fallenou | if you want to just switch on itlb and let the cpu continue executing the code, it depends if you map vaddr == paddr or vaddr != paddr | 20:29 |
| Fallenou | if vaddr == paddr it's ok, you don't need a nop | 20:30 |
| Fallenou | if vaddr != paddr you need 1 nop I would say | 20:30 |
| mwalle | Fallenou: yes that was my next question, i assume vaddr == paddr is always needed for the code switching on the itlb and then branches | 20:30 |
| Fallenou | mwalle: if your next operation is a jump/call you don't need a nop :) | 20:31 |
| Fallenou | even if the code running (activating itlb) is not mapped | 20:31 |
| Fallenou | at all | 20:31 |
| mwalle | because the instruction is already fetched? | 20:31 |
| Fallenou | because the timing is such that the itlb is actually ON for the fetch of the instruction being jump on | 20:31 |
| Fallenou | jumped* | 20:32 |
| Fallenou | and not before | 20:32 |
| Fallenou | so you only need to worry about mapping the virtual address you jump to | 20:32 |
| mwalle | mh | 20:32 |
| Fallenou | if it does not do this, it's a bug :) | 20:33 |
| Fallenou | but so far it's OK in my tests | 20:33 |
| cde | how big of a speedup will I get with ASMI as compared to the classic SoC? | 20:40 |
| Fallenou | I think it's more the idea that it's faster to write such things with migen than writting the signaling etc code in pure verilog | 20:41 |
| Fallenou | handshacking, serialising etc is done automagically with migen :) | 20:41 |
| Fallenou | so you only need to worry about what you want to do | 20:41 |
| Fallenou | I guess that's a big speedup :) | 20:41 |
| cde | could we get an ASMI implementation in the classic SoC? | 20:42 |
| Fallenou | oh sorry I said bullshit | 20:43 |
| Fallenou | I was talking about the dataflow stuff | 20:43 |
| Fallenou | not ASMI | 20:43 |
| Fallenou | I mixed up things in my head =) | 20:43 |
| cde | multiplexing can be good. saves gates | 20:44 |
| larsc | multipexers in fpga can be expensive though | 20:46 |
| cde | BUFGMUX ftw ;) | 20:48 |
| kristianpaul | cde: http://lists.milkymist.org/pipermail/devel-milkymist.org/2012-July/003136.html | 20:55 |
| lekernel | cde: ASMI should bring 2x to 4x more memory bandwidth compared to the current memory system | 21:02 |
| lekernel | cde: ctrl+esc to leave rendering mode | 21:03 |
| lekernel | could we get an ASMI implementation in the classic SoC => bring the missing bits into milkymist-ng instead... | 21:03 |
| cde | ok :) very nice perfs btw! also will the next milkymist be all digital? I think audio in/out jacks would still be useful | 21:04 |
| cde | what are the missing bits? | 21:04 |
| lekernel | USB for example | 21:04 |
| lekernel | and TMU, but that's a difficult one | 21:05 |
| cde | tmu is a bit scary, yes | 21:05 |
| cde | how hard will it be to bring mmu into -ng? | 21:06 |
| lekernel | either use DF and rewrite everything | 21:07 |
| lekernel | or take some of the old verilog code | 21:07 |
| mwalle | Fallenou: shouldn't we require some number of NOPs after switching on the ITLB? | 21:07 |
| lekernel | either way with ASMI you need to implement the whole http://window.stanford.edu/papers/texture_prefetch/texture_prefetch_down.pdf | 21:07 |
| lekernel | DF system will provide components for doing this, but I'm not finished with them yet | 21:07 |
| cde | hrm are you sure about the switch to lua? there's easily a 10x-50x perf reduction as compared to C | 21:09 |
| lekernel | shouldn't matter for high level application code like describing a file-open dialog box | 21:11 |
| lekernel | this is a pain in the ass to do in C | 21:11 |
| lekernel | of course, performance critical software code will be in C or assembler | 21:12 |
| cde | ah yes, that makes sense | 21:12 |
| Fallenou | mwalle: what for ? | 21:14 |
| Fallenou | you can put a few nops just to feel safe but they should not be needed | 21:14 |
| mwalle | Fallenou: at which instruction can we be sure we are running out of a mapped page? | 21:16 |
| lekernel | cde: bufgmux is only for clocks | 21:16 |
| lekernel | for regular signals you use LUT and MUXFx | 21:16 |
| Fallenou | mwalle: running out ? I don't get this expression | 21:17 |
| cde | oh wow is wpwrak really the original author of LILO? | 21:17 |
| Fallenou | cde: it did the same effect on me =) | 21:17 |
| cde | this is quite awesome! | 21:17 |
| cde | when grub came I had to unlearn running lilo after a kernel compile ;) | 21:18 |
| mwalle | Fallenou: assume the transion ITLB off -> ITLB on, at some point (measured in instructions after the wcsr to PSW) instructions are fetched through a mapped page | 21:18 |
| Fallenou | yes , sure | 21:19 |
| Fallenou | I will have to check, but I would say : wcsr, nop, X | 21:19 |
| mwalle | i guess this isnt the first instruction, because in that case your call_func_with_itlb_enabled wouldnt work | 21:20 |
| Fallenou | and X is fetched from virtual address | 21:20 |
| mwalle | and if you say you dont require nops after the wcsr, you have to make sure the very next instruction after wcsr is always fetched with itlb disabled | 21:21 |
| Fallenou | but it's a complex question :p | 21:21 |
| Fallenou | I had to battle to make all of this work | 21:21 |
| mwalle | eg is that true if there is a interrupt between wcsr and the next instruction? | 21:21 |
| Fallenou | mwalle: the very next instruction after wcsr is "fetched" while wcsr is decoded | 21:23 |
| Fallenou | so it's fetched with itlb off | 21:23 |
| Fallenou | address->fetch->decode->execute->mem access->write back | 21:23 |
| mwalle | and if there is an interrupt in between? | 21:24 |
| Fallenou | that's a good question ^^ | 21:24 |
| Fallenou | it depends if it happens while wcsr is in decoding or executing stage | 21:25 |
| Fallenou | exception happens in execution stage so after return from exception it will go back to what was in execute stage | 21:25 |
| Fallenou | but yes it's a very good question | 21:25 |
| mwalle | so if we require some nops after the wcsr, we make sure itlb is enabled | 21:26 |
| Fallenou | yes you're right | 21:26 |
| Fallenou | it may be safer | 21:26 |
| mwalle | of course you need a valid mapping for the current code | 21:26 |
| mwalle | i guess the same is true for ITLB on -> ITLB off? | 21:27 |
| Fallenou | I wonder if there is a use case for disactivating manually ITLB | 21:27 |
| Fallenou | surely | 21:27 |
| mwalle | at least my test case use that;) | 21:30 |
| Fallenou | hehe | 21:30 |
| Fallenou | each time I chat here I end up thinking I need more tests :) | 21:30 |
| Fallenou | I had a drop in motivation for a few weeks | 21:31 |
| Fallenou | but I am resuming slowly the task :) | 21:31 |
| mwalle | Fallenou: the qemu test cases should run on your milkymist too, with some adjustments | 21:31 |
| Fallenou | good to know :) | 21:32 |
| Fallenou | where are the tests in the tree https://github.com/mwalle/qemu/tree/mmu ? | 21:33 |
| mwalle | yeah, tests/tcg/lm32/test_mmu.S | 21:33 |
| mwalle | i'm currently working on the itlb and the control interface update | 21:33 |
| Fallenou | nice | 21:34 |
| Fallenou | I modified my code to allow removing completely TLBCTRL csr | 21:34 |
| Fallenou | to just use TLBVADDR with lower bits indicating the action to perform | 21:34 |
| Fallenou | and to make the mapping enter the TLB while writting to TLBPADDR | 21:35 |
| Fallenou | it's not pushed yet because I think there is a small bug (software one I think) lurking somewhere | 21:35 |
| Fallenou | but it's almost done | 21:35 |
| mwalle | http://pastebin.com/wj6XY1gY thats my current testcase | 21:35 |
| Fallenou | I mostly write my tests in C ... I should do like you | 21:36 |
| Fallenou | I lose a lot of time to ensure the C is translated into the correct ASM code | 21:37 |
| GitHub47 | [migen] sbourdeauducq pushed 3 new commits to master: https://github.com/milkymist/migen/compare/6490785b6c68...fc3187317b0e | 21:38 |
| GitHub47 | [migen/master] Multi-clock design support + new instance API - Sebastien Bourdeauducq | 21:38 |
| GitHub47 | [migen/master] examples: update LM32 instance - Sebastien Bourdeauducq | 21:38 |
| GitHub47 | [migen/master] examples: demonstrate multi-clock support - Sebastien Bourdeauducq | 21:38 |
| Fallenou | if you map current code and then activate itlb, put a few nops and then calli something it will surely work | 21:39 |
| GitHub101 | [milkymist-ng] sbourdeauducq pushed 1 new commit to master: http://git.io/b-apuw | 21:39 |
| GitHub101 | [milkymist-ng/master] Basic support for new clock domain and instance API - Sebastien Bourdeauducq | 21:39 |
| Fallenou | it even work when current code is not mapped if the calli is right after wcsr :) | 21:39 |
| Fallenou | which is kind of beautiful to see working | 21:39 |
| mwalle | hehe | 21:39 |
| Fallenou | but yes after you need to worry about interruptions messing everything up | 21:39 |
| Fallenou | I will try to fix the few remainings problems and push the changes in the "API" before going to Oslo (on friday) | 21:41 |
| Fallenou | mwalle: the "problem" with your code is that it would not print anything on uart :( | 21:42 |
| Fallenou | so it's hard to check if it's really working | 21:42 |
| Fallenou | but I can run it in ISim and check the simulation results :) | 21:42 |
| mwalle | Fallenou: adjust the macros | 21:43 |
| mwalle | should be easy to send some string via uart | 21:43 |
| Fallenou | yes | 21:44 |
| Fallenou | thanks ! | 21:46 |
| Fallenou | going to sleep now :) | 21:46 |
| Fallenou | gn8 ! | 21:46 |
| mwalle | gn8 | 21:46 |
| mwalle | pushing my changes now | 21:46 |
| Fallenou | lekernel: how was the reaction to migen presentation ? | 21:47 |
| Fallenou | at fpga world | 21:47 |
| cde | azonenberg: and its too fast for my LA <- the LA1034 is supposedly fast enough for a 125 MHz SDRAM, and it's not too expensive | 22:07 |
| azonenberg | cde: i was using DDR at 160 MHz | 22:07 |
| cde | oh | 22:08 |
| azonenberg | and i've been using my internal LA lately since it can go over 200 MHz and captures synchronous to an on-chip clock | 22:08 |
| cde | your softcore is mips? is it open-sourced? | 22:09 |
| azonenberg | cde: an older version of it is | 22:09 |
| azonenberg | i'm doing current work on a private fork until i publish my thesis | 22:09 |
| azonenberg | at which point i'll merge back to the mainline | 22:10 |
| cde | oh. I remember using plasma some years ago. it worked reasonably well, although it lacked many featyres | 22:10 |
| azonenberg | Yeah, mine is nicer | 22:10 |
| azonenberg | plasma was slow, i think only three pipeline stages | 22:10 |
| azonenberg | mine is five | 22:10 |
| cde | very nice. do you also have non aligned memory access? | 22:11 |
| azonenberg | Not implemented because gcc doesnt generate those opcodes by default | 22:11 |
| azonenberg | but the patent is expired so i could add it if needed | 22:11 |
| cde | yeah iirc some company got sued to oblivion a few years ago, very sad | 22:12 |
| azonenberg | well afaik as long as you dont use the MIPS trademark when describing your design | 22:12 |
| azonenberg | mips1 is unencumbered now | 22:12 |
| cde | that's cool | 22:13 |
| cde | btw did you see the mips16 isa? not many people use it I think, it reminds of a thumb copycat | 22:13 |
| azonenberg | I think its still patented | 22:13 |
| azonenberg | and it is | 22:13 |
| azonenberg | My arch is pure 32 bit | 22:13 |
| GitHub25 | [milkymist-ng] sbourdeauducq pushed 1 new commit to master: http://git.io/x71_Sw | 22:13 |
| GitHub25 | [milkymist-ng/master] Define clock domains instead of passing extra clocks as regular signals - Sebastien Bourdeauducq | 22:13 |
| cde | I was considering implementing MIPS I too. it doesn't look exceedingly difficult without the mmu | 22:14 |
| azonenberg | well i'm going to need at least a basic mmu here but it wont be mips standard | 22:14 |
| azonenberg | it's going to have to be full custom to interface with my NoC | 22:14 |
| lekernel | why duplicate Lattice's and Fallenou's work? | 22:14 |
| cde | oh, to learn things | 22:15 |
| cde | by the way is the MIPS I ISA officially described somewhere? I could only find bits and pieces | 22:15 |
| GitHub21 | [migen] sbourdeauducq pushed 2 new commits to master: https://github.com/milkymist/migen/compare/fc3187317b0e...3b3e2f19eb21 | 22:16 |
| GitHub21 | [migen/master] setup.py: cosmetic - Sebastien Bourdeauducq | 22:16 |
| GitHub21 | [migen/master] Merge branch 'master' of github.com:milkymist/migen - Sebastien Bourdeauducq | 22:16 |
| lekernel | you could also learn a lot of things e.g. implementing ASMI prefetch+cache in the TMU | 22:17 |
| lekernel | and the OSHW-CPU world will not have yet another half finished, buggy and generally unusable softcore | 22:17 |
| cde | hmm. that's a steep learning curve ^^ | 22:17 |
| lekernel | seriously there is like, a hundred of open source softcores projects today | 22:20 |
| lekernel | only two are usable: LM32 and LEON | 22:20 |
| hellekin | lekernel: do you have a complete list? | 22:20 |
| azonenberg | openrisc? | 22:20 |
| azonenberg | no experience with it but i've heard its decent | 22:20 |
| lekernel | openrisc isn't usable. it's slow (less than half the speed of LM32), bloated (3x the size of LM32), and buggy | 22:20 |
| azonenberg | i see | 22:21 |
| lekernel | there's this recent reimplementation which seems to go in the right direction, but haven't tested yet | 22:21 |
| lekernel | and it has no MMU. at least, LM32 has part of it. | 22:21 |
| mwalle | gn8 | 22:22 |
| cde | in my view, an MMU is a relic of the days when software was distributed in the form of binaries and a memory boundary was needed. with software distributed in source, and memory checks added by the compiler, an MMU becomes mostly irrelevant, although it can help for memory defrag | 22:23 |
| cde | the closed-source ecosystem adopted Linux precisely because it allows execution of proprietary, binary-only software. a truely Free OS would not allow that | 22:25 |
| cde | azonenberg: http://code.google.com/p/utica-softcore/ <= this is your softcore MIPS CPU I assume? | 22:26 |
| lekernel | something simpler then: get USB to work on -ng using the old verilog code | 22:29 |
| cde | that seems doable! well I think | 22:30 |
| cde | wow, | 22:33 |
| cde | homecmos is quite awesome! | 22:33 |
| cde | azonenberg: looking forward to your first IC :) | 22:33 |
| azonenberg | Lol its a ways out | 23:11 |
| azonenberg | cde: and yes | 23:11 |
| --- Tue Sep 11 2012 | 00:00 | |
Generated by irclog2html.py 2.9.2 by Marius Gedminas - find it at mg.pov.lt!