8 ms·
"there's no publicly available documentation of the signal routing configuration or the bitstream format" Both of things either have already been reverse-engin
by aappleby 1y ago
"there's no publicly available documentation of the signal routing configuration or the bitstream format"
Both of things either have already been reverse-engineered, or are in the process of being reverse-engineered.
- robinsonb5 1y agoThe reverse engineering efforts are impressive (though as I understand it, limited to Xilinx series 7 and Cyclone V) but without robust and reliable timing data to go with the rest of the chip data, they can't give you the same level of confidence that a design will work across a range of a devices and operating conditions.
- amirhirsch 1y agoFor the curious: the process of discovering the logic and route timings for an FPGA device is to use ring oscillators (three series inverters) and compare counters against a known clock. Place the inverters all over to test every LUT, and use every routing path to test each path's timing.
- adwn 1y ago> Both of things either have already been reverse-engineered, or are in the process of being reverse-engineered. Please provide a source for this claim. Yosys, for example, can't route [1] designs even for Xilinx 7-series devices, and that architecture has been introduced 15 years ago. [1] Not to be confused with synthesis, mapping, or placing, all of which come earlier in the flow, and for all of which sufficient information is public available.
- robinsonb5 1y agoYosys doesn't do place-and-route - typically that part would be handled by nextpnr, and there's an experimental fork of that for Xilinx series 7 devices: https://github.com/openXC7/ https://github.com/openXC7/ (full toolchain) It works well enough to build a working litex RISC-V SOC capable of running Linux, for the QMTech Kintex-7 325T board. I don't think the Cyclone V project has got as far, but I could be wrong. (It kind of slipped off my radar after I realised I was spending way too much time on Discord and purged all but a very few servers to reduce my distractions.)