Monday, 2022-01-31

alMalsamolkcl: Okay how about why is the process node 180nm so old/large?00:11
alMalsamoand is this actually fabbed in an ASIC already?00:11
lkclbecause the smaller the transistor the less current it can drive00:12
lkcland the more susceptible to E.M.F00:12
lkcltherefore you actually have to design the VLSI Layout program so that it can cope with that00:13
lkclyes00:13
lkcloctavius, y'all still thinking in black-box terms :)12:12
lkclput some print statements into C4M TAP and see what it does12:12
octaviusthanks lkcl, will do12:47
lkcloctavius, length calculation in elaborate_ios() is off btw13:12
lkcli need to investigate13:12
lkclok sorted13:17
lkclhttps://www.youtube.com/watch?v=vEWizqP_dP013:34
lkclooo i have just only 100 TRELLIS_SLICEs over the limit of an ECP5 45k13:37
lkclwhich is 21,000.  which is good news, in that it should be easy to find 100 TRELLIS_SLICEs13:38
ghostmansdlkcl: I'm checking get_assembly_name, at https://git.libre-soc.org/?p=openpower-isa.git;a=blob;f=src/openpower/decoder/isa/caller.py#l107317:40
ghostmansdI'm struggling to understand how it maps to CSV files, though17:41
ghostmansdI see RC, but that's an enum `class RC` from power_enums.py17:42
ghostmansdshould I check `fields['rc'] is RC.RC` to decide whether to emit dotted as well?17:50
ghostmansdas for OE, it looks like that all such insns have their own entries in CSVs17:58
ghostmansdalso, some insns have nothing in CSVs for RC, e.g. cmprb; should I consider it the same as RC.NONE?18:03
ghostmansdah yehyeh, from src/openpower/decoder/power_enums.py:50 looks like so18:05
octaviusDidn't realise that python allows accessing class constants without instantiation, weird. So that's how enums are done?18:16
octaviusor a group of constants in general I guess18:17
ghostmansdoctavius, something like this: https://git.libre-soc.org/?p=openpower-isa.git;a=blob;f=src/openpower/decoder/power_enums.py#l6918:28
ghostmansdI've never bothered to dig up the particular details of how Enum is done, though18:28
octaviusScary thing is you don't even need that18:29
octaviusclass circle: radius=318:29
octaviusyou can access radius without instantiation: circle.radius18:29
octaviussorry, class circle(): radius=318:29
tplatenI've successfully verilated the output of issuer_verilog.py using -Wno-UNOPTFLAT -Wno-CASEINCOMPLETE -Wno-CASEOVERLAP -Wno-WIDTH, so I'll document that soon.18:43
tplatenNow I"ll explore how to run that one18:45
ghostmansdwell, enum provides some sugar atop, like checking for uniques, names binding, and other crap you don't always need, but, when you need, it comes in handy19:02
ghostmansdupdated sv_binutils script; please let me know whether the approach I use (check for `rc is _RC.RC`) is correct or not19:17
lkclghostmansd, there is no direct inheritance, it uses the compiler19:42
lkclthe compiler generates functions19:42
lkclthe functions are put in a dictionary19:42
lkclthe dictionary is looked up based on the name of the opcode19:42
lkclyes, no entry means zero, zero means "the lowest value of the enum"19:43
lkcltplaten, excellent19:44
tplatenHow do I compile that verilated issuer code, I saw there is a Vissuer.mk19:51
lkcl_you_ don't: verilator does19:53
lkcllook at the "make microwatt-verilator" target19:53
tplatenBut I need to copy the generated files somewhere before running make19:54
lkclin the example that you gave on the mailing list you missed the all-important "--exe" option19:54
lkclno you do not19:54
lkclyou simply type,19:54
lkcl"make microwatt-verilator" return19:54
lkclhttps://git.libre-soc.org/?p=microwatt.git;a=blob;f=Makefile;h=e4a46eac8bfd613c81c7bbe16a2aa72dd7fef9af;hb=refs/heads/verilator_trace#l22919:56
lkclline 22919:56
tplatenthat one looks good, i'll continue tomorrow20:02
*** tplaten <tplaten!~isengaara@p200300ddff3f2d002e094dfffe000232.dip0.t-ipconnect.de> has left #libre-soc20:04
lkclwooow https://github.com/metalibm/metalibm/tree/main/metalibm_functions22:32

Generated by irclog2html.py 2.17.1 by Marius Gedminas - find it at https://mg.pov.lt/irclog2html/!