| --- Log opened Sun Apr 12 00:00:03 2015 | ||
| -!- Netsplit *.net <-> *.split quits: trevorman | 05:53 | |
| -!- trevorman_ is now known as trevorman | 05:53 | |
| stekern | I bet this annotated disasm of a 1.2 kickrom is better commented than the original source was: | 17:36 |
|---|---|---|
| stekern | http://wandel.ca/homepage/execdis/exec_disassembly.txt | 17:36 |
| ysionneau | 12 | 18:10 |
| ams | what do peopl euse for synthesizing here? | 18:48 |
| olofk | Mostly the FPGA vendors own tools for Xilinx and Altera (XST/Vivado and Quartus). The other vendors use a licensed version of Synplify | 19:00 |
| olofk | stekern: There's quite a lot in that ROM. Didn't expect to find string routines and a built-in debugger | 19:08 |
| ams | olofk: so the non-free stuff? | 19:18 |
| stekern | olofk: they had 256k to waste ;) | 19:42 |
| bandvig | ams: AFAIK, it is possible to use so-called "WebPack Edition" license (free beer) for small size FPGA | 19:48 |
| ams | so non-free. | 19:49 |
| stekern | ams: I think the only free synthesis tool worth mentioning is: http://www.clifford.at/yosys/ | 19:51 |
| ams | yeah, i kinda figured that out.. just learnt that icarus dropped synthesis support | 19:52 |
| bandvig | ams: not as free word. BTW, I don't know open source synthesis tools anyway. Only RTL analisys ones (GHDL, Icarus Verilog, verilator ...) | 19:52 |
| ams | bandvig: sorry, i asked about free software, not open source, or non-free software. | 19:52 |
| ams | bandvig: https://www.gnu.org/philosophy/open-source-misses-the-point.html | 19:52 |
| bandvig | stekern: thanks for remark | 19:53 |
| stekern | progress: http://1drv.ms/1FNa0Rm | 20:06 |
| stekern | well, "progress"... | 20:06 |
| olofk | Awesome! | 20:12 |
| olofk | ams: LowRISC has some projects thorugh GSoC that aims to provide a FLOSS toolchain for the samll iCE40 FPGAs, but for anything else, we are probably many years away from something usable | 20:13 |
| olofk | But Yosys is indeed very interesting. I always assumed that it would be possible to make a decent synthesizer | 20:14 |
| olofk | The commercial ones do have an advantage by knowing a lot more about the internal timing parameters, so I don't think a FLOSS alternative will ever be as good | 20:15 |
| dalias | stekern, doing some overhaul in musl and looking for some quick or1k asm help :) | 21:33 |
| stekern | dalias: sure | 21:33 |
| dalias | i want to load the address of _DYNAMIC using only pc-relative computations | 21:33 |
| dalias | what's the right way to do that | 21:33 |
| dalias | btw what i'm doing is getting rid of the dynamic linker's start.s :) now crt_arch.h will also provide the entry point for dynamic linker | 21:35 |
| stekern | hmm, but isn't that what we do? | 21:36 |
| dalias | for crt1.o | 21:37 |
| dalias | the same code (crt_arch.h) used to generate that will also serve to generate the dynamic linker's entry point | 21:37 |
| dalias | __reloc_self() (from reloc.h) is also gone now | 21:39 |
| dalias | it's replaced by a portable version of the same thing that's shared by all targets | 21:39 |
| stekern | ok, sounds nice | 21:40 |
| dalias | and the same code (replacing entry point and __reloc_self) is eventually also going to be the rcrt1.o for static-PIE binaries :) | 21:42 |
| stekern | but can't you use the method that's currently used in start.S? | 21:43 |
| dalias | oh yes | 21:53 |
| dalias | it's there already :) | 21:53 |
| dalias | thanks | 21:53 |
| stekern | looking at that again, doing the way powerpc does it looks slightly nicer though ;) | 21:53 |
| dalias | yes. the problem is gas doesn't support generating relocations for expressions like _DYNAMIC-2b on most archs tho :( | 21:54 |
| dalias | despite that it's a general pattern that's always available | 21:54 |
| dalias | does it support it for or1k? | 21:54 |
| stekern | not sure, but I get a faint recollection of some problem in that file, so maybe I did try that first and it didn't | 21:55 |
| dalias | that's the method i like most | 21:55 |
| dalias | i use it on x86 now too: | 21:55 |
| dalias | " call 1f \n" | 21:56 |
| dalias | "1: addl $_DYNAMIC-1b,(%esp) \n" | 21:56 |
| dalias | (and it's already in the right argument slot on the stack :) | 21:56 |
| stekern | nice ;) | 21:56 |
| dalias | stekern, this kind of thing is what i mean when i say risc-v is way ahead of or1k in terms of designing the ISA for the actual needs of code/compilers :) | 21:59 |
| dalias | stekern, i don't have an or1k toolchain handy; can you confirm whether the 2: .word _DYNAMIC-2b (or similar) method works? | 22:07 |
| stekern | sure | 22:09 |
| stekern | wait | 22:09 |
| dalias | yeah? | 22:18 |
| stekern | http://pastie.org/10088851 | 22:21 |
| stekern | that seems to work | 22:21 |
| dalias | cool | 22:22 |
| stekern | with reservation for logic errors, I only compile tested it | 22:22 |
| dalias | yeah | 22:22 |
| dalias | btw jor1k also confirmed that _DYNAMIC-2b works :-p | 22:23 |
| dalias | thanks tho | 22:23 |
| stekern | jor1k is handy for that of stuff ;) | 22:24 |
| stekern | +kind | 22:24 |
| dalias | does this look ok? http://sprunge.us/HhCV | 22:31 |
| stekern | yup | 22:32 |
| dalias | cool | 22:32 |
| dalias | btw i suspect the 2: and -2b can be replaced by no-label and -. | 22:32 |
| stekern | me too | 22:33 |
| dalias | yep that's cleaner imo | 22:33 |
| dalias | fewer gratuitous labels | 22:33 |
| stekern | enough progress for tonight: http://1drv.ms/1I5sYCW | 23:44 |
| stekern | I swapped out the or1200 with mor1kx too | 23:44 |
| --- Log closed Mon Apr 13 00:00:04 2015 | ||
Generated by irclog2html.py 2.15.2 by Marius Gedminas - find it at mg.pov.lt!