--- Log opened Wed Oct 30 00:00:02 2013 | ||
-!- Netsplit over, joins: arokux1 | 00:04 | |
stekern | _franck_: you mean this? http://pastie.org/8441893 | 05:49 |
---|---|---|
hansfbaier | olofk: Connecting Key1 to an irq... good question. It was in orpsoc v2. | 05:52 |
hansfbaier | _franck_: great news, really excited about the driver! Have you used my tutorial? How did it go? | 06:03 |
stekern | hansfbaier: you're right, it was... that was an addition that a Gang Tao guy did. | 06:03 |
stekern | what is it connected to? | 06:03 |
hansfbaier | stekern: The templating and generation of toplevel would need some design discussion | 06:03 |
hansfbaier | stekern: I'd enjoy hacking on this... | 06:04 |
hansfbaier | stekern: IRQ 25? | 06:04 |
stekern | hansfbaier: most likely ;) | 06:04 |
stekern | (to toplevel discussion) | 06:04 |
stekern | irq25, yes | 06:04 |
stekern | what does key1 unlock? ;) | 06:05 |
hansfbaier | stekern: Don't know.... probably for GPIO buttons or so, wouldn't they need an interrupt to notify | 06:05 |
stekern | so it's connected to a button? | 06:05 |
hansfbaier | stekern: I actually didn't have any concrete application in mind. I just thought it might be a good idea, because it was in orpsoc v2 | 06:06 |
hansfbaier | so never mind | 06:06 |
hansfbaier | won't be too disappointed if olofk didn't pull this one | 06:06 |
hansfbaier | I don't need it actually | 06:06 |
stekern | no, it's probably ok, I'm just curious to know to what it's connected | 06:07 |
olofk_ | hansfbaier: I thought it was some button on the board, but if it's not actually hooked up to anything, I think we should add it | 06:08 |
stekern | if it's a button, I think it's a pretty nice "demo thing" to have there | 06:08 |
olofk_ | Absolutely, but is it a button, or does it just go to the pin headers? | 06:09 |
stekern | hansfbaier: olofk_ says he likes the jinja template approach btw | 06:10 |
olofk_ | Should I move the jp_vpi stuff somewhere before I remove the core? I got the code from orpsocv2, but cleaned it up a bit. Would it be of interest to anyone? | 06:10 |
stekern | what does it do? | 06:11 |
olofk_ | It's the GDB server VPI stuff | 06:12 |
stekern | so does something else provide that functionality now? | 06:12 |
* stekern somehow can't get his head around all the debug stuff | 06:13 | |
* stekern is happy _franck_ can | 06:13 | |
olofk_ | jtag_vpi solves the problem in another way | 06:13 |
olofk_ | :) | 06:13 |
hansfbaier | stekern: It's the second push button on the nano | 06:13 |
hansfbaier | stekern: The first one is reset | 06:13 |
stekern | hansfbaier: ok, that's fine then (I perhaps would have choosen a name like button_irq or something, but that's just nitpicking) | 06:14 |
olofk_ | ok, so jp_vpi contains a VPI module that talks to the JTAG core in one end and exposes a socket in the other end that GDB can connect to | 06:14 |
olofk_ | Internally it implements a GDB server | 06:14 |
hansfbaier | stekern: My first naive approach to the template thing would be something like this: If files in the verilog section have a .jinja extension, they would get processed by the template engine. The template engine derives its information from the core file (of course) | 06:15 |
olofk_ | jtag_vpi talks to the JTAG core in one end and exposes a socket in the other end that a proxy (openocd) can connect to and send jtag byte streams | 06:16 |
hansfbaier | If it is a system, the wb_intercon.conf would be mandatory in a defined location for generation of intercon and also enriched with information to generate the top level | 06:16 |
olofk_ | In that case, the gdb server is in openocd | 06:16 |
hansfbaier | maybe we might want to change the name | 06:16 |
stekern | olofk_: ok, yeah, jtag_vpi sound like a more sane approach | 06:16 |
hansfbaier | supplemental information might also come from they system file but which information and to what extent is subject to discussion | 06:17 |
olofk_ | stekern: jp_vpi is cool because it can be connected to gdb directly, but the gdb server inside of it is old and incomplete | 06:17 |
hansfbaier | also an XML format for toplevel generation configuration could be a good idea, since system generation is very hierarchical and XML deals very well with hierarchy. But OTOH then XSL would be nicer for generation stratight from XML. XQuery even more but AFAIK there is no real nice python implementation of that available, only xquilla from oracle (IIRC) | 06:19 |
olofk_ | hansfbaier: I like that. Now I'm just trying to find the drawbacks of that solution :) | 06:19 |
olofk_ | hansfbaier: If we want to go for XML there is no reason to use anything else than IP-XACT straight away | 06:19 |
stekern | olofk_: mmm, that's why the jtag_vpi is more sane, no need to maintain an extra gdb | 06:19 |
stekern | nooo, please no XML!!! | 06:20 |
olofk_ | :) | 06:20 |
olofk_ | And absolutely no custom XML. IP-XACT is insane, but at least it's a standard | 06:20 |
olofk_ | hansfbaier: I should check the back logs and see what kind of ideas I had with jinja | 06:22 |
hansfbaier | stekern: With IP-XACT, we could use something like this: http://sourceforge.net/projects/kactus2/ | 06:22 |
hansfbaier | and have the user click his design together. | 06:22 |
olofk_ | hansfbaier: kactus2 is one of the main reasons that I didn't want top-level generation in orpsoc to begin with. Other tools does it better | 06:23 |
hansfbaier | stekern: or this: | 06:23 |
hansfbaier | http://www.edautils.com/ip-xact.html | 06:23 |
hansfbaier | olofk_: Which tools? | 06:23 |
olofk_ | hansfbaier: kactus2 :) | 06:24 |
hansfbaier | olofk_: Now you got me confused... | 06:24 |
olofk_ | Which for now only outputs VHDL, but that can be fixed | 06:24 |
hansfbaier | olofk_: Didn't try it yet | 06:24 |
stekern | hansfbaier: I dispise xml so much that I have refused to look any closer at those... | 06:24 |
olofk_ | hansfbaier: Ok.. what I mean is that when I started working on orpsocv3, I tried to narrow down the scope a bit to avoid implementing and have to reinvent too much stuff. Automatic top-level generation from a description was one of the things that I thought would require too much work, so I decided it's better to use an external tool for that | 06:26 |
olofk_ | templating on the other hand feels like a nice light-weight way to make common tasks easier | 06:26 |
hansfbaier | stekern: Why so, I like XML for what it can do with XQuery. That's pretty cool. | 06:26 |
stekern | xml is just a standardized binary blob format... | 06:27 |
olofk_ | If XML solves your problem, you probably didn't have problem to begin with | 06:27 |
stekern | which is fine, it's when people try to treat it as human readable it becomes a problem | 06:27 |
stekern | man, do I hate those "only allow signed drivers" rules in windows... | 06:43 |
Powermaniac | What do you guys think of Motorola's sudden design that looks suspiciously like phonebloks? | 06:48 |
stekern | Powermaniac: I think you have to provide links to both ;) | 06:49 |
stekern | at least for me... | 06:49 |
Powermaniac | http://www.theverge.com/2013/10/29/5041336/motorola-project-ara-modular-smartphones Motorola's idea | 06:50 |
Powermaniac | Phonebloks: http://vimeo.com/74345805 | 06:50 |
Powermaniac | When the Phonebloks video came out loads of people on Reddit who claim to be engineers were saying it wasn't possible. Now Motorola looks to be doing it regardless | 06:50 |
stekern | why wouldn't it be possible, that's how the PC industry have worked all the time | 06:53 |
stekern | (well, if counting out laptops) | 06:53 |
Powermaniac | Haha, that's what people are saying now...But before everyone was like NOPE NOT GOING TO WORK! | 06:53 |
stekern | I didn't know about it before, and I've only watched the Phonebloks video so far | 06:54 |
Powermaniac | Let me find the reddit thread about Phonebloks for you | 06:55 |
stekern | ok, now I've seen the motorola page | 06:55 |
Powermaniac | Here is one explanation as to why it wouldn't work: http://www.genericmaker.com/2013/09/why-phonebloks-phone-will-never-happen.html?m=1 | 06:55 |
stekern | ...and I say "NOPE, NOT GOING TO WORK!", too ugly! | 06:56 |
olofk_ | First blue screen for quite some time. | 06:56 |
stekern | Powermaniac: ah, but that doesn't claim it wouldn't work, just that it's not (economically) feasible | 06:58 |
stekern | which might still be true | 06:58 |
Powermaniac | stekern: True, I was sure there was more to there arguments but now I can't find diddly | 06:59 |
stekern | olofk_: that's my source to annoyance with the signed driver, I have an usb ethernet dongle, with the signed driver it bluscreens when under pressure | 07:00 |
stekern | ah, you had bluescreened when I expressed my hate for signed drivers demandment | 07:01 |
olofk_ | :) | 07:01 |
olofk_ | Your dongle killed my computer! | 07:01 |
olofk_ | Waiting for the IRC logs to refresh to see what I missed | 07:02 |
hansfbaier | olofk_: Sorry was offline, monsoon rain approaching... | 07:02 |
stekern | hansfbaier: I bet it was my usb-dongle | 07:03 |
olofk_ | :) | 07:03 |
olofk_ | Now I know what you were talking about | 07:12 |
stekern | anyways... I'm with olofk_ here, I'm alot more excited about having templates to streamline development of boring repetitive tasks (of putting together the top module as well as other tasks) than having a descriptor file that completely describes the top level | 07:43 |
stekern | olofk_: do you know how to solve this? https://github.com/skristiansson/sublime/blob/master/rtl/verilog/sublime_voice_ctrl.v#L139 | 07:53 |
stekern | i.e. I want to generate a zero bit vector of the size of a parameter, but without doing the ugly workaround I do there | 07:54 |
stekern | i.e. create dummy signals | 07:55 |
hansfbaier | stekern: One of the first things I'd like to suggest is that each core has a file named instance.v.jinja which contains an instantiation template | 08:05 |
hansfbaier | stekern: The file won't need to be in the core config, just use it by convention if it's there. | 08:06 |
stekern | hansfbaier: I think that makes sense, yes | 08:07 |
stekern | I like the idea of having "verilog files with inline macros" | 08:07 |
stekern | not completely related to what you just said though | 08:08 |
olofk_ | stekern: You want to assign them to 0? | 08:17 |
stekern | olofk_: yes | 08:18 |
stekern | haha, this site has the best 404 pages ever: http://bisqwit.iki.fi/some_page_that_doesnt_exist | 08:18 |
olofk_ | Does the declaration work (without the =0 ) ? | 08:18 |
olofk_ | Is this what you are looking for? {$clog2(WAVETABLE_SIZE)-8){1'b0}} | 08:20 |
stekern | yes, that's how you did it | 08:20 |
stekern | I knew I had done it before, and that's how I did it then | 08:20 |
olofk_ | It's a bit annoying, but that's the only way I got it to work | 08:21 |
stekern | thanks | 08:21 |
stekern | it's less ugly than having dummy signals | 08:21 |
olofk_ | true | 08:23 |
_franck_ | stekern: indeed, this 404 page is so nice | 08:33 |
stekern | _franck_: if you reload you get different ones | 08:34 |
hansfbaier | +1 for the 404 | 08:35 |
_franck_ | stekern: about jtag config, this is what I needed. I can read the JTAD ID now. | 08:37 |
stekern | this sounds very interesting too: http://modular.math.washington.edu/home/wstein/www/home/bjarke/sage-4.4.4/local/LIB/python/site-packages/Jinja-1.2-py2.6-linux-x86_64.egg/docs/html/inheritance.html | 08:40 |
stekern | because I'm imagining that might be helpful to make the systems "light-weight" | 08:41 |
stekern | have a base system top file you can inherit from, then a base "board" top file which specific systems can inherit from | 08:42 |
stekern | I have my sockit/synth problem in mind... | 08:42 |
stekern | I'd like to have a "base sockit" from which I can inherit and build my synth system upon | 08:43 |
hansfbaier | stekern: Yes, that's one of the features I was looking for when selecting template engines. | 09:28 |
hansfbaier | Might be pretty useful. | 09:28 |
stekern | jeremybennett: how's the progress on the orconf videos? | 10:12 |
stekern | simoncook: ^ too ;9 | 10:12 |
simoncook | stekern: We just added them to the wiki page 2 minutes before you asked. I'm just writing something to the mailing lists | 10:20 |
stekern | simoncook: haha, good timing! | 10:21 |
stekern | hmm, people actually have made the good ol' OPL2 sound pretty good | 13:29 |
stekern | http://www.youtube.com/watch?v=-bWINVf5uCM | 13:29 |
poke53281 | Yes, sounds very good. | 17:02 |
poke53281 | You could also take an rectangular wave function with the longest possible wavelength. Then alter very fast the volume :) | 17:04 |
poke53281 | This way you have all options for your sound. | 17:04 |
poke53281 | On the SID chip this was done this way. | 17:05 |
stekern | you mean the hack used? | 17:08 |
poke53281 | Yes, to get digitized sound, for example speech on the C64. | 17:09 |
poke53281 | I am not sure if this works on with the OPL2. | 17:09 |
poke53281 | At least you have to switch the volume 4000 times a second. | 17:10 |
stekern | mmm, but if IIRC, there was another, less cpu intensive hack that exploited a bug in the first version of the chip, where there would be an audible artifact when you altered the volume | 17:13 |
poke53281 | This I don't know | 17:15 |
stekern | but the opl2 seems fairly simple, I'm eager to create a clone of it | 17:28 |
stekern | there are some re efforts of it that I've read | 17:29 |
stekern | they did a neat trick with the look-up tables, they kept them logarithmisized, to avoid multiplikations | 17:31 |
stekern | so, you can use additions instead | 17:32 |
stekern | not so much of a problem in modern fpgas though | 17:32 |
poke53281 | sounds like fun | 17:51 |
stekern | I've mended my midi-keyboard! | 19:46 |
stekern | not a pretty sight when I opened it | 19:46 |
stekern | 15+ years of dust in there... | 19:47 |
stekern | looked like a rat had died there or something | 19:47 |
poke53281 | MIDI. Can you by still buy a USB converter for this connection standard? | 21:30 |
poke53281 | I had one for my gameport on my PC. Long long ago. | 21:39 |
--- Log closed Thu Oct 31 00:00:03 2013 |
Generated by irclog2html.py 2.15.2 by Marius Gedminas - find it at mg.pov.lt!