Thứ Ba, 25 tháng 7, 2017

[Tool] Các phần mềm mã nguồn mở phục vụ thiết kế vi mạch

Bài này liệt kê và giới thiệu các phần mềm mã nguồn mở để các bạn có thể cài đặt và thử nghiêm, phục vụ công tác nghiên cứu và học tập (Bài viết sẽ được cập nhật thường xuyên các tool hữu ích).

1. gnucap

Loại phần mềm: Mô phỏng mạch

Mô tả: gnucap là chương trình mô phỏng cả mạch số và mạch tương tự (mixed-signal). Phần mềm thực thi dc phi tuyến, các phân tích tức thời, phân tích ac tuyến tính tại một điểm xử lý. Phần mềm cũng bao gồm các mô hình MOSFET tương thích SPICE, diode và BJT.

Link cài đặt và tham khảo:
  • http://ftp.gnu.org/gnu/gnucap/
  • http://gnucap.org/dokuwiki/doku.php?id=gnucap:start
  • http://www.gnu.org/software/gnucap/gnucap-man.pdf
  • https://www.johannes-bauer.com/electronics/gnucap/
  • https://directory.fsf.org/wiki/Gnucap
  • http://thoughtmountain.com/gnucap_demo.html
2. ngspice

Loại phần mềm: Mô phỏng mạch

Mô tả: ngspice là trình mô phỏng mạch mixed-signal và mixed-level. Mã nguồn của phần mềm này dựa trên 3 gói phần mềm mã nguồn mở là Spice3f5, Cider1b1 và Xspice.

Link cài đặt và tham khảo:
  • http://ngspice.sourceforge.net/index.html
  • http://www.ngspice.com/
ngspice

3. Qucs

Loại phần mềm: Mô phỏng mạch

Mô tả Qucs, viết tắt của Quite Universal Circuit Simulator, là một rình mô phỏng mạch tích hợp. Phân mềm cho phép thực hiện một mạch với giao diện đồ họa và mô phỏng tín hiệu lớn, tín hiệu nhỏ và nhiễu trong mạch.

Link cài đặt và tham khảo:
  • http://qucs.sourceforge.net/
Giao diện Qucs
3. IRSIM

Loại phần mềm: Mô phỏng mạch

Mô tả: IRSIM là trình mô phỏng mạch mức switch. Nó coi các transistor như các switch. Nó sử dụng hằng số RC để dự đoán thời gian tương đối của các sự kiện. 

Link download và tham khảo:
  • http://opencircuitdesign.com/irsim/download.html
  • http://opencircuitdesign.com/irsim/
HIển thị đồ họa analyzer trong IRSIM
4. Icarus Verilog

Loại phần mềm: Mô phỏng và tổng hợp

Mô tả: Icarus Verilog là phần mềm mô phỏng và tổng hợp tương thích với RTL code Verilog IEEE-1364.

Link download và tham khảo:
  • http://mac.softpedia.com/get/Math-Scientific/Icarus-Verilog.shtml
  • http://iverilog.icarus.com/
  • http://courses.cecs.anu.edu.au/courses/ENGN3213/Documents/VERILOG/iverilog_NOOR.pdf
  • http://www.swarthmore.edu/NatSci/mzucker1/e15/iverilog-instructions.html
5. Verilator

Loại phần mềm: Mô phỏng

Mô tả: Verilator được giới thiệu là phần mềm mô phỏng miễn phí Verilog HDL nhanh nhất. Nó có thể biên dịch được code Verilog khả tổng hợp, một số PSL, SystemVerrilog và các assertion tổng hợp trong C++ hoặc System C. Phần mềm được viết để sử dụng cho các dự án lớn cần tốc độ mô phỏng nhanh.

Link download và tham khảo:
  • https://www.veripool.org/wiki/verilator/Installing
  • http://www.lowrisc.org/docs/untether-v0.2/verilator/
6. GHDL

Loại phần mềm: Biên dịch (compiler) và mô phỏng

Mô tả: GHDL là từ viết tắt của G Hardware Design Language. GHDL là một trình biên dịch VHDL, khồng phải là một trình tổng hợp (synthesis) tạo ra file netlist. Tuy gọi là trình biên dịch vì GHDL biên dịch RTL code viết bằng VHDL thành mã máy sử dụng gcc mà không thông quan ngôn ngữ trung gian như C hay C++ nên có thời gian biên dịch và phân tích nhanh hơn. Bạn có thể biên dịch thiết kế cùng với testbench để tạo ra file VCD và có thể sử dụng các phần mềm khác để xem dạng sóng như GTKwave.

Link download và tham khảo:

  • http://ghdl.free.fr/
  • https://www.youtube.com/watch?v=vLQqhN8cBo0
GHDL

7. ChipVault


Loại phần mềm: Biên dịch và tổng hợp

Mô tả: Là một chương trình phát triển chip trên ngôn ngữ VHDL và Verilog. ChipVault hiển thị thiết kế theo cấu trúc thứ bậc  ChipVault cung cấp chuỗi thực hiện các tác vụ từ dưới lên như khởi chạy các trình biên dịch RTL, tổng hợp, tạo khối và instance, và hỗ trợ kiểm soát thiết kế.

Link download và tham khảo:

  • http://freecode.com/projects/chipvault
  • http://chipvault.sourceforge.net/
ChipVault
8. GTKwave


Loại phần mềm: Xem dạng sóng

Mô tả: Là một chương trình đọc được các định dạng file  LXT, LXT2, VZT, FST, GHW và VCD/EVCD để hiển thị.

Link download và tham khảo:

  • http://gtkwave.sourceforge.net/
  • http://iverilog.wikia.com/wiki/GTKWAVE
  • http://www.ic.unicamp.br/~ducatte/mc542/Docs/gtkwave.pdf
GTKwave

8. Gwave

Loại phần mềm: Xem dạng sóng

Mô tả: Gwave là phần mềm đọc dữ liệu tương tự như ngõ ra của trình mô phỏng Spice. Gwave đọc các file "raw" của các phần mềm spice2G6, spice3F5 hoặc ngspice.

Link download và tham khảo:

  • http://gwave.sourceforge.net/
  • https://sourceforge.net/projects/gwave/

Gwave
9. Alliance

Loại phần mềm: Thực thi đầy đủ luồng thiết kế trên ngôn ngữ VHDL (biên dịch, mô phỏng, tổng hợp, tạo macro-cell, Place and Route, ...)

Mô tả: Alliance là một bộ công cụ CAD miễn phí và các thư viện có sẵn cho thiết kế VLSI. Nó bao gồm trình biên dịch VHDL và trình mô phỏng, các công cụ tổng hợp logic, Place and Route. Bộ thư viện CMOS được cung cấp sẵn. Alliance là kết quả nỗ lực trong mười hai năm của khoa SoC, phòng thí nghiệm LIP6, Đại học Pierre & Marie Curie (Paris VI, Pháp). Alliance đã được sử dụng cho các dự án vi xử lý superscalar StaCS có mật độ 875000 transistor và sự án chip Router IEEE Gigabit HSL có mật độ 400000.

Alliance là phần mềm miễn phí. Các tập tin nhị phân, mã nguồn và các thư viện cell được miễn phí theo license GNU (GNU General Public License). Bạn có thể sử dụng gói phần mềm ngay cả đối với thiết kế thương mại mà không có bất kỳ khoản phí.

Link download và tham khảo (nếu là trang web tiếng Pháp, bạn hãy chuyển sang chế độ tiếng Anh để tham khảo):
  • https://www-soc.lip6.fr/en/team-cian/softwares/alliance/
  • https://github.com/clothbot/Alliance-VLSI-CAD-System
  • ftp://ftp.gwdg.de/pub/misc/opencores/cores/usbhost/alliance.shtml
  • https://ashwith.wordpress.com/2011/02/07/vhdl-in-alliance-behavioral-simulations/
Alliance
10. Electric

Loại phần mềm: Thiết kế mạch số, analog, layout và nhiều thứ hay ho khác

Mô tả: Electric là phần mềm mã nguồn mở cho phép thực hiện nhiều dạng thiết kế mạch khác nhau. Một số khả năng của tool này là Custom IC Layout, thiết kế mạch số/tương tự dạng schematic, tổng hợp biên dịch VHDL, Verilog, ... Rất nhiều dự án nghiên cứu đã dùng phần mềm này (tham khảo link sau: http://www.staticfreesoft.com/electricGallery.html)

Bảng tổng hợp các thành phần của Electric

Link download và tham khảo:

  • http://www.staticfreesoft.com/
Electric
11. Magic

Loại phần mềm: Layout

Mô tả: Magic là một công cụ layout VLSI được viết bởi John Ousterhout năm 1980 tại Berkeley, hiện nay nó nổi tiếng cho việc viết ngôn ngữ TCL. Magic được dùng phổ biến ở các trường đại học và các công ty nhỏ. Magic vẫn dùng rộng rãi như một công cụ trung gian giúp layout dễ dàng nhất, trước khi dùng các công cụ thương mại để thiết kế sản phẩm.
Magic phiên bản 8.1 là phiên bản chính thức phát hành hiện tại .

Link download và tham khảo:

  • http://opencircuitdesign.com/magic/index.html
Magic





3 bình luận:

  1. Mình muốn bổ sung thêm một trang web mà sinh viên Mỹ và Ấn Độ hay dùng để compile system verilog code cho UVM: https://www.edaplayground.com/
    Thêm vào đó hiện tại Vivado là FPGA tool đã hỗ trợ UVM và system verilog, tool này miễn phí cho bản webpack.
    https://www.xilinx.com/support/download/index.html/content/xilinx/en/downloadNav/vivado-design-tools/archive.html

    Trả lờiXóa