*** tpb has joined #upy-fpga | 00:00 | |
shenki | jimmo: nice! it works for me | 00:12 |
---|---|---|
shenki | it felt faster to flash the gateware+bios than it was to load the micropython payload | 00:12 |
mithro | shenki: How big is the micropython payload | 00:42 |
jimmo | shenki: woo!! glad it's working :D | 00:50 |
shenki | mithro: 180732 bytes | 01:02 |
shenki | jimmo: good work. it's super fast :) | 01:02 |
shenki | AttributeError: 'Record' object has no attribute 'd' | 05:20 |
shenki | mithro: is the sdcard written against an older version of litex? | 05:20 |
mithro | shenki: Dunno, possibly -- you got the full traceback? | 05:21 |
shenki | $ python -u ./make.py --platform=mimasv2 --target=base --cpu-type=lm32 --iprange=192.168.100 | 05:21 |
shenki | Traceback (most recent call last): | 05:21 |
shenki | File "./make.py", line 82, in <module> | 05:21 |
shenki | main() | 05:21 |
shenki | File "./make.py", line 51, in main | 05:21 |
shenki | soc = SoC(platform, **soc_sdram_argdict(args), **dict(args.target_option)) | 05:22 |
shenki | File "/home/joel/dev/timvideos/mimasv2/targets/mimasv2/base.py", line 231, in __init__ | 05:22 |
shenki | self.submodules.sdcard = SDCard(platform, platform.request("mmc")) | 05:22 |
mithro | shenki: pastebin? :-P | 05:22 |
shenki | File "/home/joel/dev/timvideos/mimasv2/gateware/sdcard/core.py", line 26, in __init__ | 05:22 |
shenki | self.specials += self.dat.get_tristate(pads.d) | 05:22 |
shenki | AttributeError: 'Record' object has no attribute 'd' | 05:22 |
shenki | no. it's because i don't have a signal called d | 05:22 |
shenki | irc is easier :) | 05:22 |
mithro | shenki: It's because your mmc object in platform/mimasv2.py doesn't have a 'd' signal :-P | 05:22 |
shenki | yep | 05:25 |
shenki | 15:43 < shenki> no. it's because i don't have a signal called d | 05:25 |
shenki | ("mmc", 0, | 05:25 |
shenki | ~ Subsignal("d", Pins("K14 G18 J13 L13"), IOStandard("LVCMOS33"), | 05:25 |
shenki | Misc("SLEW=FAST")), | 05:25 |
shenki | 05:25 | |
shenki | Subsignal("cmd", Pins("G16"), IOStandard("LVCMOS33"), | 05:25 |
shenki | Misc("SLEW=FAST")), | 05:25 |
shenki | 05:25 | |
shenki | Subsignal("clk", Pins("L12"), IOStandard("LVCMOS33"), | 05:25 |
shenki | Misc("SLEW=FAST"))), | 05:25 |
shenki | that's what mine looks like | 05:25 |
shenki | ("sd_card", 0, | 05:25 |
shenki | Subsignal("cmd", Pins("AB22"), Misc("PULLUP")), | 05:25 |
shenki | Subsignal("clk", Pins("AB23")), | 05:25 |
shenki | Subsignal("cd", Pins("AA21")), | 05:25 |
shenki | Subsignal("d", Pins("AC20 AA23 AA22 AC21"), Misc("PULLUP")), | 05:25 |
shenki | IOStandard("LVCMOS25"), Misc("SLEW=FAST") | 05:25 |
shenki | ) | 05:25 |
shenki | that's what the sdcard module looks like | 05:25 |
shenki | i can fix the names | 05:25 |
shenki | but should i change the style to match how sdcard does it? | 05:25 |
shenki | i assume the IOStandard apples to all of the subsignals? | 05:25 |
shenki | mithro: ^ | 05:31 |
mithro | pears! | 05:48 |
mithro | The LVCMOS25/LVCMOS33 is set by the voltage level of the FPGA bank | 05:49 |
mithro | shenki: Yes, outer things apply to the whoe group | 05:50 |
mithro | shenki: So - what is the question again? | 05:50 |
shenki | mithro: which style do we prefer? | 06:06 |
shenki | mithro: also, why does this fail? | 06:07 |
shenki | File "./make.py", line 51, in main | 06:07 |
shenki | soc = SoC(platform, **soc_sdram_argdict(args), **dict(args.target_option)) | 06:07 |
shenki | File "/home/joel/dev/timvideos/mimasv2/targets/mimasv2/base.py", line 232, in __init__ | 06:07 |
shenki | self.add_wb_master(self.submodules.sdcard.master) | 06:07 |
shenki | AttributeError: '_ModuleSubmodules' object has no attribute 'sdcard' | 06:07 |
shenki | i do this on the line before: | 06:07 |
shenki | + self.submodules.sdcard = SDCard(platform, platform.request("mmc")) | 06:07 |
mithro | shenki: Need to see the full code | 06:14 |
shenki | + # sdcard | 06:18 |
shenki | + self.submodules.sdcard = SDCard(platform, platform.request("mmc")) | 06:18 |
shenki | + self.add_wb_master(self.submodules.sdcard.master) | 06:18 |
shenki | that's all i do | 06:18 |
mithro | shenki: no - the full code | 06:18 |
shenki | how does _ModuleSubmodules work? | 06:20 |
shenki | nvm, worked it out | 06:29 |
mithro | shenki: Get anywhere? | 08:01 |
shenki | mithro: i got a bitstream | 08:58 |
shenki | loading it on now | 08:59 |
mithro | shenki: Cool! | 09:02 |
mithro | shenki: I should have something else to show you in about 30 minutes | 09:02 |
shenki | mithro: https://github.com/shenki/opsis-soc/commits/sdcard | 09:09 |
tpb | Title: Commits · shenki/opsis-soc · GitHub (at github.com) | 09:09 |
shenki | i need to write some test software | 09:09 |
shenki | and find a sdcard | 09:09 |
mithro | shenki: Did I give you an Digilent PMOD-USBUART thingy at LCA2017? | 09:10 |
shenki | mithro: i don't think so | 09:10 |
mithro | shenki: Okay, I have one here for you then + plus a microsd card | 09:10 |
mithro | jimmo: is all your rewritten pic stuff pushed? | 10:06 |
jimmo | mithro: on the new-protocol branch, yes. including a prebuilt image | 10:13 |
mithro | Great! Enjoy the boating :-) | 10:13 |
jimmo | not til Saturday :( | 10:15 |
jimmo | i might as well merge it into master hey, do we care about being backwards compatible with the MimasV2Config uploader? | 10:17 |
mithro | shenki: run "conda install flterm" | 10:35 |
shenki | mithro: what did you fix? | 10:41 |
shenki | flterm 0+git20160123_1 0 timvideos | 10:42 |
shenki | all packages already installed | 10:42 |
mithro | shenki: Did it say "Fetching package metadata" ? | 10:42 |
shenki | yep | 10:44 |
mithro | Try again? I wonder if you got an old cached version or something... | 10:47 |
shenki | same result | 10:49 |
mithro | shenki: Does "conda config --show" have "timvideos" under the channels section? | 10:51 |
shenki | channels: | 10:59 |
shenki | - timvideos | 10:59 |
shenki | - defaults | 10:59 |
shenki | yup | 10:59 |
mithro | shenki: If you go to https://anaconda.org/TimVideos/flterm/files do you see the two versions there? | 10:59 |
tpb | Title: Files :: Anaconda Cloud (at anaconda.org) | 10:59 |
shenki | mithro: yes | 11:05 |
mithro | shenki: Try again maybe? "conda update flterm" ? | 11:10 |
shenki | mithro: no good | 11:13 |
shenki | it's a new conda install from yesterday, as i accidently deleted my entire directory | 11:13 |
mithro | hrm... It should look like this -> http://pastebin.com/Gbxx4RjV | 11:14 |
tpb | Title: (H2U P=netv2 T=pcie R=nextgen-netv2) tansell@tansell-z840-l:~/foss/timvideos/hdm - Pastebin.com (at pastebin.com) | 11:14 |
shenki | i removed it and reinstalled, same result | 11:16 |
mithro | Do you have some type of caching proxy server or something? | 11:17 |
shenki | nope | 11:18 |
mithro | I just tested on a totally different machine and its working for me... | 11:19 |
mithro | and its working on travis | 11:19 |
shenki | hrm. not sure | 11:19 |
shenki | what url does it hit? | 11:19 |
mithro | add --debug to the command line | 11:20 |
shenki | $ rm /home/joel/dev/timvideos/mimasv2/build/conda/pkgs/cache/* | 11:22 |
shenki | that did the trick :) | 11:22 |
shenki | what's changed in flterm? | 11:22 |
mithro | It works with micropython | 11:31 |
shenki | nice! | 11:31 |
shenki | it does too :) | 11:32 |
mithro | Hopefully I haven't borked anything else | 11:32 |
shenki | >>> for i in range(0, 8*4, 4): chr(umachine.mem32[0xe0006070+i]) | 12:39 |
shenki | ... | 12:39 |
shenki | GC: total: 1984, used: 1680, free: 304 | 12:39 |
shenki | No. of 1-blocks: 2, 2-blocks: 5, max blk sz: 32, max free sz: 7 | 12:39 |
shenki | 'm' | 12:39 |
shenki | 'i' | 12:39 |
shenki | 'm' | 12:39 |
shenki | 'a' | 12:39 |
shenki | 's' | 12:39 |
shenki | 'v' | 12:39 |
shenki | '2' | 12:39 |
shenki | '\x00' | 12:39 |
mithro | ? | 12:40 |
shenki | it works :) | 12:40 |
mithro | shenki: What works? | 12:40 |
shenki | reading memory | 12:42 |
mithro | shenki: I would hope reading memory would work - otherwise how would micropython? | 12:43 |
mithro | shenki: Or am I missing something? | 12:48 |
mithro | jimmo: btw - just so this is in the IRC logs, This page has some stuff about doing PIC sdcc stuff | 12:53 |
mithro | jimmo: And getting the interrupt vector / hid bootloader stuff working on that | 12:53 |
mithro | Could people also proof read https://hdmi2usb.tv/gsoc/fpga/hardware/python/linux/2017/03/15/gsoc-announcement/ ? | 12:55 |
shenki | mithro: we needed a micropython module to be able to read arbitary memory | 13:15 |
shenki | mithro: whenever i try to access the sdcard address space the cpu hangs | 13:15 |
shenki | or maybe it does some kind of hardware abort. but either way it breaks | 13:15 |
shenki | amusingly, the sdcard core has a python test script that is designed to be run over the wishbone<->uart debug bridge | 13:18 |
shenki | but with micropython, i can run it on the softcore | 13:19 |
shenki | this is a pretty cool feature - write test code that works on the software or on a host via the debug interface | 13:19 |
mithro | shenki: isn't that what ctypes is for? (The read any memory location?) | 13:20 |
shenki | mithro: sure. i'll use that once you've implemented it for micropython | 13:22 |
mithro | Done - https://docs.micropython.org/en/latest/pyboard/library/uctypes.html | 13:30 |
tpb | Title: uctypes – access binary data in a structured way MicroPython 1.8.7 documentation (at docs.micropython.org) | 13:30 |
mithro | We should get this working with the VGA output too -> https://docs.micropython.org/en/latest/pyboard/library/framebuf.html :-P | 13:36 |
tpb | Title: framebuf — Frame buffer manipulation MicroPython 1.8.7 documentation (at docs.micropython.org) | 13:36 |
mithro | shenki: So, it's likely the wishbone bus is asserting some type of error when you are reading from it? | 13:38 |
shenki | mithro: i would assume. not sure how to debug it tho | 13:43 |
mithro | shenki: I would start by using the bridge version without the CPU | 13:43 |
mithro | shenki: IIRC _florent_ mentioned something about getting it working in verilator - but there doesn't seem to be anything like that in his sdcard_test repo... | 13:55 |
mithro | It's kind of weird that the sdcard is both a wishbone master and a wishbone slave... I guess it must do some type of DMA or something? | 13:58 |
mithro | anyway, bed time for me | 14:00 |
*** IRCFrEAK has joined #upy-fpga | 20:04 | |
*** IRCFrEAK has quit IRC | 20:06 |
Generated by irclog2html.py 2.13.1 by Marius Gedminas - find it at mg.pov.lt!