--- 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!