Preview

Proceedings of the Institute for System Programming of the RAS (Proceedings of ISP RAS)

Advanced search

Comparison of Open Flows for Digital Hardware Development: qFlow, OpenLANE, Coriolis, and SymbiFlow

https://doi.org/10.15514/ISPRAS-2021-33(6)-8

Abstract

This paper reviews open-source tools for the logical synthesis, place-and-route, static timing analysis and topology generation hardware design stages. The following tools have been described: qFlow, OpenLANE, Coriolis, and SymbiFlow. These tools are aimed to synthesize RTL models into FPGA bitstreams or GDS II physical layouts. A PicoRV32 implementation of RISC-V microprocessor has been used for experimental evaluation of these flows. The results show that open-source flows are capable to produce physical layouts for realistic examples. At the same time, commercial CADs allow generating more effective designs in terms of clock frequency.

About the Authors

Alexander Sergeevich KAMKIN
Ivannikov Institute for System Programming of the Russian Academy of Sciences, Plekhanov Russian University of Economics, Lomonosov Moscow State University, National Research University Higher School of Economics, Moscow Institute of Physics and Technology
Russian Federation

PhD in Physics and Mathematics, Leading Researcher at the Software Engineering Department ISP RAS, Leading Researcher at the Plekhanov RUE, Lecturer at MSU, MIPT, and HSE



Sergey Aleksandrovich SMOLOV
Ivannikov Institute for System Programming of the Russian Academy of Sciences, Plekhanov Russian University of Economics
Russian Federation

Researcher at the Software Engineering Department of ISP RAS, Senior Researcher at the Heterogeneous Computing Systems research lab of Plekhanov RUE



Mikhail Mikhaylovich CHUPILKO
Ivannikov Institute for System Programming of the Russian Academy of Sciences, Plekhanov Russian University of Economics
Russian Federation

PhD in Physics and Mathematics, Senior Researcher at the Software Engineering Department of ISP RAS, Senior Researcher at the Heterogeneous Computing Systems research lab of Plekhanov RUE



References

1. Graphic Design System User's Operating Manual First Edition. Available at: http://www.bitsavers.org/pdf/calma/GDS_II_Users_Operating_Manual_Nov78.pdf, accessed: 25.10.2021.

2. L. Lavagno, G. Martin, L. Scheffer. Electronic Design Automation for Integrated Circuits Handbook – 2 Volume Set. CRC Press, 2006, 1152 p.

3. qFlow. Available at: http://opencircuitdesign.com/qflow, accessed: 25.10.2021.

4. GNU General Public License. Available at: https://www.gnu.org/licenses/gpl-3.0.ru.html, accessed: 25.10.2021.

5. Yosys Open SYnthesis Suite. Available at: http://www.clifford.at/yosys, accessed: 25.10.2021.

6. Odin II. Available at: https://docs.verilogtorouting.org/en/latest/odin, accessed: 25.10.2021.

7. ABC: A System for Sequential Synthesis and Verification, Available at: http://www.eecs.berkeley.edu/~alanmi/abc, accessed: 25.10.2021.

8. Berkeley Logic Interchange Format (BLIF), Available at: http://www.cs.columbia.edu/~cs6861/sis/blif/index.html, accessed: 25.10.2021.

9. Graywolf. Available at: https://github.com/rubund/graywolf, accessed: 25.10.2021.

10. Qrouter. Available at: http://opencircuitdesign.com/qrouter, accessed: 25.10.2021.

11. LEF/DEF Version 5.7. Available at: http://www.ispd.cc/contests/18/lefdefref.pdf, accessed: 25.10.2021.

12. OpenSTA. Available at: https://github.com/The-OpenROAD-Project/OpenSTA, accessed: 25.10.2021.

13. Vesta. Available at: https://github.com/RTimothyEdwards/qflow/blob/master/src/vesta.c, accessed: 25.10.2021.

14. Magic VLSI Layout Tool. Available at: http://opencircuitdesign.com/magic, accessed: 25.10.2021.

15. SPICE. Available at: http://bwrcs.eecs.berkeley.edu/Classes/IcBook/SPICE, accessed: 25.10.2021.

16. Netgen. Available at: http://opencircuitdesign.com/netgen, accessed: 25.10.2021.

17. Oklahoma State University System on Chip (SoC) Design Flows, Available at: https://vlsiarch.ecen.okstate.edu/flow, accessed: 25.10.2021.

18. T. Edwards, M. Kassem, C. Wolf. PicoSoC: How we created a RISC-V based ASIC processor using a full open-source foundry targeted RTL-to-GDS flow, and how you can, too! 7th RISC-V Workshop, 2017. Available at: https://riscv.org/wp-content/uploads/2017/12/Wed-1142-RISCV-Tim-Edwards.pdf, accessed: 25.10.2021.

19. OpenLANE. Available at: https://openlane.readthedocs.io, accessed: 25.10.2021.

20. Open source process design kit for usage with SkyWater Technology Foundry's 130nm node. Available at: https://github.com/google/skywater-pdk, дата обращения 25.10.2021.

21. OpenROAD, Available at: https://github.com/The-OpenROAD-Project/OpenROAD, accessed: 25.10.2021.

22. UCSD Detailed Router, Available at: https://github.com/The-OpenROAD-Project/TritonRoute, accessed: 25.10.2021.

23. KLayout Layout Viewer and Editor. Available at: https://www.klayout.de, accessed: 25.10.2021.

24. MPW-ONE Projects. Available at: https://efabless.com/projects/shuttle_name/MPW-ONE, accessed: 25.10.2021.

25. Coriolis VLSI CAD Tools. Available at: http://coriolis.lip6.fr, accessed: 25.10.2021.

26. M.-M. Louerat, R. Chotin et al. RISC-V design using FOSS. Available at: https://open-src-soc.org/2019-10/media/slides/2nd-RISC-V-Meeting-2019-10-01-10h00-Jean-Paul-Chaput.pdf, accessed: 25.10.2021.

27. GNU Lesser General Public License. Available at: https://www.gnu.org/licenses/lgpl-3.0.ru.html, accessed: 25.10.2021.

28. N. Shimizu. FOSS for Free HW with Japanese technology process, Available at: https://www.lip6.fr/public/2018-03-09_Shimizu.pdf, accessed: 25.10.2021.

29. Hurricane. Available at: https://gitlab.lip6.fr/vlsi-eda/coriolis/-/tree/devel/hurricane, accessed: 25.10.2021.

30. Coriolis Etesian, Available at: https://github.com/Coloquinte/Coloquinte, accessed: 25.10.2021.

31. Katana. Available at: https://gitlab.lip6.fr/vlsi-eda/coriolis/-/tree/devel/katana, accessed: 25.10.2021.

32. FLUTE. Available at: http://home.eng.iastate.edu/~cnchu/flute.html, accessed: 25.10.2021.

33. Symbolic Layout. Available at: http://coriolis.lip6.fr/pages/symbolic-layout.html, accessed: 25.10.2021.

34. HiTas. Available at: https://www-soc.lip6.fr/en/team-cian/softwares/tasyagle, accessed: 25.10.2021.

35. s2r. Available at: https://gitlab.lip6.fr/vlsi-eda/coriolis/-/blob/devel/cumulus/src/plugins/s2r.py, accessed: 25.10.2021.

36. druc. Available at: https://gitlab.lip6.fr/vlsi-eda/alliance/-/tree/master/alliance/src/druc, accessed: 25.10.2021.

37. OpenAccess. Available at: https://si2.org/oa-tools-utils-libs, accessed: 25.10.2021.

38. Verilog-to-Rounting, Available at: https://docs.verilogtorouting.org/en/latest, accessed: 25.10.2021.

39. K.E. Murray, O. Petelin et al. VTR 8: High Performance CAD and Customizable FPGA Architecture Modelling. ACM Transaction on Reconfigurable Technology and Systems, vol. 13, issue 2, 2020, Article 9, 55 p.

40. The MIT License. Available at: https://opensource.org/licenses/MIT, accessed: 25.10.2021.

41. VPR. Available at: https://docs.verilogtorouting.org/en/latest/vpr, accessed: 25.10.2021.

42. FPGA Assembly (FASM) Output. Available at: https://docs.verilogtorouting.org/en/latest/utils/fasm, accessed: 25.10.2021.

43. K.E. Murray, S. Whitty, S. Liu, J. Luu, V. Betz. Timing-Driven Titan: Enabling Large Benchmarks and Exploring the Gap between Academic and Commercial CAD. ACM Transaction on Reconfigurable Technology and Systems, vol. 8, issue 2, 2015, Article 10, 18 p.

44. SymbiFlow. Available at: https://symbiflow.readthedocs.io/en/latest/toolchain-desc/design-flow.html, accessed: 25.10.2021.

45. Verific Design Automation. Available at: https://www.verific.com, accessed: 25.10.2021.

46. nextpnr. Available at: https://github.com/YosysHQ/nextpnr, accessed: 25.10.2021.

47. OpenFPGA. Available at: https://github.com/lnis-uofu/OpenFPGA, accessed: 25.10.2021.

48. Vivado ML. Available at: https://www.xilinx.com/products/design-tools/vivado.html, accessed: 25.10.2021.

49. ISE Design Suite. Available at: https://www.xilinx.com/products/design-tools/ise-design-suite.html, accessed: 25.10.2021.

50. Intel Quartus Prime. Available at: https://www.intel.com/content/www/us/en/software/programmable/quartus-prime/download.html, accessed: 25.10.2021.

51. Project IceStorm. Available at: http://www.clifford.at/icestorm, accessed: 25.10.2021.

52. Project Trellis. Available at: https://github.com/YosysHQ/prjtrellis, accessed: 25.10.2021.

53. Project Oxideю Available at: https://github.com/gatecat/prjoxide, accessed: 25.10.2021.

54. Project Apicula. Available at: https://github.com/YosysHQ/apicula, accessed: 25.10.2021.

55. Project X-Ray, Available at: https://github.com/SymbiFlow/prjxray, accessed: 25.10.2021.

56. K.E. Murray et al. SymbiFlow and VPR: An Open-Source Design Flow for Commercial and Novel FPGAs. IEEE Micro, vol. 40, issue 4, 2020, pp. 49-57.

57. Odin II Verilog Support. Available at: https://docs.verilogtorouting.org/en/latest/odin/verilog_support, accessed: 25.10.2021.

58. GHDL. Available at: https://github.com/ghdl/ghdl, accessed: 25.10.2021.

59. C. Sechen, A. Vincentelli. The Timber Wolf Placement and Routing Package. IEEE Journal of Solid-State Circuits, vol. 20, issue 2, 1985, pp. 510-522.

60. FastRoute. Available at: http://home.eng.iastate.edu/~cnchu/FastRoute.html, accessed: 25.10.2021.

61. M. Pan, Y. Xu et al. FastRoute: an efficient and high-quality global router. VLSI Design, 2012, Article 14, 14 p.

62. BoxRouter. Available at: https://www.cerc.utexas.edu/utda/download/BoxRouter.htm, accessed: 25.10.2021.

63. M. Cho, K. Lu et al. BoxRouter 2.0: Architecture and Implementation of a Hybrid and Robust Global Router. In Proc. of IEEE/ACM International Conference on Computer-Aided Design (ICCAD), 2007, pp. 503-508.

64. C.Y. Lee. An Algorithm for Path Connections and Its Applications. IRE Transactions on Electronic Computers, vol. EC-10, issue 3, 1961. pp. 346-365.

65. A.B. Kahng, L. Wang, B. Xu. TritonRoute: The Open-Source Detailed Router. IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems, vol. 40, issue 3, 2021, pp. 547-559.

66. SEMI P44 – Specification for OASIS. Available at: https://store-us.semi.org/products/p04400-semi-p44-specification-for-open-artwork-system-interchange-standard-oasis-%C2%AE-specific-to-mask-tools, accessed: 25.10.2021.

67. Synopsys Design Format. Available at: https://www.intel.com/content/www/us/en/ programmable/quartushelp/13.0/mergedProjects/reference/glossary/def_sdc.htm, accessed: 25.10.2021.

68. Liberty. Available at: https://people.eecs.berkeley.edu/~alanmi/publications/other/liberty07_03.pdf, accessed: 25.10.2021.

69. Alliance standard cell libraries. Available at: http://www.vlsitechnology.org/html/sx_description.html, accessed: 10.11.2021.

70. FreePDK45. Available at: https://research.ece.ncsu.edu/eda/freepdk/freepdk45, accessed: 25.10.2021.

71. nm FreePDK. Open-Cell 15nm, Available at: https://si2.org/open-cell-library, accessed: 25.10.2021.

72. Silicon Integration Initiative. Available at: https://si2.org, accessed: 25.10.2021.

73. Nangate and Si2 Release Unprecedented Free 45nm Open Source Digital Cell Library. Available at: https://www.src.org/newsroom/press-release/2008/46, accessed: 25.10.2021.

74. L.T. Clark, V. Vashishtha et al. Design flows and collateral for the ASAP7 7nm FinFET predictive process design kit. In Proc. of the 2017 IEEE International Conference on Microelectronic Systems Education (MSE), 2017, pp. 1-4.

75. FreePDK15. Available at: https://research.ece.ncsu.edu/eda/freepdk/freepdk15, accessed: 25.10.2021.

76. M. Martins, J. M. Matos et al. Open Cell Library in 15nm FreePDK Technology. In Proc. of the International Symposium on Physical Design, 2015, pp. 171-178.

77. SAP7 PDK. Available at: https://github.com/The-OpenROAD-Project/asap7, accessed: 25.10.2021.

78. RISC-V Architecture, Available at: https://riscv.org, accessed: 25.10.2021.

79. PicoRV32, Available at: https://github.com/cliffordwolf/picorv32, accessed: 25.10.2021.

80. K.P. Ghosh, A.K. Ghosh. Technology mediated tutorial on RISC-V CPU core implementation and sign-off using revolutionary EDA management system (EMS) – VSDFLOW. In Proc. of the China Semiconductor Technology International Conference (CSTIC), 2018, pp. 1-3.

81. VSDFLOW. Available at: https://github.com/kunalg123/vsdflow, accessed: 25.10.2021.


Review

For citations:


KAMKIN A.S., SMOLOV S.A., CHUPILKO M.M. Comparison of Open Flows for Digital Hardware Development: qFlow, OpenLANE, Coriolis, and SymbiFlow. Proceedings of the Institute for System Programming of the RAS (Proceedings of ISP RAS). 2021;33(6):111-130. (In Russ.) https://doi.org/10.15514/ISPRAS-2021-33(6)-8



Creative Commons License
This work is licensed under a Creative Commons Attribution 4.0 License.


ISSN 2079-8156 (Print)
ISSN 2220-6426 (Online)