Lofty changed the topic of #prjmistral to: Project Mistral: Yosys (and hopefully nextpnr) on Cyclone FPGAs - https://github.com/ZirconiumX/mistral - logs: https://freenode.irclog.whitequark.org/prjmistral
jordigw has quit [Ping timeout: 246 seconds]
jordigw has joined #prjmistral
<Lofty> Sarayan: what's the name of the INI file? quartus.ini or quartus2.ini?
<Lofty> I can never remember
rombik_su has joined #prjmistral
<Sarayan> quartus.ini
<Sarayan> there is no 2
<Lofty> I swear the docs said quartus2.ini
<Lofty> They might be from before the quartus ii -> quartus prime rename
<Sarayan> could be
<Lofty> Hi rombik_su
<rombik_su> Lofty: Hey-hey!
<Lofty> Y'know, I'm not even sure if this counts as license violation
<Lofty> We're not REing it :P
<rombik_su> Lofty: arriava3, arriava7, arriavb3_es, arriavb7, arriavd3, arriav_soc_b5
<Lofty> Gotta love the intel consistency, right?
* rombik_su trying to remember how to map internal name to the P/N
<Lofty> Guesswork
<Lofty> :P
<rombik_su> Yup, I'm trying to recall what was the line of thought )
<Sarayan> you mean like e50f, gx25f, gt75f, d6_gtf150, gt300f, sx50f, sx120f ?
<Lofty> Yes
<Lofty> The Arria V dies are what rombik_su said
<Lofty> A3, A7, B3, B7, D3, B5
<Sarayan> (for some reason d6_gtf150 became gt150f in my code, strange innit?)
<Lofty> gt150f is easy enough to remember
<Sarayan> unsurprisingly, sx50f is an evolution of gt75f and sx120f an evolution of gt150f
<Lofty> Actually, you know, I should see if I can get Quartus Pro to dump its guts
<Sarayan> I've managed only half its guts
<Sarayan> .ddb dumps, but there's encrypted xml(?) next to them that are necessary too
<Lofty> We need to make a master list of "how to dump the databases"
<Sarayan> lite: main = PDB_ASCII_DUMP=on
<Sarayan> additional useful decode: asm_dump_asmdb=on asm_dump_dirt=on
<Sarayan> because the ddb.dmp is annoying to parse for those two
<Sarayan> pro takes PDB_ASCII_DUMP=on into account, but asmdb/dirt had been replaced by the xml stuff
<Lofty> We have standard
<Lofty> And I'm assuming Standard is the same method as Lite
<Sarayan> depends whether you have .bcm.xml files
<Sarayan> intelFPGA_pro/20.2/quartus/common/devinfo/cyclone10gx/nightfury1/bcm2bits_db is the encrypted probably-xml stuff I'm talking about
<rombik_su> Lofty: my die list excludes Arria V GZ since there's a separate device support package in Quartus which I don't have on my machine
<Lofty> Ah, that's useful to know
<rombik_su> I'll install it to peek what's in there
<Sarayan> what's covered by standard we may be interested by?
<Lofty> The higher-end parts
<Sarayan> oh, interestingly 10gx only has one die
<Sarayan> I thought higher-end was pro
<Lofty> Somehow I remembered that
<Lofty> Pro is newer parts, not necessarily higher-end ones
<Sarayan> ah
<Lofty> Agilex needs Pro, for example
<Lofty> "The Quartus Prime Standard Edition Design Software, Version 20.1 supports the following device families: Stratix IV, Stratix V, Arria II, Arria V, Arria V GZ, Arria 10, Cyclone 10 LP, Cyclone IV, Cyclone V, MAX II, MAX V, and MAX 10 FPGA."
<rombik_su> Btw, the word on the streets is that C10GX is a leftover dies from A10GX
<Lofty> I think kc8apf mentioned it, yes
<Lofty> Or chipb
<Sarayan> so standard = lite + some extra stuf?
<Sarayan> so yeah, it probably works identically
<rombik_su> At least it's lite+unlocked devices
<Sarayan> Is Altera FLEX EPF8452AQC160-3 supported by anything we have access to?
<rombik_su> IIRC its support ended with 9.1
<Sarayan> yeah, and it won't let you download 9.0
<rombik_su> Oh, no, 9.1 is the *last* version that supports ACEX/FLEX
<Sarayan> that's ok, 9.1 is not available either :-)
<Lofty> Sarayan: I ain't implementing Yosys support for it :P
<Sarayan> it's used in the naomi arcade board
<rombik_su> Sarayan: Windows or Linux?
<Lofty> Ah, I see
<Sarayan> Linux if it exists
<Sarayan> not sure when quartus started supporting linux
<rombik_su> Sarayan: If you can wait couple of hours I can hook you up with Linux version
<Lofty> We have nothing but time :P
<rombik_su> Although it was pain in the ass to run it in 2010 on Linux, not sure if there will be any improvements in a modern Linux distro :p
<Sarayan> I can wait a couple weeks easily :-)
<rombik_su> Web edition will do, right?
<Lofty> Hopefully
<Sarayan> if there's that flex I'm happy :-)
<Lofty> Sarayan: are you sure the asmdb strings are correct?
<Lofty> The strings don't appear in the libraries, so
<Lofty> Like, there's asmdb_pdb_write_dirt
<Sarayan> it's in libcomp_asm.so
<Sarayan> lite version 18.1
<Lofty> It's not in comp_asm.dll lite 19.1
<Sarayan> it may not be in the windows version, who knows
<Sarayan> cfg_is_on("name") is the function to breakpoint on to see what config a given command looks for
<Sarayan> oh, it may require confusing quartus a little about whether one has a developer license
<Sarayan> I think they check that before checking the config
<Lofty> Hmm
<Lofty> But since the string is not in Quartus, it doesn't seem like they would be very helpful
<rombik_su> What's developer license?
<Lofty> A developer license lets you poke around the internals
<rombik_su> o_O
<Lofty> You know how Quartus is normally really noisy when logging?
<Lofty> Don't worry: most of the logging info is hidden
<Lofty> When you hit developer mode, you get the *full force* of the Quartus logging system
<Lofty> Up to and including snarky comments that weren't meant to make it to production
<Lofty> (but did)
<rombik_su> Lol, why it's in prod? To debug something on the customer site?
* Lofty shrugs
<Lofty> But if you ever get a LUT6 that can use the carry logic, you get a printout that reminds Greg to get some milk on the way home
<rombik_su> :D
<rombik_su> Ah, yes, The Quartus Lore®
<rombik_su> Lofty: Arria V GZ is a leftover from Stratix V, apparently:
<rombik_su> ls arriavgz: stratixv_gsf2c stratixv_gsf2d
<rombik_su> Can't waste any floor sweepings
<Lofty> Of course :P
phiren has joined #prjmistral
mmicko has joined #prjmistral
<Lofty> Hi mmicko
<mmicko> Hi :)
phire has quit [*.net *.split]
<Sarayan> hey you
<mmicko> Hi Sarayan, different projects same people
<omnitechnomancer> Hi mmicko
<Lofty> Honestly feel like Sarayan is doing so much of the heavy lifting :P
<rombik_su> Lofty: where can I find/put quartus.ini?
<Lofty> I think it goes in the same directory as the project
<Lofty> It should print out a message mentioning the INI file when you get it right though
<rombik_su> Yup: Info: Using INI file /prjmistral/avgx/test_a3/quartus.ini
<rombik_su> Alrightie, ran my project with PDB_ASCII_DUMP=y and asmdb_dump_asmdb=on asmdb_dump_dirt=on, where should I look to unveil Quartus dirty secrets?
<rombik_su> Got this file: a5_pin_model_dump.txt (120 lines)
<rombik_su> No, it's a standard file, the only difference in db folder between vanilla and 'quartus.ini' run is db/project_name.pplq.rdb
<Lofty> Did it mention the INI file?
<rombik_su> Yes
<rombik_su> > Info: Using INI file /prjmistral/avgx/test_a3/quartus.ini
<Lofty> ping Sarayan :P
<rombik_su> It's just a blinkie project. Do I need to get something bigger to get more data?
<Lofty> https://www.dropbox.com/s/v1w26fg5qbwaz11/a5gxdb.zip?dl=0 <-- furan's dumped one of the DBs
<rombik_su> I wonder how does he managed to get those files
<rombik_su> I don't have any of those .dmp files in my /db/
<Sarayan> in quartus' "common" directory, there is a bazillon ddb files
<Sarayan> the used ones should have a .dmp next to them
<Sarayan> also it's asm_dump_asmdb and asm_dump_dirt
<Sarayan> these two only do something when using quartus_asm
<Sarayan> (and maybe confusing quartus about a dev license, not sure)
<rombik_su> No .dmp files are present :(
<Sarayan> and it's PDB_ASCII_DUMP=on not y
jeff13 has joined #prjmistral
<Lofty> Hi jeff13
<jeff13> Hi!
<rombik_su> Sarayan: thanks, I can see .dmp now
<Sarayan> cool
<Sarayan> beware that the ascii format has just enough irregularity to be a pita
<Lofty> Sarayan: do you have furan's files?
<rombik_su> Do I need to run those options in quartus.ini on a bigger project or blinkie is sufficient?
<Lofty> Blinky is fine
<Lofty> Let's try finding out what die furan has
<Lofty> 5AGXFB3H4F35C4
<Lofty> is the SKU
<rombik_su> I believe his archive is incomplete - i.e. I've got files like ./devinfo/arriav/ddb_arriava3_ip_to_ip_delays_tt_85c.sin.dmp and so on
<Sarayan> My usual project is even smaller than blinkie
<Sarayan> you get more files when you run map, fit, asm and sta
<rombik_su> I'm 12 minutes into Assembler :3
<Sarayan> plus some files are hiding in devinfo/programmer
<Lofty> I see all four in furan's dump
<Lofty> rombik_su: what chip are you building for?
<Sarayan> asm generates amng others an asm file that's easily tens of gigs
<rombik_su> 5AGXBA3D4F27C4
<Lofty> Win or Lin?
<rombik_su> Sarayan: do we need those dumps from Assembler?
<rombik_su> Lofty: Lin
<Lofty> rombik_su: next time, run it under strace and keep the log; from the open() calls you can map the SKU to the die
<rombik_su> Die mapping looks fairly straightforward just by looking at the lineup table if you take into account XCVR counts, for example
<Lofty> Not quite as straightforward :P
<Lofty> But sure
<Sarayan> rombik_su: It's the routing firmware bits
<rombik_su> Sarayan: Can you please elaborate on this?
<Sarayan> It tells you what bits to set in the bitstream to connect routing nodes
<rombik_su> Got it, do we want those?
<rombik_su> (dumps)
<Lofty> rombik_su: given you mentioned the ddb_arriava3 stuff, I'm guessing that your SKU is arriava3 :P
<Sarayan> depends on what you want to do iwth them
<Lofty> Use them, I imagine
<Sarayan> I mean, making dumps is trivial, you have to know for for :-)
<Sarayan> what for
<Sarayan> (says the guy who has 290G of dumps on his main system)
<rombik_su> Lofty, do you want those assembler dumps?
<Lofty> Yes
<Lofty> You can't do much without them
<Lofty> rombik_su: ^
<rombik_su> Yup, I'm still dumping all the good stuff
<Lofty> I wasn't kidding when I said it took an hour :P
<rombik_su> 20 minutes on my machine for A3, it can get worse for bigger dies
<rombik_su> Do you want to put up a wiki page or something? At least I can map SKUs to die names for you.
<Lofty> Ah, sure
<rombik_su> 52G of .dmps for A3, nice
<rombik_su> Lofty, do you want a specific Quartus version or 18.0 w/o SPs on Linux will do just fine?
<Lofty> That version will do fine :P
<Lofty> Wonder what the wiki does about merge conflicts :P
<Sarayan> asm_dump_asmdb and asm_dump_dirt are still present on 20.1 lite linux version
<Lofty> Hmmm
<Sarayan> downloading the windows version just to check
<Lofty> Sarayan: I have a hunch you might need to adjust your model list slightly
<Lofty> There are gaps in here that don't make much sense, so I added some ? models
<Sarayan> there's better :-)
<Lofty> ?
<Lofty> Could you explain?
<Sarayan> I have no idea how I managed to have that generated
<Sarayan> but it's lurking in my common/devinfo/cyclonev and it has everything
<Lofty> Excellent
<Sarayan> se90 is 5CSEBA5 and friends
<Lofty> Building a table like this is a bit painful :P
<Sarayan> sx* is the ones with the ARM
<Sarayan> iirc bs is single-core arm, bm is hard memory controller (which tends to happen when the package has enough pins in the first place)
<Sarayan> _sc is the fixup on crc errors capability
<Lofty> Could you explain that last one more?
<Sarayan> some versions of the fpga have the capability of fixing single-bit errors in the cram when they're detected by the crc32
<Sarayan> they call that scrubbing, iirc
<Lofty> Ah, useful
<Sarayan> "The SEU internal scrubbing feature is available for Cyclone V E, GX, SE, and SX devices with the "SC" suffix in the part number. Fordevice availability and ordering, contact your local Intel sales representatives."
<Sarayan> in the Cyclone V Device Datasheet
<Lofty> Sure, although since these are basically overlays, can't we just add this for everything? :P
<Lofty> Sarayan: do you have a map of these models to dies though?
<Lofty> Or am I gonna have to guess it? :P
<Sarayan> errr
<Sarayan> the file I uploaded has it
<Sarayan> doesn't it?
<Lofty> Not that I can find, unless I'm missing something
<Sarayan> ah yeah, DEVICE has the variant, not the die
<Sarayan> tbh it's not hard to make a table of prefixes though :-)
<Sarayan> there are... 41 differnt ones :-)
<Lofty> rombik_su: ping
<Sarayan> I'll generate the model list at some point, haven't bothered yet though
<rombik_su> Lofty: I'm here¸ was busy with kids. So far I'm at ~1/3 of dumps and die mappings on Arria V.
<rombik_su> https://og.kervella.org/ddb_cyclonev_parts.txt < looks a lot like a one of the files from that academia-oriented Quartus ~8.1? distro, I forgot the name
<rombik_su> QUIP was the name of this thing
<Lofty> Yeah, I know about QUIP :P
<Sarayan> I really, really wonder how I made quartus generate it though
<Sarayan> last time I did was July 18, 21:51
<mmicko> rombik_su: just checked QUIP data is XML
<rombik_su> mmicko: I see, thanks
<Sarayan> Could be dev_debug_family_info=on
<rombik_su> Sarayan: What was the original file name or name pattern for this file? Maybe I can find one for Arria V somewhere.
<Sarayan> that's the original file name, and I'm fairly certain I had it generated
<Sarayan> it's not existing originally
<rombik_su> Thanks, I'll try your option
<rombik_su> I missed that - can you find those options as strings somewhere in the executables/libraries?
<Sarayan> yeah, that's not how I get them though
<Sarayan> I breakpoint on cfg_is_on
<Sarayan> og.kervella.org/opt-map.txt has every config option quartus_map tests
<Sarayan> yeah, 1893, no I'm not going to test all of them :-)
<rombik_su> There's also dev_dump_part_data next to the dev_debug_family_info
<Sarayan> sounds good too indeed
<Lofty> > cut_disable_duplicate_logical_ram_name_errors
<Lofty> Wish I'd known about this one :P
<Lofty> > fast_mif_generation
<Lofty> I really hope this is off by default, because MIF generation is not fast. At all.
<rombik_su> 'rtl_mux_dump_for_mike' - what's on his groceries list on the way home?
<rombik_su> Lol, there's more: gregg_wants_cut_buffer_message
<Lofty> db_cut.dll1373338:Note to Gregg: Found 6-lut comb_out cell using carry or share input. Don't forget to buy milk on the way home
<rombik_su> :D
<rombik_su> Also: 'rtl_arm_dont_work_secs' and 'rtl_arm_dont_work_x3'
<Sarayan> trying to dump pro's quartus_asm options
<Sarayan> there's a fuckload
<rombik_su> Do you want Pro for C10GX or you have plans for A10 and S10?
<Lofty> Well, we certainly might do it
<rombik_su> There's a rumor that C10GX made from A10GX die leftovers btw
<Lofty> Yep, we know
<rombik_su> AIUI, A10 is the last device with "conventional" bitstream structure, S10 looks like something completely different
<Lofty> <rombik_su> Btw, the word on the streets is that C10GX is a leftover dies from A10GX
<rombik_su> I shouldn't have same exact conversation at the same time with my buddy - lost track for both of them :p
<Lofty> :P
<Sarayan> og.kervella.org/pro-asm.txt
<Sarayan> note that the interesting ones may be hidden behind a developer check
<rombik_su> Btw, how hard is to enable it?
Stary has joined #prjmistral
<Sarayan> I patched _ZN11CPT_MANAGER27developer_license_availableEv in the .so to always return 1
<Sarayan> libsys_cpt.so
rohitksingh has joined #prjmistral
<Sarayan> hmmm, interestingly there's the same method in pro
<rombik_su> libsys_cpt.so is pretty consistent since ancient times >_>'
etrig has joined #prjmistral
jeff13 has quit [Remote host closed the connection]
<rombik_su> I've tried 'dev_debug_family_info=on', no luck
<rombik_su> No .txt or 'ddb_*_parts*' file around
<Sarayan> yeah, the dump one is more probable
<Sarayan> hmmm, no difference when dev is set
jeff13 has joined #prjmistral
<rombik_su> Sarayan: Yes, it's 'dev_dump_part_data'
<Sarayan> yay
<rombik_su> There's also ./arriav/ddb_arriav_family.txt, which is not that interesting - just some general info
<Sarayan> yeah, I have the cv version, not particularly useful
sorear has quit [Read error: Connection reset by peer]
sorear has joined #prjmistral
thegreatdivide has joined #prjmistral
thegreatdivide has quit [Ping timeout: 245 seconds]
<chipb> Lofty: I don't think categorizing them as 'leftovers' is correct per se.
<Lofty> That was rombik_su, not me :P
<chipb> they might be lower-binned A10s, but I understand it more as a means to avoid a unique die/tapeout.
<chipb> oh, yeah. indeed.
<chipb> rombik_su: ^^^
<rombik_su> It was a joke, obviously it's cost-related
<rombik_su> Judging by their P/N-to-die mapping they will rather disable half the LEs than running another die device cycle, which is probably reasonable for FPGA
<rombik_su> *die design cycle
<chipb> that and a way to bridge the cyclone family market to a "new" device without redirecting tons of engineers busy on next-gen architecture.
<rombik_su> Make sense
<daveshah> I think pretty much every vendor does this one way or another anyway
<chipb> lots of scrollback in this channel today, though. glad to see some activity. :-)
<rombik_su> Some of this fuss was provoked by someone selling $70 Arria V GX card on Ebay: https://twitter.com/furan/status/1328327609751658499 :3
<rombik_su> Sarayan: http://rombik.su/9.1_web/91sp2_quartus_free_linux.tar - SP2 version just in case
<chipb> lol. I'm also happy to see Gregg is still making an appearance in the buffer, too.
<Lofty> chipb: so, hypothetically, if you implemented Arria 10 GX support, do you get the Cyclone 10 GX for free? :p
rombik_su has quit [Ping timeout: 256 seconds]
jeff13 has quit [Remote host closed the connection]