#milkymist IRC log for Friday, 2013-07-26

rjolekernel: sorry. that patch was supposed to have max(2, n)00:38
rjolekernel: i got my ones and twos wrong....00:38
GitHub86[migen] sbourdeauducq pushed 1 new commit to master: http://git.io/sR-elQ07:36
GitHub86migen/master 6e11954 Robert Jordens: genlib/roundrobin: fix n==1 case (correctly)07:36
ysionneaulekernel: about my email in moderation, do you want me to send it again with no attached files and with links instead? (the whole email was 200 kB instead of the 40 kB which is the max accepted)09:25
cdeshouldn't we increase that limit a bit09:26
lekerneljust moderated it09:32
ysionneauthanks :)09:50
ysionneaucde: 40 kB is a bit low indeed at least for PDF files :)09:50
cdemaybe it's a good thing. PDF is evil ;)09:52
cdelet's share .tex or .rst09:53
cdebtw https://code.google.com/p/wavedrom/ <= very nice for sharing waveforms09:53
ysionneaucool :)09:54
stekernysionneau: that was a nice and comprehensible documentation of the mmu, there's only one thing that I'm not sure about - the value written to TLBBADVADDR on an itlb miss10:44
stekernin the document it sounds like it's not updated with the address that actually caused the miss, but whatever happens to be in execute stage10:45
stekernis that right?10:45
GitHub168[migen] sbourdeauducq pushed 1 new commit to master: http://git.io/H5mP8g11:58
GitHub168migen/master cec8fc4 Sebastien Bourdeauducq: fhdl/specials/Instance: fix item sorting11:58
ysionneau12:44 < stekern> ysionneau: that was a nice and comprehensible documentation of the mmu < thanks :)11:58
ysionneauhum reading the paragraph again I'm not sure it's correct12:00
ysionneaustekern: I will look closer at this paragraph tonight I think :)12:24
ysionneauthanks for the feedback!12:24
stekernysionneau: my pleasure12:59
ysionneauI think mwalle already told me about this paragraph, I thought I had address this issue12:59
ysionneauit seems not12:59
GitHub161[mibuild] sbourdeauducq pushed 1 new commit to master: http://git.io/yM_miA13:16
GitHub161mibuild/master f7f19b7 Sebastien Bourdeauducq: Fragment -> _Fragment13:16
stekernI know how it is. When you looked too long at your own documentation, errors start becoming hard to find =P13:26
stekernI'm curious though, how does the exceptions work in lm32. I guess for exceptions that happen in < execute stage, they are just propagated into execute and then taken13:27
stekernbut are all mem stage (apart from mmu) exceptions just address related?13:29
stekern(i.e. any external bus errors can't be captured?)13:30
ysionneau15:27 < stekern> I'm curious though, how does the exceptions work in lm32. I guess for exceptions that happen in < execute stage, they are just propagated into  execute and then taken < yes, when the exception is raised, it is really triggered once the instruction is in the X stage13:31
ysionneaudocumentation says that bus error exception are more or less non deterministic :)13:31
ysionneauI think that there is no easy way to raise an exception after the execute stage in the lm32 pipeline13:32
stekernok, yes, that makes sense13:32
stekernand I think I recall that you had to induce a 1 cycle delay for the dtlb miss exception just because of this, right?13:32
ysionneauindeed13:32
ysionneauso that the instruction (load or store) is still in the X stage13:33
ysionneaustekern: after checking in the code, the sentence in the documentation is correct13:39
ysionneaucf https://github.com/milkymist/lm32/blob/master/rtl/lm32_cpu.v#L250113:39
stekernI wonder though, does execute stage have any sideeffects that wouldn't be cleared by the dtlb miss exceptions? (if it would be taken in mem stage I mean)13:39
stekern(as a comparison, in mor1kx we take all exceptions in mem stage)13:40
stekernhmm, yes, but hasn't the itlb miss pc moved up to execute stage when that happens?13:42
stekernor is the 'itlb_exception' signal connected straight from the mmu?13:43
ysionneauit's connected straight from the mmu13:45
GitHub164[migen] sbourdeauducq pushed 1 new commit to master: http://git.io/3bP_Ug13:45
GitHub164migen/master 9c7ad6b Sebastien Bourdeauducq: fhdl: RenameClockDomains decorator13:45
GitHub56[milkymist-ng] sbourdeauducq pushed 1 new commit to master: http://git.io/eHExVQ13:45
GitHub56milkymist-ng/master bf32559 Sebastien Bourdeauducq: Use RenameClockDomains decorator instead of add_submodule13:45
ysionneauoh you're right13:46
ysionneauitlb_miss_x comes from the itlb module but it's "buffered" from the miss_f13:47
ysionneaumiss_x <= miss_d; and miss_d <= miss_f;13:47
ysionneauso itlb_exception is raised only when the instruction is in the X stage :)13:48
ysionneauso pc_x should be, in theory, the address of the instruction whose fetch caused the exception13:48
ysionneauso I should fix the documentation :)13:48
ysionneauI should have paid attention to the "_x" suffix =)13:49
stekernah, I didn't even look further up in the file, I just assumed it "has to be" the case =P13:54
GitHub132[migen] sbourdeauducq pushed 1 new commit to master: http://git.io/QHjYHw13:58
GitHub132migen/master 61b8958 Nina Engelhardt: fix synthesis translate on/off switch13:58
--- Sat Jul 27 201300:00

Generated by irclog2html.py 2.9.2 by Marius Gedminas - find it at mg.pov.lt!