Portability of hardware designs between Programmable Logic Devices (PLD) can be accomplished through the use of device-agnostic hardware description languages (HDL) such as Verilog or VHDL. Hardware designers can use HDLs to migrate hardware designs between devices and explore performance, area and power tradeoffs, as well as, port designs to an alternative device. However, if design files are corrupt or missing, the portability of the design is lost. While reverse engineering efforts may be able to recover an HDL-netlist of the original design, HDL-netlists use device-specific primitives, restricting portability. Additionally, the recovered design may benefit from other computational technologies (e.g., $\mu$P, GPGPUs), but is restricted to the domain of PLDs. In this work, we provide a new framework, vlang, which automatically maps Verilog-netlists into LLVM's intermediate representation (IR). The remapped design can use the LLVM-framework to target many device technologies such as: x86-64 assembly, RISC-V, ARM or to other PLDs with a modern high-level synthesis tool. Our framework is able to preserve the exact functionality of the original design within the software executable. The vlang-produced software executable can be used with other software programs, or to verify the functionality and correctness of the remapped design. We evaluate our work with a suite of hardware designs from OpenCores. We compare our framework against state-of-the-art simulators, thereby outlining our framework's ability to produce a fully-functional, cycle accurate software-executable. We also explore the usage of vlang as a front-end for high-level synthesis tools.
翻译:可编程的逻辑设备(PLD)之间的硬件设计可移植。虽然反向工程努力可以通过使用Verilog 或 VHDL 等设备不可读硬件描述语言(HDL)实现。硬件设计师可以使用HDL将硬件设计迁移到设备之间,并探索性能、面积和功率权衡,以及港口设计到替代设备。但是,如果设计文件腐败或缺失,设计工具的可移植性就会丢失。虽然反向工程努力可以恢复原设计(HDL-Nnetlist)的直径LDL-netnetlish 的准确性能列表,HDLDL-netlist 使用特定设备原始设备,限制可移植能力。此外,回收的设计可能受益于其他计算技术(例如$\mu$PGPGPPUPS),但仅限于PLDs的范围。在这项工作中,我们提供了一个新的框架,即自动将Vilog-netlistal列表映射到LLVM的中间表达式(IR) 。我们重新定位框架可以使用OLLLVM-framwork-for-for-for-for-for-for-deal laveal lade laveal lade acal laft laft laft laveal laft laft laft laft laft laft laft laft laft laft laut lax lax laut laft lax laut lautaldaldal lautal laut lautal lautal lautal lautd lautdaldald lautdal lautdaldaldal lautdal lautdal lautdal lautdal lautdal lautdal ex lautdal lautdal lautdal lautdal lautd lautd lautdal lautdal lautdal lautdal lautdal lautdal lautdal laut lautdal lautd