--- Log opened Sat Apr 19 00:00:11 2014 | ||
stekern | Limb: so are all the clocks correctly discoverd now? does it do any constrains on the jtag clock? | 04:48 |
---|---|---|
stekern | ...and welcome to the world of FPGA development, if you have timing critical paths somewhere, it will work sometimes and completely unrelated changes might throw it off | 04:50 |
blueCmd | stekern: do you know what's the difference between (mpfr_const_catalan) (x, MPFR_RNDN); and mpfr_const_catalan (x, MPFR_RNDN); ? | 10:51 |
blueCmd | I'm wondering if there is any difference in macro expansion | 10:54 |
blueCmd | yes, seems to be to not match #define mpfr_const_catalan(a,b) | 10:58 |
stekern | ah, yes, now I understand what you asked, about the paranthesis | 10:58 |
stekern | I thought you expected me to have some knowledge about mpfr_const_catalan =) | 10:59 |
blueCmd | hah, nah | 11:00 |
blueCmd | I have this: | 11:01 |
blueCmd | int main () calls a function in mpfr.so named mpfr_const_catalan with a pointer to a destination var | 11:01 |
blueCmd | mpfr_const_catalan calls mpfr_cache with the same pointer | 11:02 |
blueCmd | http://c4daf64764e7733d.paste.se/ | 11:02 |
blueCmd | or rather http://484164eebe973e92.paste.se/ | 11:04 |
blueCmd | main -> mpfr_const_catalan -> mpfr_cache | 11:04 |
stekern | ok, and where/what fails in that chain? | 11:04 |
blueCmd | between mpfr_const_catalan and mpfr_cache the pointer gets mushed | 11:04 |
* blueCmd ison a train, high latency | 11:05 | |
blueCmd | also, low battery so I'm dumping state and out-sourcing some thinking to the channel | 11:05 |
* stekern is in a summerhouse in the stockholm archipelago | 11:06 | |
blueCmd | anyway, mpfr_ functions are in a shared library - this does seem to work if I turn of TLS for the library | 11:06 |
blueCmd | I'm going to dump the assembly for the functions and look what it is doing | 11:07 |
blueCmd | it _does_ work if I call mpfr_cache directly from main | 11:07 |
blueCmd | __gmpfr_cache_const_catalan is a TLS variable | 11:07 |
stekern | hmm, could it be some plt calling that screws it up then? | 11:08 |
blueCmd | possibly | 11:08 |
stekern | again, the or1ksim traces really helps in those kind of cases ;) | 11:10 |
blueCmd | yep. I'm not running it in or1ksim though | 11:10 |
stekern | could you? | 11:11 |
stekern | I mean, is it reproducable there? | 11:11 |
blueCmd | I haven't tried | 11:12 |
stekern | it seems like you've got it pretty well narrowed down though, just excamining the asm dumps of the functions might be enough | 11:12 |
blueCmd | yeah | 11:12 |
blueCmd | stekern: remind me, where is the first argument stored for the function in the standard calling convention? | 11:17 |
blueCmd | r4? r5? | 11:17 |
-!- Netsplit *.net <-> *.split quits: _franck_, sfa | 12:14 | |
stekern | blueCmd: r3 | 15:49 |
Limb | stekern: it doesn't have any constraints on the jtag clock.. but then again the jtag clock isn't even a real 'pin' per say since its a tap to the internal jtag interface | 16:07 |
stekern | Limb: no, but it's still a clock net, and you are hooking up custom logic that is clocked with that clock | 16:24 |
stekern | constraints aren't just about external pins | 16:26 |
Limb | stekern: OK. So if openOCD is driving it at 100 KHz, should i set a constraint for that wire to be 100 MHz? | 16:27 |
Limb | 100Mhz/100 Khz | 16:27 |
stekern | yes | 16:27 |
stekern | you might need to explicitly tell ISE that the CDC between the jtag clock and the wb clock is properly handled and so forth too | 16:28 |
Limb | stekern: CDC? | 19:50 |
olofk | Limb: Clock Domain Crossing | 20:39 |
olofk | If you have multiple clocks in a design you must be very careful with data that is crossing between those domains | 20:39 |
olofk | I can't understand what the hell is the problem with my wb_ram component | 20:42 |
blueCmd | stekern: http://4abb43c04f22cd33.paste.se/ the functions assembly (my laptop died 2 seconds before I could paste it to you earlier today) | 20:52 |
blueCmd | surely it looks like the __tls_get_addr (GD resolve) call messes up r3 (which is the dest pointer) | 20:53 |
* blueCmd playes with emit_clobber | 22:05 | |
blueCmd | plays* | 22:05 |
Limb | stekern, olofk: getting this error trying to add that timing constraint: http://pastebin.com/5geKgRgY | 23:09 |
--- Log closed Sun Apr 20 00:00:13 2014 |
Generated by irclog2html.py 2.15.2 by Marius Gedminas - find it at mg.pov.lt!