Saturday, 2020-02-29

*** tpb has joined #symbiflow00:00
*** benelson has joined #symbiflow00:17
*** benelson has quit IRC00:22
*** benelson has joined #symbiflow00:27
*** benelson_ has joined #symbiflow00:28
*** benelson has quit IRC00:31
*** benelson_ has quit IRC01:30
*** benelson has joined #symbiflow01:41
*** benelson has quit IRC01:44
*** citypw_ has joined #symbiflow02:57
*** benelson has joined #symbiflow03:14
*** benelson_ has joined #symbiflow03:15
*** benelson has quit IRC03:19
*** benelson_ has quit IRC03:22
*** benelson has joined #symbiflow03:24
*** benelson has joined #symbiflow03:24
*** benelson has quit IRC03:27
*** benelson has joined #symbiflow03:27
*** benelson has quit IRC03:28
*** benelson has joined #symbiflow03:29
*** benelson_ has joined #symbiflow03:30
*** benelson has quit IRC03:34
*** benelson has joined #symbiflow03:34
*** benelson_ has quit IRC03:38
*** benelson_ has joined #symbiflow03:47
*** benelson has quit IRC03:50
*** benelson has joined #symbiflow03:57
*** benelson_ has quit IRC04:00
*** benelson has quit IRC04:08
*** _whitelogger has quit IRC05:43
*** _whitelogger has joined #symbiflow05:46
*** benelson has joined #symbiflow06:09
*** benelson has quit IRC06:18
*** _whitelogger has quit IRC06:48
*** _whitelogger has joined #symbiflow06:51
*** az0re has joined #symbiflow06:57
*** benelson has joined #symbiflow08:14
*** benelson has quit IRC08:19
*** _whitelogger has quit IRC09:58
*** _whitelogger has joined #symbiflow10:01
*** benelson has joined #symbiflow10:15
*** benelson_ has joined #symbiflow10:17
*** benelson has quit IRC10:21
sf-slack<garvit.gupta08> Hello everyone. I recently did my coursework in FPGA especially on artix7 basys3board ( xc7a35tcpg236-1) and I am comfortable with FPGA design and its components. I am also comfortable with verilog and C.   I saw the project xray and found it exciting. A little help on additional resources which I can go through to start working on it as soon as possible.10:40
*** benelson has joined #symbiflow10:45
*** benelson_ has quit IRC10:48
*** _whitelogger has quit IRC11:01
*** _whitelogger has joined #symbiflow11:04
*** benelson_ has joined #symbiflow11:17
*** benelson has quit IRC11:20
*** Bertl_zZ is now known as Bertl11:23
*** OmniMancer has joined #symbiflow11:32
*** benelson has joined #symbiflow12:00
*** benelson_ has quit IRC12:03
*** az0re has quit IRC12:04
*** benelson_ has joined #symbiflow12:37
*** Bertl is now known as Bertl_oO12:38
*** benelson has quit IRC12:40
*** IRC-Source_51 has joined #symbiflow12:48
IRC-Source_51Greetings everyone !12:48
*** benelson has joined #symbiflow12:54
*** benelson_ has quit IRC12:57
ZirconiumXHello13:01
IRC-Source_51how are you doing ?13:01
ZirconiumXNot too badly I guess13:01
IRC-Source_51nice :)13:02
IRC-Source_51I came here seeking some help with project Xray13:02
IRC-Source_51could you help me with that ?13:02
ZirconiumXI don't have any experience there13:16
ZirconiumXEspecially since my limited energies are focused on reverse engineering Intel chips13:16
ZirconiumXNot Xilinx13:16
IRC-Source_51Oh I see, so you are working on a similar project for altera fpgas ?13:17
ZirconiumXKinda? We're not nearly as far as X-Ray is13:18
IRC-Source_51Thats very interesting :)13:18
IRC-Source_51Are you following similar methodology/approach ?13:18
ZirconiumXBecause I'm a student working on a lot of things13:19
*** IRC-Source_51 is now known as Clay_113:19
ZirconiumXI have a pretty different approach actually13:19
Clay_1you are working alone there ?13:19
ZirconiumXYou can't get nearly as low-level with Quartus as you can with Vivado13:20
ZirconiumXNot entirely. There are a few people who offer advice and one person who is trying to help13:20
Clay_1i see, so what is your approach ?13:21
ZirconiumXI named it Project Mistral but it's less of a project and more of a hobby13:21
Clay_1you have a repo ?13:22
ZirconiumXI do, but it's not up to date as such13:22
Clay_1I see, nice :)13:23
ZirconiumXhttps://github.com/ZirconiumX/mistral13:24
tpbTitle: GitHub - ZirconiumX/mistral: Cyclone V bitstream reverse-engineering project (at github.com)13:24
ZirconiumX(the Mistral is a strong wind that blows along the south-east of France, and I thought it'd be funny since I was targeting Cyclone chips)13:25
Clay_1nice trail of though13:26
Clay_1are cyclone vs similar to ivs ?13:26
ZirconiumXVery different13:26
Clay_1i see13:27
ZirconiumXBut the 10GX is a die-shrink of the V, the 10LP is a die-shrink of the IV, and the Max 10 is a die-shrink of the III13:27
Clay_1so the V's would be the rough equivalent of 7series ?13:28
ZirconiumXKinda yeah13:28
Clay_1nice :)13:28
ZirconiumXThe actual technology goes back way further though13:28
ZirconiumXThe Arria II had ALMs like the Cyclone V13:28
ZirconiumXMuch like the Virtex 5 had LUT6s13:29
Clay_1I am totally clueless when it comes to altera boards13:30
Clay_1I used quartus for the first time last week13:30
Clay_1and I cant really say I liked it13:30
Clay_1what is your reason of prefering altera over xilinx?13:30
ZirconiumXI use it from the command line so I don't have to bother with the GUI13:31
ZirconiumXI first bought an FPGA for the MiSTer project, which uses the Terasic DE-10 Nano13:31
Clay_1that's tcl, right ?13:31
ZirconiumXNot necessarily13:31
Clay_1you sound very knowledgeable on the subject :)13:32
ZirconiumXAnyway, after getting immensely frustrated at Quartus, I looked for alternatives and stumbled upon Yosys13:33
ZirconiumXAnd well, here I am13:33
Clay_1That makes sense13:33
ZirconiumXWhen you're reverse-engineering an FPGA you need to know the architecture as much as possible13:33
ZirconiumXOr things don't make sense13:33
ZirconiumXThe ALM is a LUT6 like the Xilinx (CLB?)13:34
Clay_1indeed13:34
ZirconiumXBut the internal architecture is very different13:34
Clay_1xilinx has lut6 as part of a clb13:35
ZirconiumXXilinx LUT6s look like two LUT5s with separate outputs that get multiplexed by a sixth input13:35
ZirconiumXSo if you want to fit two LUT5s in a CLB they need to share all five terms13:36
ZirconiumXOr else you can have small independent functions like a LUT2 and a LUT3 with no shared terms or two LUT3s with a shared term13:36
ZirconiumXAltera ALMs look like four LUT4s which get multiplexed by two bits, but they have 8 inputs instead of 5+113:38
Clay_1"Xilinx LUT6s look like two LUT5s with separate outputs that get multiplexed by a sixth input" yes I would agree with that13:38
ZirconiumXSo you can implement two independent LUT4s in an ALM13:38
Clay_1sounds more complex13:38
ZirconiumXhttps://puu.sh/FfHHu/ae30d04fca.png13:40
Clay_1which are the logical lut inputs ?13:41
ZirconiumXIt depends on the function being implemented13:44
Clay_1you can have a max of 6 inputs, right ?13:44
ZirconiumX...Kind of. You can implement *some* forms of a LUT7 in here13:44
Clay_1wow13:45
ZirconiumXUnfortunately you need specialised techmapping to take advantage of it13:45
Clay_1do you have full controll over that or the tool will decide ?13:45
Clay_1oh ok13:45
ZirconiumXThe synthesis tool handles it13:45
Clay_1For Xilinx, I find the following paper very insightful of how luts work13:47
Clay_1https://ieeexplore.ieee.org/document/835095013:47
tpbTitle: Extract LUT Logics from a Downloaded Bitstream Data in FPGA - IEEE Conference Publication (at ieeexplore.ieee.org)13:47
Clay_1you have access to ieeexplore, right ?13:47
ZirconiumXI probably will at uni13:48
ZirconiumXBut it's a problem I've already solved13:48
Clay_1the re of lut contents for quartus generated bitstreams ?13:48
ZirconiumXYeah13:49
Clay_1cool13:49
Clay_1how did you do that ?13:49
* ZirconiumX sighs13:49
Clay_1long story ?13:49
ZirconiumXI need to write a paper about it so I don't have to keep explaining to everyone13:49
ZirconiumX:P13:49
Clay_1would be a good idea13:50
Clay_1haha13:50
*** benelson_ has joined #symbiflow13:50
ZirconiumXFor any boolean feature, you assign a unique non-zero identifier to it, and when you have all the ones enumerated, you produce a series of bitstreams where the Nth bitstream has the Nth bit of the feature index13:51
Clay_1the design of that bitstream is a single lut ?13:52
ZirconiumX"for any boolean feature"13:52
ZirconiumXSo not just LUTs13:52
ZirconiumXFor example, see the multiplexers feeding into the flip-flops?13:53
Clay_1yes13:53
ZirconiumXThose are boolean features that could be tested13:53
ZirconiumXIf you knew how to cause them13:53
*** benelson has quit IRC13:54
Clay_1oh13:54
Clay_1thats cool13:54
Clay_1so you have done that for every such element ?13:56
ZirconiumXAt the moment no; I wanted to focus on routing, but that turns out to be a pain that requires thought14:30
*** benelson has joined #symbiflow14:40
*** benelson_ has quit IRC14:44
*** benelson_ has joined #symbiflow14:56
*** benelson has quit IRC14:59
*** benelson has joined #symbiflow15:02
*** benelson_ has quit IRC15:05
*** Adrofier has joined #symbiflow15:06
Adrofieris anyone applying to gsoc this year?15:12
*** OmniMancer has quit IRC15:16
*** OmniMancer has joined #symbiflow15:17
*** Adrofier28 has joined #symbiflow15:24
*** Adrofier28 has quit IRC15:31
*** Adrofier has quit IRC15:32
*** citypw_ has quit IRC15:35
*** benelson_ has joined #symbiflow15:42
*** benelson has quit IRC15:45
*** OmniMancer has quit IRC16:21
*** benelson has joined #symbiflow16:43
*** benelson_ has quit IRC16:47
Clay_1ZirconiumX I see16:50
Clay_1That's the part I would say that interests me the most in the xilinx part16:50
Clay_1project x-ray seems to have solved this but I cant really understand their documentation :/  thus I came here to seek for help16:51
ZirconiumXI mean, you can use the approach I mentioned for basically anything16:53
Clay_1well, technically, routing is already documented in project xray, isnt it ?16:58
*** gg77 has joined #symbiflow17:00
*** gg77 has joined #symbiflow17:01
*** benelson_ has joined #symbiflow17:35
*** benelson has quit IRC17:39
*** Clay_1 has quit IRC17:43
*** benelson_ has quit IRC19:48
*** benelson has joined #symbiflow19:49
*** benelson has quit IRC19:50
*** benelson has joined #symbiflow19:50
*** benelson has joined #symbiflow19:51
*** IRC-Source_21 has joined #symbiflow20:45
*** benelson_ has joined #symbiflow21:34
*** benelson has quit IRC21:37
*** IRC-Source_21 has quit IRC22:01

Generated by irclog2html.py 2.13.1 by Marius Gedminas - find it at mg.pov.lt!