Biểu trưng MICROCHIP Mô phỏng Libero SoC
Hướng dẫn thiết lập thư viện

Giới thiệu

(Đặt câu hỏi)

Mục đích của tài liệu này là mô tả quy trình thiết lập môi trường mô phỏng bằng cách sử dụng dự án Libero SoC làm đầu vào. Tài liệu này tương ứng với các thư viện biên dịch sẵn được cung cấp để sử dụng với Libero SoC v11.9 và các bản phát hành phần mềm mới hơn. Các thư viện được cung cấp được biên dịch cho Verilog. Người dùng VHDL yêu cầu giấy phép cho phép mô phỏng chế độ hỗn hợp.
Các thư viện mô phỏng được biên dịch có sẵn cho các công cụ sau:

  • Aldec Active-HDL
  • Aldec Riviera-PRO
  • Cadence Incisive Enterprise và Xcelium
  • Siemens QuestaSim
  • Tóm tắt VCS

Để yêu cầu thư viện cho một trình mô phỏng khác, hãy liên hệ Hỗ trợ kỹ thuật vi mạch.

Tích hợp Libero SoC

(Đặt câu hỏi)

Libero SoC hỗ trợ mô phỏng bằng ModelSim ME bằng cách tạo run.do file. Cái này file được ModelSim ME/ModelSim Pro ME sử dụng để thiết lập và chạy mô phỏng. Để sử dụng các công cụ mô phỏng khác, bạn có thể tạo ModelSim ME/ModelSim Pro ME run.do và sửa đổi tập lệnh Tcl file để sử dụng các lệnh tương thích với trình mô phỏng của bạn.
1.1 Libero SoC Tcl File Thế hệ (Đặt câu hỏi)
Sau khi tạo và tạo thiết kế trong Libero SoC, hãy bắt đầu mô phỏng ModelSim ME/ModelSim Pro ME trong tất cả các giai đoạn thiết kế (trước, sau tổng hợp và sau bố cục). Bước này tạo ra run.do file cho ModelSim ME/ModelSim Pro ME cho từng giai đoạn thiết kế.
Phần mềm thư viện mô phỏng MICROCHIP Libero SoC - biểu tượng Quan trọng: Sau khi bắt đầu mỗi lần chạy mô phỏng, hãy đổi tên run.do được tạo tự động file trong thư mục mô phỏng để ngăn Libero SoC ghi đè lên thư mục đó file. Ví dụample, cái files có thể được đổi tên thành presynth_run.do, postynth_run.do và postlayout_run.do.

Thiết lập Aldec cho Active-HDL và Riviera-Pro (Đặt câu hỏi)

Cuộc chạy.do file được ModelSim ME/ModelSim Pro ME sử dụng có thể được sửa đổi và sử dụng để mô phỏng bằng trình mô phỏng Aldec.
2.1 Biến môi trường (Đặt câu hỏi)
Đặt biến môi trường cho giấy phép của bạn file vị trí:
LM_LICENSE_FILE: phải bao gồm một con trỏ tới máy chủ cấp phép.
2.2 Tải xuống Thư viện đã biên dịch (Đặt câu hỏi)
Tải xuống thư viện cho Aldec Active-HDL và Aldec Riviera-PRO từ Microchip webđịa điểm.
2.3 Chuyển đổi run.do cho mô phỏng Aldec (Đặt câu hỏi)
Cuộc chạy.do files do Libero SoC tạo ra để mô phỏng bằng công cụ Active-HDL và Riviera-Pro có thể được sử dụng để mô phỏng bằng Active-HDL và Riviera-Pro chỉ với một thay đổi duy nhất. Bảng sau liệt kê các lệnh tương đương với Aldec cần sửa đổi trong ModelSim run.do file.
Bảng 2-1. Các lệnh tương đương Aldec

Mô hìnhSim HDL hoạt động
nhật ký video đăng nhập
vcom acom
vlib ngoại lệ
vsim asim
bản đồ vmap bản đồ

Sau đây là nhưample run.do liên quan đến trình mô phỏng Aldec.

  1. Đặt vị trí của thư mục làm việc hiện tại.
    đặt dsn
  2. Đặt tên thư viện đang hoạt động, ánh xạ vị trí của nó và sau đó ánh xạ vị trí của dòng Microchip FPGA
    thư viện biên dịch sẵn (ví dụample, SmartFusion2) mà bạn đang chạy thiết kế của mình trên đó.
    alib presynth
    amap presynth presynth
    amap SmartFusion2
  3. Biên dịch tất cả các HDL cần thiết files được sử dụng trong thiết kế với thư viện cần thiết.
    alog –work presynth temp.v (dành cho Verilog)
    alog –work presynth testbench.v
    acom –work presynth temp.vhd (dành cho Vhdl)
    acom –work presynth testbench.vhd
  4. Mô phỏng thiết kế.
    asim –L SmartFusion2 –L presynth –t 1ps presynth.testbench
    chạy 10us

2.4 Các vấn đề đã biết (Đặt câu hỏi)
Phần này liệt kê các vấn đề và hạn chế đã biết.

  • Các thư viện được biên dịch bằng Riviera-PRO là các nền tảng cụ thể (tức là các thư viện 64-bit không thể chạy trên nền tảng 32-bit và ngược lại).
  • Đối với các thiết kế chứa SERDES/MDDR/FDDR, hãy sử dụng tùy chọn sau trong run.do của bạn files trong khi chạy mô phỏng sau khi biên dịch thiết kế của họ:
    – Active-HDL: asim –o2
    – Riviera-PRO: asim –O2 (đối với mô phỏng trước và sau bố cục) và asim –O5 (đối với mô phỏng sau bố cục)
    Thiết lập Aldec cho Active-HDL và Riviera-Pro có các SAR đang chờ xử lý sau đây. Để biết thêm thông tin, liên lạc Hỗ trợ kỹ thuật vi mạch.
  • SAR 49908 – Active-HDL: Lỗi VHDL khi mô phỏng khối toán học
  • SAR 50627 – Riviera-PRO 2013.02: Lỗi mô phỏng cho thiết kế SERDES
  • SAR 50461 – Riviera-PRO: tùy chọn asim -O2/-O5 trong mô phỏng

Thiết lập chính xác nhịp (Đặt câu hỏi)

Bạn cần tạo một kịch bản file tương tự như ModelSim ME/ModelSim Pro ME run.do để chạy
Cadence Incisive mô phỏng. Thực hiện theo các bước sau và tạo tập lệnh file cho NCSim hoặc sử dụng tập lệnh file
được cung cấp để chuyển đổi ModelSim ME/ModelSim Pro ME run.do files vào cấu hình files
cần thiết để chạy mô phỏng bằng NCSim.
Phần mềm thư viện mô phỏng MICROCHIP Libero SoC - biểu tượng Quan trọng: Nhịp đã ngừng phát hành phiên bản mới của Incisive Enterprise
giả lập và bắt đầu hỗ trợ trình giả lập Xcelium.

3.1 Biến môi trường (Đặt câu hỏi)
Để chạy trình mô phỏng Cadence Incisive, hãy định cấu hình các biến môi trường sau:

  1. LM_LICENSE_FILE: phải bao gồm một con trỏ tới giấy phép file.
  2. cds_root: phải trỏ đến vị trí thư mục chính của Cài đặt Cadence Incisive.
  3. PATH: phải trỏ đến vị trí bin trong thư mục công cụ được trỏ bởi cds_root nghĩa là,
    $cds_root/tools/bin/64bit (đối với máy 64 bit và $cds_root/tools/bin đối với máy 32 bit).
    Có ba cách thiết lập môi trường mô phỏng trong trường hợp chuyển đổi giữa hệ điều hành 64 bit và 32 bit:

Trường hợp 1: Biến PATH
Chạy lệnh sau:
đặt path = (install_dir/tools/bin/64bit $path) cho máy 64bit và
đặt path = (install_dir/tools/bin $path) cho máy 32bit
Trường hợp 2: Sử dụng tùy chọn dòng lệnh -64bit
Trong dòng lệnh chỉ định tùy chọn -64bit để gọi tệp thực thi 64bit.
Trường hợp 3: Đặt biến môi trường INCA_64BIT hoặc CDS_AUTO_64BIT
Biến INCA_64BIT được coi là boolean. Bạn có thể đặt biến này thành bất kỳ giá trị nào hoặc thành chuỗi rỗng.
setenv INCA_64BIT

Phần mềm thư viện mô phỏng MICROCHIP Libero SoC - biểu tượng Quan trọng: Biến môi trường INCA_64BIT không ảnh hưởng đến các công cụ Cadence khác, chẳng hạn như công cụ IC. Tuy nhiên, đối với các công cụ Incisive, biến INCA_64BIT sẽ ghi đè cài đặt cho biến môi trường CDS_AUTO_64BIT. Nếu biến môi trường INCA_64BIT được đặt, tất cả các công cụ Incisive sẽ chạy ở chế độ 64-bit. setenv CDS_AUTO_64BIT BAO GỒM:INCA
Phần mềm thư viện mô phỏng MICROCHIP Libero SoC - biểu tượng Quan trọng: chuỗi INCA phải ở dạng chữ hoa. Tất cả các tệp thực thi phải được chạy ở chế độ 32 bit hoặc ở chế độ 64 bit, không đặt biến để bao gồm một tệp thực thi, như sau:
setenv CDS_AUTO_64BIT BAO GỒM:ncelab

Các công cụ Cadence khác, chẳng hạn như công cụ IC, cũng sử dụng biến môi trường CDS_AUTO_64BIT để kiểm soát việc lựa chọn các tệp thực thi 32 bit hoặc 64 bit. Bảng sau đây cho thấy cách bạn có thể đặt biến CDS_AUTO_64BIT để chạy các công cụ Incisive và IC ở tất cả các chế độ.
Bảng 3-1. Biến CDS_AUTO_64BIT

Biến CDS_AUTO_64BIT Dụng cụ sắc bén Công cụ vi mạch
setenv CDS_AUTO_64BIT TẤT CẢ 64 bit 64 bit
setenv CDS_AUTO_64BIT KHÔNG 32 bit 32 bit
setenv CDS_AUTO_64BIT LOẠI TRỪ:ic_binary 64 bit 32 bit
setenv CDS_AUTO_64BIT LOẠI TRỪ:INCA 32 bit 64 bit

Phần mềm thư viện mô phỏng MICROCHIP Libero SoC - biểu tượng Quan trọng: Tất cả các công cụ Incisive phải được chạy ở chế độ 32 bit hoặc ở chế độ 64 bit, không sử dụng EXCLUDE để loại trừ một tệp thực thi cụ thể, như sau: setenv CDS_AUTO_64BIT EXCLUDE:ncelab
Nếu bạn đặt biến CDS_AUTO_64BIT để loại trừ các công cụ Incisive (setenv CDS_AUTO_64BIT EXCLUDE:INCA), tất cả các công cụ Incisive đều chạy ở chế độ 32-bit. Tuy nhiên, tùy chọn dòng lệnh -64bit sẽ ghi đè biến môi trường.
Cấu hình sau files giúp bạn quản lý dữ liệu và kiểm soát hoạt động của các công cụ, tiện ích mô phỏng:

  • Ánh xạ thư viện file (cds.lib)—Xác định tên logic cho vị trí thiết kế của bạn.
  • Thư viện và liên kết chúng với tên thư mục vật lý.
  • Biến số file (hdl.var)—Xác định các biến ảnh hưởng đến hoạt động của các công cụ và tiện ích mô phỏng.

3.2 Tải xuống Thư viện đã biên dịch (Đặt câu hỏi)
Tải xuống thư viện dành cho Cadence Incisive từ Microsemi's webđịa điểm.
3.3 Tạo tập lệnh NCSim File (Đặt câu hỏi)
Sau khi tạo bản sao của run.do files, hãy thực hiện các bước sau để chạy mô phỏng của bạn bằng NCSim:

  1. Tạo một cds.lib file xác định các thư viện có thể truy cập và vị trí của chúng. Các file chứa các câu lệnh ánh xạ tên logic của thư viện tới các đường dẫn thư mục vật lý của chúng. Dành cho người yêu cũamptập tin, nếu bạn đang chạy mô phỏng presynth, cds.lib file được viết như thể hiện trong khối mã sau.
    ĐỊNH NGHĨA presynth ./presynth
    XÁC ĐỊNH COREAHBLITE_LIB ./COREAHBLITE_LIB
    ĐỊNH NGHĨA Smartfusion2
  2. Tạo một hdl.var file, cấu hình tùy chọn file chứa các biến cấu hình, xác định cách cấu hình môi trường thiết kế của bạn. Biến sau đây files được bao gồm:
    – Các biến được sử dụng để chỉ định thư viện công việc nơi trình biên dịch lưu trữ các đối tượng đã biên dịch và dữ liệu dẫn xuất khác.
    – Đối với Verilog, các biến (LIB_MAP, VIEW_MAP, WORK) được sử dụng để chỉ định các thư viện và views để tìm kiếm khi trình soạn thảo giải quyết các trường hợp.
    – Các biến cho phép bạn xác định các tùy chọn và đối số dòng lệnh của trình biên dịch, trình soạn thảo và trình mô phỏng.
    Trong trường hợp mô phỏng presynth cũample được hiển thị ở trên, giả sử chúng ta có ba RTL files: av, bv và testbench.v, cần được biên dịch lần lượt vào các thư viện presynth, COREAHBLITE_LIB và presynth. hdl.var file có thể được viết như thể hiện trong khối mã sau.
    ĐỊNH NGHĨA CÔNG VIỆC
    XÁC ĐỊNH DỰ ÁN_DIR files>
    XÁC ĐỊNH LIB_MAP ( $LIB_MAP, ${PROJECT_DIR}/av => presynth )
    XÁC ĐỊNH LIB_MAP ( $LIB_MAP, ${PROJECT_DIR}/b.v => COREAHBLITE_LIB )
    XÁC ĐỊNH LIB_MAP ( $LIB_MAP, ${PROJECT_DIR}/testbench.v => presynth )
    XÁC ĐỊNH LIB_MAP ( $LIB_MAP, + => presynth )
  3. Biên soạn thiết kế fileđang sử dụng tùy chọn ncvlog.
    ncvlog +incdir+ –cdslib ./cds.lib –hdlvar ./hdl.var –logfile
    ncvlog.log –update –linedebug av bv testbench.v
  4. Xây dựng thiết kế bằng cách sử dụng ncelab. Trình xây dựng xây dựng hệ thống phân cấp thiết kế dựa trên thông tin khởi tạo và cấu hình trong thiết kế, thiết lập kết nối tín hiệu và tính toán các giá trị ban đầu cho tất cả các đối tượng trong thiết kế. Hệ thống phân cấp thiết kế phức tạp được lưu trữ trong ảnh chụp nhanh mô phỏng, đây là sự thể hiện thiết kế của bạn mà trình mô phỏng sử dụng để chạy mô phỏng.
    ncelab –Message –cdslib ./cds.lib –hdlvar ./hdl.var –logfile ncelab.log –errormax 15 –
    truy cập +rwc –status worklib. : mô-đun
    Xây dựng trong quá trình mô phỏng sau bố cục
    Trong trường hợp mô phỏng sau bố cục, đầu tiên là SDF file cần được biên dịch trước khi xây dựng bằng lệnh ncsdfc.
    ncsdfcfiletên>.sdf –đầu ra <filetên>.sdf.X
    Trong quá trình xây dựng, hãy sử dụng đầu ra SDF đã biên dịch với tùy chọn –autosdf như được hiển thị trong khối mã sau.
    ncelab -autosdf –Message –cdslib ./cds.lib –hdlvar ./hdl.var –logfile ncelab.log –errormax
    15 –access +rwc –status worklib. :mô-đun –sdf_cmd_file ./
    sdf_cmd_file
    sdf_cmd_file phải như được hiển thị trong khối mã sau.
    COMPILED_SDF_FILE = “ file>”
  5. Mô phỏng bằng ncsim. Sau khi xây dựng, một ảnh chụp nhanh mô phỏng được tạo ra, được ncsim tải để mô phỏng. Bạn có thể chạy ở chế độ hàng loạt hoặc chế độ GUI.
    ncsim –Message –batch/-gui –cdslib ./cds.lib –hdlvar ./hdl.var –logfile ncsim.log –
    errormax 15 –status worklib. : mô-đun

Phần mềm thư viện mô phỏng MICROCHIP Libero SoC - biểu tượng Quan trọng: Tất cả ba bước biên dịch, xây dựng và mô phỏng trên có thể được đưa vào tập lệnh shell file và có nguồn gốc từ dòng lệnh. Thay vì sử dụng ba bước này, thiết kế có thể được mô phỏng trong một bước bằng cách sử dụng tùy chọn ncverilog hoặc irun như được hiển thị trong khối mã sau.
ncverilog +incdir+ -cdslib ./cds.lib –hdlvar ./hdl.var
fileđược sử dụng trong thiết kế>
irun +incdir+ -cdslib ./cds.lib –hdlvar ./hdl.var <tất cả RTL files
được sử dụng trong thiết kế>

3.3.1 Các vấn đề đã biết (Đặt câu hỏi)
Giải pháp thử nghiệm
Việc sử dụng câu lệnh sau để chỉ định tần số xung nhịp trong điểm kiểm tra do người dùng tạo hoặc điểm kiểm tra mặc định do Libero SoC tạo không hoạt động với NCSim.
luôn @(SYSCLK)
#(SYSCLK_PERIOD / 2.0) SYSCLK <= !SYSCLK;
Sửa đổi như sau để chạy mô phỏng:
luôn #(SYSCLK_PERIOD / 2.0) SYSCLK = ~SYSCLK;
Phần mềm thư viện mô phỏng MICROCHIP Libero SoC - biểu tượng Quan trọng: Đã biên dịch các thư viện dành cho NCSim dành riêng cho nền tảng (tức là thư viện 64 bit không tương thích với nền tảng 32 bit và ngược lại).
Mô phỏng sau bố cục và sau bố cục bằng MSS và SERDES Trong khi chạy mô phỏng sau bố cục của thiết kế có chứa khối MSS hoặc mô phỏng sau bố cục của thiết kế bằng SERDES, mô phỏng BFM không hoạt động nếu tùy chọn –libmap được bật
không được chỉ định trong quá trình xây dựng. Điều này là do trong quá trình xây dựng, MSS được giải quyết từ thư viện công việc (vì ràng buộc mặc định và worklib là postsynth/post-layout) trong đó nó chỉ là một Hàm cố định.
Lệnh ncelab phải được viết như trong khối mã sau để giải quyết MSS
khối từ thư viện biên dịch sẵn SmartFusion2.

ncelab -libmap lib.map -libverbose -Message -access + rwc cfg1
và lib.map file phải như sau:
cấu hình cfg1;
thiết kế ;
danh sách thư viện mặc định smartfusion2 ;
cấu hình cuối
Thao tác này sẽ giải quyết bất kỳ ô nào trong thư viện SmartFusion2 trước khi tìm trong thư viện công việc, tức là postsynth/post-layout.
Tùy chọn –libmap có thể được sử dụng theo mặc định trong quá trình xây dựng cho mọi mô phỏng (presynth, postsynth và post-layout). Điều này tránh được các sự cố mô phỏng xảy ra do việc giải quyết các phiên bản từ thư viện.
ncelab: *F,INTERR: NGOẠI LỆ NỘI BỘ
Ngoại lệ của công cụ ncelab này là một cảnh báo đối với các thiết kế có chứa FDDR trong SmartFusion 2 và IGLOO 2 trong quá trình mô phỏng sau tổng hợp và hậu bố cục bằng tùy chọn –libmap.
Phần mềm thư viện mô phỏng MICROCHIP Libero SoC - biểu tượng Quan trọng: Sự cố này đã được báo cáo cho nhóm hỗ trợ Cadence (SAR 52113).

3.4 giâyamptập lệnh Tcl và Shell Filelà (Đặt câu hỏi)
Sau đây là files là cấu hình filecần thiết để thiết lập thiết kế và tập lệnh shell file để chạy các lệnh NCSim.
Cds.lib
NE smartfusion2 /scratch/krydor/tmpspace/users/me/nc-vlog64/SmartFusion2
XÁC ĐỊNH COREAHBLITE_LIB ./COREAHBLITE_LIB
ĐỊNH NGHĨA presynth ./presynth

Hdl.var
ĐỊNH NGHĨA CÔNG VIỆC
DEFINE PROJECT_DIR /scratch/krydor/tmpspace/sqausers/me/3rd_party_simulators/Cadence/IGLOO2/
ENVM/M2GL050/envm_fic1_ser1_v/eNVM_fab_master
XÁC ĐỊNH LIB_MAP ( $LIB_MAP, ${PROJECT_DIR}/comComponent/Actel/DirectCore/CoreAHBLite/4.0.100/rtl/
vlog/core/coreahblite_addrdec.v => COREAHBLITE_LIB )
XÁC ĐỊNH LIB_MAP ( $LIB_MAP, ${PROJECT_DIR}/comComponent/Actel/DirectCore/CoreAHBLite/4.0.100/rtl/
vlog/core/coreahblite_defaultslavesm.v => COREAHBLITE_LIB )
XÁC ĐỊNH LIB_MAP ( $LIB_MAP, ${PROJECT_DIR}/comComponent/Actel/DirectCore/CoreAHBLite/4.0.100/rtl/
vlog/core/coreahblite_masterstagev => COREAHBLITE_LIB )
XÁC ĐỊNH LIB_MAP ( $LIB_MAP, ${PROJECT_DIR}/comComponent/Actel/DirectCore/CoreAHBLite/4.0.100/rtl/
vlog/core/coreahblite_slavearbiter.v => COREAHBLITE_LIB )
XÁC ĐỊNH LIB_MAP ( $LIB_MAP, ${PROJECT_DIR}/comComponent/Actel/DirectCore/CoreAHBLite/4.0.100/rtl/
vlog/core/coreahblite_slavestagev => COREAHBLITE_LIB )
XÁC ĐỊNH LIB_MAP ( $LIB_MAP, ${PROJECT_DIR}/comComponent/Actel/DirectCore/CoreAHBLite/4.0.100/rtl/
vlog/core/coreahblite_matrix2x16.v => COREAHBLITE_LIB )
XÁC ĐỊNH LIB_MAP ( $LIB_MAP, ${PROJECT_DIR}/comComponent/Actel/DirectCore/CoreAHBLite/4.0.100/rtl/
vlog/core/coreahblite.v => COREAHBLITE_LIB )
XÁC ĐỊNH LIB_MAP ( $LIB_MAP, ${PROJECT_DIR}/comComponent/work/SB/CCC_0/SB_CCC_0_FCCC.v =>
tiền tổng hợp )
XÁC ĐỊNH LIB_MAP ( $LIB_MAP, ${PROJECT_DIR}/thành phần/Actel/DirectCore/CoreConfigMaster/
2.0.101/rtl/vlog/core/coreconfigmaster.v => presynth )
XÁC ĐỊNH LIB_MAP ( $LIB_MAP, ${PROJECT_DIR}/comComponent/Actel/DirectCore/CoreConfigP/4.0.100/rtl/
vlog/core/coreconfigp.v => presynth )
XÁC ĐỊNH LIB_MAP ( $LIB_MAP, ${PROJECT_DIR}/comComponent/Actel/DirectCore/CoreResetP/5.0.103/rtl/
vlog/core/coreresetp_pcie_hotreset.v => presynth )
XÁC ĐỊNH LIB_MAP ( $LIB_MAP, ${PROJECT_DIR}/comComponent/Actel/DirectCore/CoreResetP/5.0.103/rtl/
vlog/core/coreresetp.v => presynth )
XÁC ĐỊNH LIB_MAP ( $LIB_MAP, ${PROJECT_DIR}/comComponent/work/SB/FABOSC_0/SB_FABOSC_0_OSC.v =>
tiền tổng hợp )
XÁC ĐỊNH LIB_MAP ( $LIB_MAP, ${PROJECT_DIR}/comComponent/work/SB_HPMS/SB_HPMS.v => presynth )
XÁC ĐỊNH LIB_MAP ( $LIB_MAP, ${PROJECT_DIR}/comComponent/work/SB/SB.v => presynth )
XÁC ĐỊNH LIB_MAP ( $LIB_MAP, ${PROJECT_DIR}/comComponent/work/SB_top/SERDES_IF_0/
SB_top_SERDES_IF_0_SERDES_IF.v => trước )
XÁC ĐỊNH LIB_MAP ( $LIB_MAP, ${PROJECT_DIR}/comComponent/work/SB_top/SB_top.v => presynth )
XÁC ĐỊNH LIB_MAP ( $LIB_MAP, ${PROJECT_DIR}/comComponent/work/SB_top/testbench.v => presynth )
XÁC ĐỊNH LIB_MAP ( $LIB_MAP, + => presynth )
Lệnh.csh
ncvlog +incdir+../../comComponent/work/SB_top -cdslib ./cds.lib -hdlvar ./hdl.var -logfile
ncvlog.log -errormax 15 -update -linedebug
../../comComponent/Actel/DirectCore/CoreAHBLite/4.0.100/rtl/vlog/core/coreahblite_addrdec.v
../../comComponent/Actel/DirectCore/CoreAHBLite/4.0.100/rtl/vlog/core/
coreahblite_defaultslavesm.v
../../comComponent/Actel/DirectCore/CoreAHBLite/4.0.100/rtl/vlog/core/coreahblite_masterstagtuổi
../../comComponent/Actel/DirectCore/CoreAHBLite/4.0.100/rtl/vlog/core/coreahblite_slavearbiter.v
../../comComponent/Actel/DirectCore/CoreAHBLite/4.0.100/rtl/vlog/core/coreahblite_slavestagtuổi
../../comComponent/Actel/DirectCore/CoreAHBLite/4.0.100/rtl/vlog/core/coreahblite_matrix2x16.v
../../comComponent/Actel/DirectCore/CoreAHBLite/4.0.100/rtl/vlog/core/coreahblite.v
../../comComponent/work/SB/CCC_0/SB_CCC_0_FCCC.v
../../comComponent/Actel/DirectCore/CoreConfigMaster/2.0.101/rtl/vlog/core/coreconfigmaster.v
../../comComponent/Actel/DirectCore/CoreConfigP/4.0.100/rtl/vlog/core/coreconfigp.v
../../comComponent/Actel/DirectCore/CoreResetP/5.0.103/rtl/vlog/core/coreresetp_pcie_hotreset.v
../../comComponent/Actel/DirectCore/CoreResetP/5.0.103/rtl/vlog/core/coreresetp.v
../../comComponent/work/SB/FABOSC_0/SB_FABOSC_0_OSC.v ../../comComponent/work/SB_HPMS/SB_HPMS.v
../../comComponent/work/SB/SB.v ../../comComponent/work/SB_top/SERDES_IF_0/
SB_top_SERDES_IF_0_SERDES_IF.v
../../comComponent/work/SB_top/SB_top.v ../../comComponent/work/SB_top/testbench.v
ncelab -Message -cdslib ./cds.lib -hdlvar ./hdl.var
-work presynth -logfile ncelab.log -errormax 15 -access +rwc -status presynth.testbench:module
ncsim -Message -batch -cdslib ./cds.lib -hdlvar ./
hdl.var -logfile ncsim.log -errormax 15 -status presynth.testbench:module

3.5 Tự động hóa (Đặt câu hỏi)
Tập lệnh sau file chuyển đổi ModelSim run.do files vào cấu hình fileCần thiết để chạy mô phỏng bằng NCSim.
Kịch bản File Cách sử dụng
Perl cadence_parser.pl presynth_run.do postynth_run.do
postlayout_run.do Microsemi_Family
Location_of_Cadence_Precompiled_libraries

Cadence_parser.pl
#!/usr/bin/perl -w

###################################################### ###############################################
##################
#Cách sử dụng: Perl Questa_parser.pl presynth_run.do postynth_run.do postlayout_run.do
Microsemi_Family được biên dịch trước_Libraries_location#

###################################################### ###############################################
##################
sử dụng POSIX;
Sử dụng nghiêm ngặt;
của tôi ($presynth, $postsynth, $postlayout, $family, $lib_location) = @ARGV;
&questa_parser($presynth, $family, $lib_location);
&questa_parser($postsynth, $family, $lib_location);
&questa_parser($postlayout, $family, $lib_location);
nhiệm vụ phụ_parser {
$ModelSim_run_do = $_[0] của tôi;
$actel_family của tôi = $_[1];
$lib_location của tôi = $_[2];
trạng thái $ của tôi;
nếu ( -e “$ModelSim_run_do” )
{
mở raFILE,”$ModelSim_run_do”);
@ModelSim_run_do = <IN của tôiFILE>;
dòng $ của tôi;
nếu ( $ModelSim_run_do =~ m/(presynth)/)
{
`mkdir QUESTA_PRESYNTH`;
mở raFILE,”>QUESTA_PRESYNTH/presynth_questa.do”);
$state = $1;
} elsif ( $ModelSim_run_do =~ m/(postsynth)/)
{
`mkdir QUESTA_POSTSYNTH`;
mở raFILE,”>QUESTA_POSTSYNTH/postsynth_questa.do”);
$state = $1;
} elsif ( $ModelSim_run_do =~ m/(postlayout)/ )
{
`mkdir QUESTA_POSTLAYOUT`;
mở raFILE,”>QUESTA_POSTLAYOUT/postlayout_questa.do”);
$state = $1;
} khác
{
in “Nhập sai vào file\N";
print “#Usage: Perl Questa_parser.pl presynth_run.do postynth_run.do postlayout_run.do
\”Thư viện_location\”\n”;
}
foreach $line (@ModelSim_run_do)
{
#Hoạt động chung
$line =~ s/..\/designer.*simulation\///g;
$line =~ s/$state/$state\_questa/g;
#in raFILE “$line \n”;
if ($line =~ m/vmap\s+.*($actel_family)/)
{
in raFILE “vmap $actel_family \”$lib_location\”\n”;
} elsif ($line =~ m/vmap\s+(.*._LIB)/)
{
$line =~ s/..\/thành phần/..\/..\/thành phần/g;
in raFILE “$line \n”;
} elsif ($line =~ m/vsim/)
{
$line =~ s/vsim/vsim -novopt/g;
in raFILE “$line \n”;
} khác
{
in raFILE “$line \n”;
}
}
đóng(INFILE);
đóng (OUTFILE);
} khác {
print “$ModelSim_run_do không tồn tại. Chạy lại mô phỏng \n”;
}
}

Thiết lập Cadence Xcelium (Đăng nhập vi mạch)

Bạn cần tạo một kịch bản file tương tự như ModelSim ME/ModelSim Pro ME run.do để chạy trình mô phỏng Cadence Xcelium. Thực hiện theo các bước sau và tạo tập lệnh file cho Xcelium hoặc sử dụng tập lệnh file được cung cấp để chuyển đổi ModelSim ME/ModelSim Pro ME run.do files vào cấu hình fileCần thiết để chạy mô phỏng bằng Xcelium.
4.1 Biến môi trường (Đặt câu hỏi)
Để chạy Cadence Xcelium, hãy định cấu hình các biến môi trường sau:

  1. LM_LICENSE_FILE: phải bao gồm một con trỏ tới giấy phép file.
  2. cds_root: phải trỏ đến vị trí thư mục chính của Cadence Incisive Installation.
  3. PATH: phải trỏ đến vị trí bin trong thư mục công cụ được trỏ bởi cds_root (tức là.
    $cds_root/tools/bin/64bit (đối với máy 64 bit và $cds_root/tools/bin đối với máy 32 bit
    máy móc).

Có ba cách thiết lập môi trường mô phỏng trong trường hợp chuyển đổi giữa hệ điều hành 64 bit và 32 bit:
Trường hợp 1: Biến PATH
đặt path = (install_dir/tools/bin/64bit $path) cho máy 64bit và
đặt path = (install_dir/tools/bin $path) cho máy 32bit
Trường hợp 2: Sử dụng tùy chọn dòng lệnh -64bit
Trong dòng lệnh chỉ định tùy chọn -64bit để gọi tệp thực thi 64 bit.
Trường hợp 3: Đặt biến môi trường INCA_64BIT hoặc CDS_AUTO_64BIT
Biến INCA_64BIT được coi là boolean. Bạn có thể đặt biến này thành bất kỳ giá trị nào hoặc thành null
sợi dây.
setenv INCA_64BIT

Phần mềm thư viện mô phỏng MICROCHIP Libero SoC - biểu tượng Quan trọng: Biến môi trường INCA_64BIT không ảnh hưởng đến các công cụ Cadence khác, chẳng hạn như công cụ IC. Tuy nhiên, đối với các công cụ Incisive, biến INCA_64BIT sẽ ghi đè cài đặt cho biến môi trường CDS_AUTO_64BIT. Nếu biến môi trường INCA_64BIT được đặt, tất cả các công cụ Incisive sẽ chạy ở chế độ 64-bit.
setenv CDS_AUTO_64BIT BAO GỒM:INCA
Phần mềm thư viện mô phỏng MICROCHIP Libero SoC - biểu tượng Quan trọng: chuỗi INCA phải ở dạng chữ hoa. Tất cả các tệp thực thi phải được chạy ở chế độ 2 bit hoặc ở chế độ 64 bit, không đặt biến để bao gồm một tệp thực thi, như sau:
setenv CDS_AUTO_64BIT BAO GỒM:ncelab
Các công cụ Cadence khác, chẳng hạn như công cụ IC, cũng sử dụng biến môi trường CDS_AUTO_64BIT để kiểm soát việc lựa chọn các tệp thực thi 32 bit hoặc 64 bit. Bảng sau đây cho thấy cách bạn có thể đặt biến CDS_AUTO_64BIT để chạy các công cụ Incisive và IC ở tất cả các chế độ.

Bảng 4-1. Biến CDS_AUTO_64BIT

Biến CDS_AUTO_64BIT Dụng cụ sắc bén Công cụ vi mạch
setenv CDS_AUTO_64BIT TẤT CẢ 64-bit 64-bit
setenv CDS_AUTO_64BIT KHÔNG 32-bit 32-bit
setenv CDS_AUTO_64BIT
LOẠI TRỪ: ic_binary
64-bit 32-bit
setenv CDS_AUTO_64BIT LOẠI TRỪ:INCA 32-bit 64-bit

Phần mềm thư viện mô phỏng MICROCHIP Libero SoC - biểu tượng Quan trọng: Tất cả các công cụ Incisive phải được chạy ở chế độ 32 bit hoặc ở chế độ 64 bit, không sử dụng EXCLUDE để loại trừ một tệp thực thi cụ thể, như sau:
setenv CDS_AUTO_64BIT LOẠI TRỪ:ncelab
Nếu bạn đặt biến CDS_AUTO_64BIT để loại trừ các công cụ Incisive (setenv
CDS_AUTO_64BIT EXCLUDE:INCA), tất cả các công cụ Incisive đều chạy ở chế độ 32-bit. Tuy nhiên,
Tùy chọn dòng lệnh -64bit ghi đè biến môi trường.
Cấu hình sau files giúp bạn quản lý dữ liệu và kiểm soát hoạt động của các công cụ, tiện ích mô phỏng:

  • Ánh xạ thư viện file (cds.lib) xác định tên logic cho vị trí thiết kế của bạn.
  • Thư viện và liên kết chúng với tên thư mục vật lý.
  • Biến số file (hdl.var) xác định các biến ảnh hưởng đến hoạt động của các công cụ và tiện ích mô phỏng.

4.2 Tải xuống Thư viện đã biên dịch (Đặt câu hỏi)
Tải xuống thư viện dành cho Cadence Xcelium từ Microsemi's webđịa điểm.
4.3 Tạo tập lệnh Xcelium file (Đặt câu hỏi)
Sau khi tạo bản sao của run.do files, hãy thực hiện các bước sau để chạy mô phỏng của bạn bằng cách sử dụng tập lệnh Xcelium file.

  1. Tạo một cds.lib file xác định thư viện nào có thể truy cập được và vị trí của chúng.
    Các file chứa các câu lệnh ánh xạ tên logic của thư viện tới các đường dẫn thư mục vật lý của chúng. Dành cho người yêu cũamptập tin, nếu bạn đang chạy mô phỏng presynth, cds.lib file có thể được viết như thể hiện trong khối mã sau.
    ĐỊNH NGHĨA presynth ./presynth
    XÁC ĐỊNH COREAHBLITE_LIB ./COREAHBLITE_LIB
    ĐỊNH NGHĨA Smartfusion2
  2. Tạo một hdl.var file đó là một cấu hình tùy chọn file chứa các biến cấu hình, xác định cách cấu hình môi trường thiết kế của bạn. Bao gồm các:
    – Các biến được sử dụng để chỉ định thư viện công việc nơi trình biên dịch lưu trữ các đối tượng đã biên dịch và dữ liệu dẫn xuất khác.
    – Đối với Verilog, các biến (LIB_MAP, VIEW_MAP, WORK) được sử dụng để chỉ định các thư viện và views để tìm kiếm khi trình soạn thảo giải quyết các trường hợp.
    – Các biến cho phép bạn xác định các tùy chọn và đối số dòng lệnh của trình biên dịch, trình soạn thảo và trình mô phỏng.
    Trong trường hợp mô phỏng presynth cũample được hiển thị ở trên, giả sử chúng ta có 3 RTL files av, bv và testbench.v, cần được biên dịch thành các thư viện presynth, COREAHBLITE_LIB và presynth tương ứng. hdl.var file có thể được viết như thể hiện trong khối mã sau.
    ĐỊNH NGHĨA CÔNG VIỆC
    XÁC ĐỊNH DỰ ÁN_DIR files>
    XÁC ĐỊNH LIB_MAP ( $LIB_MAP, ${PROJECT_DIR}/av => presynth )
    XÁC ĐỊNH LIB_MAP ( $LIB_MAP, ${PROJECT_DIR}/b.v => COREAHBLITE_LIB )
    XÁC ĐỊNH LIB_MAP ( $LIB_MAP, ${PROJECT_DIR}/testbench.v => presynth )
    XÁC ĐỊNH LIB_MAP ( $LIB_MAP, + => presynth )
  3. Biên soạn thiết kế fileđang sử dụng tùy chọn ncvlog.
    xmvlog +incdir+ –cdslib ./cds.lib –hdlvar ./hdl.var –logfile
    ncvlog.log –update –linedebug av bv testbench.v
  4. Xây dựng thiết kế bằng cách sử dụng ncelab. Trình xây dựng xây dựng hệ thống phân cấp thiết kế dựa trên thông tin khởi tạo và cấu hình trong thiết kế, thiết lập kết nối tín hiệu và tính toán các giá trị ban đầu cho tất cả các đối tượng trong thiết kế. Hệ thống phân cấp thiết kế phức tạp được lưu trữ trong ảnh chụp nhanh mô phỏng, đây là sự thể hiện thiết kế của bạn mà trình mô phỏng sử dụng để chạy mô phỏng.
    Xcelium –Message –cdslib ./cds.lib –hdlvar ./hdl.var –logfile ncelab.log –errormax 15 –
    truy cập +rwc –status worklib. : mô-đun
    Xây dựng trong quá trình mô phỏng sau bố cục
    Trong trường hợp mô phỏng sau bố cục, đầu tiên là SDF file cần được biên dịch trước khi xây dựng bằng lệnh ncsdfc.
    xceliumfiletên>.sdf –đầu ra <filetên>.sdf.X
    Trong quá trình xây dựng, hãy sử dụng đầu ra SDF đã biên dịch với tùy chọn –autosdf như được hiển thị trong khối mã sau.
    xmelab -autosdf –Message –cdslib ./cds.lib –hdlvar ./hdl.var –logfile ncelab.log –errormax
    15 –access +rwc –status worklib. :mô-đun –sdf_cmd_file ./
    sdf_cmd_file
    sdf_cmd_file phải như được hiển thị trong khối mã sau.
    COMPILED_SDF_FILE = “ file>”
  5. Mô phỏng bằng Xcelium. Sau khi xây dựng, một ảnh chụp nhanh mô phỏng được tạo và được Xcelium tải để mô phỏng. Điều này có thể được chạy ở chế độ hàng loạt hoặc chế độ GUI.
    xmsim –Message –batch/-gui –cdslib ./cds.lib –hdlvar ./hdl.var –logfile xmsim.log –
    errormax 15 –status worklib. : mô-đun
    Thiết lập Cadence Xcelium
    Phần mềm thư viện mô phỏng MICROCHIP Libero SoC - biểu tượng Quan trọng: Tất cả Ba bước biên dịch, xây dựng và mô phỏng trên có thể được đưa vào tập lệnh shell file và có nguồn gốc từ dòng lệnh. Thay vì sử dụng ba bước này, thiết kế có thể được mô phỏng trong một bước bằng cách sử dụng tùy chọn ncverilog hoặc xrun như được hiển thị trong khối mã sau.
    xmverilog +incdir+ -cdslib ./cds.lib –hdlvar ./hdl.var <tất cả RTL
    fileđược sử dụng trong thiết kế>
    xrun +incdir+ -cdslib ./cds.lib –hdlvar ./hdl.var files
    được sử dụng trong thiết kế>

4.3.1 Các vấn đề đã biết (Đặt câu hỏi)
Giải pháp thử nghiệm
Việc sử dụng câu lệnh sau để chỉ định tần số xung nhịp trong testbench do người dùng tạo hoặc testbench mặc định do Libero SoC tạo không hoạt động với Xcelium.
luôn @(SYSCLK)
#(SYSCLK_PERIOD / 2.0) SYSCLK <= !SYSCLK;
Sửa đổi như sau để chạy mô phỏng:
luôn #(SYSCLK_PERIOD / 2.0) SYSCLK = ~SYSCLK;

Phần mềm thư viện mô phỏng MICROCHIP Libero SoC - biểu tượng Quan trọng: Các thư viện được biên dịch cho Xcelium dành riêng cho nền tảng (tức là thư viện 64 bit không tương thích với nền tảng 32 bit và ngược lại).
Mô phỏng bài tổng hợp và bài bố cục bằng MSS và SERDES
Trong khi chạy mô phỏng thiết kế sau tổng hợp có chứa khối MSS hoặc mô phỏng thiết kế sau bố cục bằng SERDES, mô phỏng BFM không hoạt động nếu tùy chọn –libmap không được chỉ định trong quá trình xây dựng. Điều này là do trong quá trình xây dựng, MSS được giải quyết từ thư viện công việc (vì ràng buộc mặc định và worklib là postsynth/post-layout) trong đó nó chỉ là một Hàm cố định.
Lệnh ncelab phải được viết như trong khối mã sau để giải quyết khối MSS từ thư viện biên dịch sẵn SmartFusion2.
xmelab -libmap lib.map -libverbose -Message -access + rwc cfg1
và lib.map file phải như sau:
cấu hình cfg1;
thiết kế ;
danh sách thư viện mặc định smartfusion2 ;
cấu hình cuối
Điều này phải giải quyết bất kỳ ô nào trong thư viện SmartFusion2 trước khi tìm trong thư viện công việc, tức là postsynth/post-layout.
Tùy chọn –libmap có thể được sử dụng theo mặc định trong quá trình xây dựng cho mọi mô phỏng (presynth, postsynth và post-layout). Điều này tránh được các sự cố mô phỏng xảy ra do việc giải quyết các phiên bản từ thư viện.
xmelab: *F,INTERR: NGOẠI LỆ NỘI BỘ
Ngoại lệ của công cụ ncelab này là một cảnh báo cho các thiết kế có chứa FDDR trong SmartFusion2 và IGLOO2
trong quá trình mô phỏng postsynth và post-layout bằng tùy chọn –libmap.
Phần mềm thư viện mô phỏng MICROCHIP Libero SoC - biểu tượng Quan trọng: Sự cố này đã được báo cáo cho nhóm hỗ trợ Cadence (SAR 52113).

4.4 giâyamptập lệnh Tcl và shell filelà (Đặt câu hỏi)
Sau đây là files là cấu hình filecần thiết để thiết lập thiết kế và tập lệnh shell file để chạy các lệnh Xcelium.
Cds.lib
XÁC ĐỊNH smartfusion2 /scratch/krydor/tmpspace/users/me/nc-vlog64/SmartFusion2
XÁC ĐỊNH COREAHBLITE_LIB ./COREAHBLITE_LIB
ĐỊNH NGHĨA presynth ./presynth
Hdl.var
ĐỊNH NGHĨA CÔNG VIỆC
DEFINE PROJECT_DIR /scratch/krydor/tmpspace/sqausers/me/3rd_party_simulators/Cadence/IGLOO2/
ENVM/M2GL050/envm_fic1_ser1_v/eNVM_fab_master
XÁC ĐỊNH LIB_MAP ( $LIB_MAP, ${PROJECT_DIR}/comComponent/Actel/DirectCore/CoreAHBLite/4.0.100/rtl/
vlog/core/coreahblite_addrdec.v => COREAHBLITE_LIB )
XÁC ĐỊNH LIB_MAP ( $LIB_MAP, ${PROJECT_DIR}/comComponent/Actel/DirectCore/CoreAHBLite/4.0.100/rtl/
vlog/core/coreahblite_defaultslavesm.v => COREAHBLITE_LIB )
XÁC ĐỊNH LIB_MAP ( $LIB_MAP, ${PROJECT_DIR}/comComponent/Actel/DirectCore/CoreAHBLite/4.0.100/rtl/
vlog/core/coreahblite_masterstagev => COREAHBLITE_LIB )
XÁC ĐỊNH LIB_MAP ( $LIB_MAP, ${PROJECT_DIR}/comComponent/Actel/DirectCore/CoreAHBLite/4.0.100/rtl/
vlog/core/coreahblite_slavearbiter.v => COREAHBLITE_LIB )
XÁC ĐỊNH LIB_MAP ( $LIB_MAP, ${PROJECT_DIR}/comComponent/Actel/DirectCore/CoreAHBLite/4.0.100/rtl/
vlog/core/coreahblite_slavestagev => COREAHBLITE_LIB )
XÁC ĐỊNH LIB_MAP ( $LIB_MAP, ${PROJECT_DIR}/comComponent/Actel/DirectCore/CoreAHBLite/4.0.100/rtl/
vlog/core/coreahblite_matrix2x16.v => COREAHBLITE_LIB )
XÁC ĐỊNH LIB_MAP ( $LIB_MAP, ${PROJECT_DIR}/comComponent/Actel/DirectCore/CoreAHBLite/4.0.100/rtl/
vlog/core/coreahblite.v => COREAHBLITE_LIB )
XÁC ĐỊNH LIB_MAP ( $LIB_MAP, ${PROJECT_DIR}/comComponent/work/SB/CCC_0/SB_CCC_0_FCCC.v =>
tiền tổng hợp )
XÁC ĐỊNH LIB_MAP ( $LIB_MAP, ${PROJECT_DIR}/thành phần/Actel/DirectCore/CoreConfigMaster/
2.0.101/rtl/vlog/core/coreconfigmaster.v => presynth )
XÁC ĐỊNH LIB_MAP ( $LIB_MAP, ${PROJECT_DIR}/comComponent/Actel/DirectCore/CoreConfigP/4.0.100/rtl/
vlog/core/coreconfigp.v => presynth )
XÁC ĐỊNH LIB_MAP ( $LIB_MAP, ${PROJECT_DIR}/comComponent/Actel/DirectCore/CoreResetP/5.0.103/rtl/
vlog/core/coreresetp_pcie_hotreset.v => presynth )
XÁC ĐỊNH LIB_MAP ( $LIB_MAP, ${PROJECT_DIR}/comComponent/Actel/DirectCore/CoreResetP/5.0.103/rtl/
vlog/core/coreresetp.v => presynth )
XÁC ĐỊNH LIB_MAP ( $LIB_MAP, ${PROJECT_DIR}/comComponent/work/SB/FABOSC_0/SB_FABOSC_0_OSC.v =>
tiền tổng hợp )
XÁC ĐỊNH LIB_MAP ( $LIB_MAP, ${PROJECT_DIR}/comComponent/work/SB_HPMS/SB_HPMS.v => presynth )
XÁC ĐỊNH LIB_MAP ( $LIB_MAP, ${PROJECT_DIR}/comComponent/work/SB/SB.v => presynth )
XÁC ĐỊNH LIB_MAP ( $LIB_MAP, ${PROJECT_DIR}/comComponent/work/SB_top/SERDES_IF_0/
SB_top_SERDES_IF_0_SERDES_IF.v => trước )
XÁC ĐỊNH LIB_MAP ( $LIB_MAP, ${PROJECT_DIR}/comComponent/work/SB_top/SB_top.v => presynth )
XÁC ĐỊNH LIB_MAP ( $LIB_MAP, ${PROJECT_DIR}/comComponent/work/SB_top/testbench.v => presynth )
XÁC ĐỊNH LIB_MAP ( $LIB_MAP, + => presynth )
Lệnh.csh
ncvlog +incdir+../../comComponent/work/SB_top -cdslib ./cds.lib -hdlvar ./hdl.var -logfile
ncvlog.log -errormax 15 -update -linedebug
../../comComponent/Actel/DirectCore/CoreAHBLite/4.0.100/rtl/vlog/core/coreahblite_addrdec.v
../../comComponent/Actel/DirectCore/CoreAHBLite/4.0.100/rtl/vlog/core/
coreahblite_defaultslavesm.v
../../comComponent/Actel/DirectCore/CoreAHBLite/4.0.100/rtl/vlog/core/coreahblite_masterstagtuổi
../../comComponent/Actel/DirectCore/CoreAHBLite/4.0.100/rtl/vlog/core/coreahblite_slavearbiter.v
../../comComponent/Actel/DirectCore/CoreAHBLite/4.0.100/rtl/vlog/core/coreahblite_slavestagtuổi
../../comComponent/Actel/DirectCore/CoreAHBLite/4.0.100/rtl/vlog/core/coreahblite_matrix2x16.v
../../comComponent/Actel/DirectCore/CoreAHBLite/4.0.100/rtl/vlog/core/coreahblite.v
../../comComponent/work/SB/CCC_0/SB_CCC_0_FCCC.v
../../comComponent/Actel/DirectCore/CoreConfigMaster/2.0.101/rtl/vlog/core/coreconfigmaster.v
../../comComponent/Actel/DirectCore/CoreConfigP/4.0.100/rtl/vlog/core/coreconfigp.v
../../comComponent/Actel/DirectCore/CoreResetP/5.0.103/rtl/vlog/core/coreresetp_pcie_hotreset.v
../../comComponent/Actel/DirectCore/CoreResetP/5.0.103/rtl/vlog/core/coreresetp.v
../../comComponent/work/SB/FABOSC_0/SB_FABOSC_0_OSC.v ../../comComponent/work/SB_HPMS/SB_HPMS.v
../../comComponent/work/SB/SB.v ../../comComponent/work/SB_top/SERDES_IF_0/
SB_top_SERDES_IF_0_SERDES_IF.v
../../comComponent/work/SB_top/SB_top.v ../../comComponent/work/SB_top/testbench.v
ncelab -Message -cdslib ./cds.lib -hdlvar ./hdl.var
-work presynth -logfile ncelab.log -errormax 15 -access +rwc -status presynth.testbench:module
ncsim -Message -batch -cdslib ./cds.lib -hdlvar ./
hdl.var -logfile ncsim.log -errormax 15 -status presynth.testbench:module

4.5 Tự động hóa (Đăng nhập vi mạch)
Tập lệnh sau file chuyển đổi ModelSim run.do files vào cấu hình fileCần thiết để chạy mô phỏng bằng Xcelium.
Kịch bản File Cách sử dụng
Perl cadence_parser.pl presynth_run.do postynth_run.do
postlayout_run.do Microsemi_Family
Location_of_Cadence_Precompiled_libraries
Cadence_parser.pl
#!/usr/bin/perl -w

###################################################### ###############################################
##################
#Cách sử dụng: Perl Questa_parser.pl presynth_run.do postynth_run.do postlayout_run.do
Microsemi_Family được biên dịch trước_Libraries_location#

###################################################### ###############################################
##################
sử dụng POSIX;
Sử dụng nghiêm ngặt;
của tôi ($presynth, $postsynth, $postlayout, $family, $lib_location) = @ARGV;
&questa_parser($presynth, $family, $lib_location);
&questa_parser($postsynth, $family, $lib_location);

&questa_parser($postlayout, $family, $lib_location);
nhiệm vụ phụ_parser {
$ModelSim_run_do = $_[0] của tôi;
$actel_family của tôi = $_[1];
$lib_location của tôi = $_[2];
trạng thái $ của tôi;
nếu ( -e “$ModelSim_run_do” )
{
mở raFILE,”$ModelSim_run_do”);
@ModelSim_run_do = <IN của tôiFILE>;
dòng $ của tôi;
nếu ( $ModelSim_run_do =~ m/(presynth)/)
{
`mkdir QUESTA_PRESYNTH`;
mở raFILE,”>QUESTA_PRESYNTH/presynth_questa.do”);
$state = $1;
} elsif ( $ModelSim_run_do =~ m/(postsynth)/)
{
`mkdir QUESTA_POSTSYNTH`;
mở raFILE,”>QUESTA_POSTSYNTH/postsynth_questa.do”);
$state = $1;
} elsif ( $ModelSim_run_do =~ m/(postlayout)/ )
{
`mkdir QUESTA_POSTLAYOUT`;
mở raFILE,”>QUESTA_POSTLAYOUT/postlayout_questa.do”);
$state = $1;
} khác
{
in “Nhập sai vào file\N";
print “#Usage: Perl Questa_parser.pl presynth_run.do postynth_run.do postlayout_run.do
\”Thư viện_location\”\n”;
}
foreach $line (@ModelSim_run_do)
{
#Hoạt động chung
$line =~ s/..\/designer.*simulation\///g;
$line =~ s/$state/$state\_questa/g;
#in raFILE “$line \n”;
if ($line =~ m/vmap\s+.*($actel_family)/)
{
in raFILE “vmap $actel_family \”$lib_location\”\n”;
} elsif ($line =~ m/vmap\s+(.*._LIB)/)
{
$line =~ s/..\/thành phần/..\/..\/thành phần/g;
in raFILE “$line \n”;
} elsif ($line =~ m/vsim/)
{
$line =~ s/vsim/vsim -novopt/g;
in raFILE “$line \n”;
} khác
{
in raFILE “$line \n”;
}
}
đóng(INFILE);
đóng (OUTFILE);
} khác {
print “$ModelSim_run_do không tồn tại. Chạy lại mô phỏng \n”;
}
}

Thiết lập QuestaSim của Siemens/Thiết lập ModelSim (Đặt câu hỏi)

Cuộc chạy.do files, do Libero SoC tạo ra để mô phỏng bằng ModelSim Microsemi Editions, có thể được sử dụng để mô phỏng bằng QuestaSim/ModelSim SE/DE/PE chỉ với một thay đổi duy nhất. Trong ModelSim ME/ModelSim Pro ME run.do file, vị trí thư viện được biên dịch trước cần được sửa đổi.
Phần mềm thư viện mô phỏng MICROCHIP Libero SoC - biểu tượng Quan trọng: 
Theo mặc định, công cụ mô phỏng không phải ModelSim Pro ME thực hiện tối ưu hóa thiết kế trong quá trình mô phỏng có thể tác động đến khả năng hiển thị của các tạo phẩm mô phỏng chẳng hạn như đối tượng thiết kế và kích thích đầu vào.
Điều này thường hữu ích trong việc giảm thời gian chạy mô phỏng cho các mô phỏng phức tạp bằng cách sử dụng các thử nghiệm dài dòng, tự kiểm tra. Tuy nhiên, các tối ưu hóa mặc định có thể không phù hợp với tất cả các mô phỏng, đặc biệt trong trường hợp bạn muốn kiểm tra đồ họa các kết quả mô phỏng bằng cửa sổ sóng.
Để giải quyết các vấn đề do tối ưu hóa này gây ra, bạn phải thêm các lệnh thích hợp và các đối số liên quan trong quá trình mô phỏng để khôi phục khả năng hiển thị trong thiết kế. Để biết các lệnh dành riêng cho công cụ, hãy xem tài liệu về trình mô phỏng đang được sử dụng.

5.1 Biến môi trường (Đặt câu hỏi)
Sau đây là các biến môi trường cần thiết.

  • LM_LICENSE_FILE: phải bao gồm đường dẫn đến giấy phép file.
  • MODEL_TECH: phải xác định đường dẫn đến vị trí thư mục chính của bản cài đặt QuestaSim.
  • PATH: phải trỏ đến vị trí thực thi được chỉ ra bởi MODEL_TECH.

5.2 Chuyển đổi run.do cho Mentor QuestaSim (Đặt câu hỏi)
Cuộc chạy.do fileCác phiên bản do Libero SoC tạo ra để mô phỏng bằng ModelSim Microsemi Editions có thể được sử dụng để mô phỏng bằng QuestaSim/ModelSim_SE chỉ với một thay đổi duy nhất.
Phần mềm thư viện mô phỏng MICROCHIP Libero SoC - biểu tượng Quan trọng: Tất cả các thiết kế được mô phỏng bằng QuestaSim phải bao gồm -novopt
tùy chọn cùng với lệnh vsim trong tập lệnh run.do files.
5.3 Tải xuống Thư viện đã biên dịch (Đặt câu hỏi)
Tải xuống thư viện cho Mentor Graphics QuestaSim từ Microsemi's webđịa điểm.

Tóm tắt thiết lập VCS (Đặt câu hỏi)

Luồng được Microsemi đề xuất dựa trên luồng Xây dựng và Biên dịch trong VCS. Tài liệu này bao gồm một kịch bản file sử dụng tập lệnh run.do files được tạo bởi Libero SoC và tạo thiết lập filecần thiết cho mô phỏng VCS. Kịch bản file sử dụng run.do file để làm như sau.

  • Tạo bản đồ thư viện file, được thực hiện bằng cách sử dụng synopsys_sim.setup file nằm trong cùng thư mục nơi mô phỏng VCS đang chạy.
  • Tạo một kịch bản shell file để xây dựng và biên dịch thiết kế của bạn bằng cách sử dụng VCS.

6.1 Biến môi trường (Đặt câu hỏi)
Đặt các biến môi trường thích hợp cho VCS dựa trên thiết lập của bạn. Các biến môi trường cần thiết theo tài liệu VCS là:

  • LM_LICENSE_FILE: phải bao gồm một con trỏ tới máy chủ cấp phép.
  • VCS_HOME: phải trỏ đến thư mục gốc của bản cài đặt VCS.
  • PATH: phải bao gồm một con trỏ tới thư mục bin bên dưới thư mục VCS_HOME.

6.2 Tải xuống Thư viện đã biên dịch (Đặt câu hỏi)
Tải xuống thư viện cho Synopsys VCS từ Microsemi's webđịa điểm.
6.3 Kịch bản mô phỏng VCS File (Đặt câu hỏi)
Sau khi thiết lập VCS và tạo thiết kế cũng như run.do khác nhau files từ Libero SoC, bạn phải:

  1. Tạo ánh xạ thư viện file synopsys_sim.setup; cái này file chứa các con trỏ tới vị trí của tất cả các thư viện sẽ được thiết kế sử dụng.
    Phần mềm thư viện mô phỏng MICROCHIP Libero SoC - biểu tượng  Quan trọng: file Tên không được thay đổi và nó phải nằm trong cùng thư mục nơi mô phỏng đang chạy. Đây là một cựuampvì điều đó file cho mô phỏng tiền tổng hợp.
    CÔNG VIỆC > LỖI
    SmartFusion2 :
    presynth : ./presynth
    MẶC ĐỊNH: ./work
  2. Xây dựng thiết kế khác nhau files, bao gồm cả testbench, sử dụng lệnh vlogan trong VCS. Các lệnh này có thể được bao gồm trong tập lệnh shell file. Theo sau là người yêu cũamptập tin các lệnh cần thiết để xây dựng một thiết kế được xác định trong rtl.v với testbench của nó được xác định trong
    testbench.v.
    vlogan +v2k -work presynth rtl.v
    vlogan +v2k -work presynth testbench.v
  3. Biên dịch thiết kế bằng VCS bằng lệnh sau.
    vcs –sim_res=1fs presynth.testbench
    Lưu ý: Các độ phân giải thời gian của mô phỏng phải được đặt thành 1fs để mô phỏng chức năng chính xác.
  4. Sau khi thiết kế được biên dịch, hãy bắt đầu mô phỏng bằng lệnh sau.
    ./simv
  5. Đối với mô phỏng được chú thích ngược, lệnh VCS phải như được hiển thị trong khối mã sau.
    vcs postlayout.testbench –sim_res=1fs –sdf max:.<DUT instance
    tên>: file đường dẫn> –gui –l postlayout.log

6.4 Hạn chế/Ngoại lệ (Đặt câu hỏi)
Sau đây là những hạn chế/ngoại lệ của việc thiết lập Synopsys VCS.

  • Mô phỏng VCS chỉ có thể chạy cho các dự án Verilog của Libero SoC. Trình mô phỏng VCS có các yêu cầu nghiêm ngặt về ngôn ngữ VHDL mà VHDL được tạo tự động của Libero SoC không đáp ứng được files.
  • Bạn phải có câu lệnh $finish trong bảng kiểm tra Verilog để dừng mô phỏng bất cứ khi nào bạn muốn.
    Phần mềm thư viện mô phỏng MICROCHIP Libero SoC - biểu tượng Quan trọng: Khi nào mô phỏng được chạy ở chế độ GUI, thời gian chạy có thể được chỉ định trong GUI.

6.5 giâyamptập lệnh Tcl và Shell Filelà (Đặt câu hỏi)
Perl sau đây tự động hóa việc tạo synopsys_sim.setup file cũng như tập lệnh shell tương ứng filecần thiết để xây dựng, biên dịch và mô phỏng thiết kế.
Nếu thiết kế sử dụng MSS, hãy sao chép test.vec file nằm trong thư mục mô phỏng của dự án Libero SoC vào thư mục mô phỏng VCS. Các phần sau đây chứa sample run.do files được tạo bởi Libero SoC, bao gồm tập lệnh shell và ánh xạ thư viện tương ứng filecần thiết cho mô phỏng VCS.
6.5.1 Tiền tổng hợp (Đặt câu hỏi)
Presynth_run.do
lặng lẽ thiết lập ACTELLIBNAME SmartFusion2
lặng lẽ đặt PROJECT_DIR “/sqa/users/me/VCS_Tests/Test_DFF”
nếu như {[file tồn tại presynth/_info]} {
echo “THÔNG TIN: Thư viện mô phỏng presynth đã tồn tại”
} khác {
vlib presynth
}
vmap presynth presynth
vmap SmartFusion2 “/captures/lin/11_0_0_23_11prod/lib/ModelSim/precompiled/vlog/smartfusion2”
vlog -work presynth “${PROJECT_DIR}/comComponent/work/SD1/SD1.v”
vlog “+incdir+${PROJECT_DIR}/stimulus” -work presynth “${PROJECT_DIR}/stimulus/SD1_TB1.v”
vsim -L SmartFusion2 -L presynth -t 1fs presynth.SD1_TB1
thêm sóng /SD1_TB1/*
thêm nhật ký -r /*
chạy 1000ns
presynth_main.csh
#!/bin/csh -f
đặt PROJECT_DIR = “/sqa/users/Me/VCS_Tests/Test_DFF”
/cad_design/tools/vcs.dir/E-2011.03/bin/vlogan +v2k -work presynth “${PROJECT_DIR}/comComponent/
công việc/SD1/SD1.v”
/cad_design/tools/vcs.dir/E-2011.03/bin/vlogan +v2k “+incdir+${PROJECT_DIR}/stimulus” -work
trước “${PROJECT_DIR}/stimulus/SD1_TB1.v”
/cad_design/tools/vcs.dir/E-2011.03/bin/vcs -sim_res=1fs presynth.SD1_TB1 -l biên dịch.log
./simv -l run.log
Synopsys_sim.setup
CÔNG VIỆC > MẶC ĐỊNH
SmartFusion2 : /VCS/SmartFusion2
presynth : ./presynth
MẶC ĐỊNH: ./work

6.5.2 Sau tổng hợp (Đặt câu hỏi)
postynth_run.do
lặng lẽ thiết lập ACTELLIBNAME SmartFusion2
lặng lẽ đặt PROJECT_DIR “/sqa/users/Me/VCS_Tests/Test_DFF”
nếu như {[file tồn tại postynth/_info]} {
echo “THÔNG TIN: Thư viện mô phỏng postynth đã tồn tại”
} khác {
vlib postsynth
}
vmap postsynth postsynth
vmap SmartFusion2 “//idm/captures/pc/11_0_1_12_g4x/Designer/lib/ModelSim/precompiled/vlog/
SmartFusion2”
vlog -work postynth “${PROJECT_DIR}/synthesis/SD1.v”
vlog “+incdir+${PROJECT_DIR}/stimulus” -work postsynth “${PROJECT_DIR}/stimulus/SD1_TB1.v”
vsim -L SmartFusion2 -L postynth -t 1fs postynth.SD1_TB1
thêm sóng /SD1_TB1/*
thêm nhật ký -r /*
chạy 1000ns
nhật ký SD1_TB1/*
ra
Bài viếtynth_main.csh
#!/bin/csh -f
đặt PROJECT_DIR = “/sqa/users/Me/VCS_Tests/Test_DFF”
/cad_design/tools/vcs.dir/E-2011.03/bin/vlogan +v2k -work postynth “${PROJECT_DIR}/synthesis/
SD1.v”
/cad_design/tools/vcs.dir/E-2011.03/bin/vlogan +v2k “+incdir+${PROJECT_DIR}/stimulus” -work
bài đăng tổng hợp “${PROJECT_DIR}/stimulus/SD1_TB1.v”
/cad_design/tools/vcs.dir/E-2011.03/bin/vcs -sim_res=1fs postynth.SD1_TB1 -l biên dịch.log
./simv -l run.log
Synopsys_sim.setup
CÔNG VIỆC > MẶC ĐỊNH
SmartFusion2 : /VCS/SmartFusion2
postsynth : ./postsynth
MẶC ĐỊNH: ./work
6.5.3 Bố cục sau (Đặt câu hỏi)
postlayout_run.do
lặng lẽ thiết lập ACTELLIBNAME SmartFusion2
lặng lẽ đặt PROJECT_DIR “E:/ModelSim_Work/Test_DFF”
nếu như {[file tồn tại ../designer/SD1/simulation/postlayout/_info]} {
echo “THÔNG TIN: Thư viện mô phỏng ../designer/SD1/simulation/postlayout đã tồn tại”
} khác {
vlib ../designer/SD1/simulation/postlayout
}
vmap postlayout ../designer/SD1/simulation/postlayout
vmap SmartFusion2 “//idm/captures/pc/11_0_1_12_g4x/Designer/lib/ModelSim/precompiled/vlog/
SmartFusion2”
vlog -work postlayout “${PROJECT_DIR}/designer/SD1/SD1_ba.v”
vlog “+incdir+${PROJECT_DIR}/kích thích” -bố cục hậu kỳ công việc “${PROJECT_DIR}/stimulus/SD1_TB1.v”
vsim -L SmartFusion2 -L postlayout -t 1fs -sdfmax /SD1_0=${PROJECT_DIR}/designer/SD1/
Bố cục hậu kỳ SD1_ba.sdf.SD1_TB1
thêm sóng /SD1_TB1/*
thêm nhật ký -r /*
chạy 1000ns
Postlayout_main.csh
#!/bin/csh -f
đặt PROJECT_DIR = “/VCS_Tests/Test_DFF”
/cad_design/tools/vcs.dir/E-2011.03/bin/vlogan +v2k -bố trí hậu kỳ công việc “${PROJECT_DIR}/
nhà thiết kế/SD1/SD1_ba.v”
/cad_design/tools/vcs.dir/E-2011.03/bin/vlogan +v2k “+incdir+${PROJECT_DIR}/stimulus” -work
bố cục hậu kỳ “${PROJECT_DIR}/stimulus/SD1_TB1.v”
/cad_design/tools/vcs.dir/E-2011.03/bin/vcs -sim_res=1fs postlayout.SD1_TB1 -sdf

max:SD1_TB1.SD1_0:${PROJECT_DIR}/designer/SD1/SD1_ba.sdf -l compile.log
./simv -l run.log
Synopsys_sim.setup
CÔNG VIỆC > MẶC ĐỊNH
SmartFusion2 : /VCS/SmartFusion2
bố cục sau: ./postlayout
MẶC ĐỊNH: ./workVCS
6.6 Tự động hóa (Đặt câu hỏi)
Luồng có thể được tự động hóa bằng cách sử dụng tập lệnh Perl sau file để chuyển đổi ModelSim run.do files vào tập lệnh shell tương thích với VCS files, tạo các thư mục thích hợp bên trong thư mục mô phỏng Libero SoC, sau đó chạy mô phỏng.
Chạy tập lệnh file sử dụng cú pháp sau.
Perl vcs_parse.pl presynth_run.do postynth_run.do postlayout_run.do
Vcs_parse_pl
#!/usr/bin/perl -w
###################################################### ##############################
#
#Cách sử dụng: Perl vcs_parse.pl presynth_run.do postynth_run.do postlayout_run.do
#
###################################################### ###############################
của tôi ($presynth, $postsynth, $postlayout) = @ARGV;
if(system(“mkdir VCS_Presynth”)) {print “mkdir failed:\n”;}
if(system(“mkdir VCS_Postsynth”)) {print “mkdir failed:\n”;}
if(system(“mkdir VCS_Postlayout”)) {print “mkdir failed:\n”;}
chdir(VCS_Presynth);
`cp ../$ARGV[0] .` ;
&parse_do($presynth,”presynth”);
chdir (“../”);
chdir(VCS_Postsynth);
`cp ../$ARGV[1] .` ;
&parse_do($postsynth,”postsynth”);
chdir (“../”);
chdir(VCS_Postlayout);
`cp ../$ARGV[2] .` ;
&parse_do($postlayout,”postlayout”);
chdir (“../”);
phân tích phụ_do {
$vlog của tôi = “/cad_design/tools/vcs.dir/E-2011.03/bin/vlogan +v2k” ;
%LIB của tôi = ();
$ của tôifile = $_[0] ;
$state của tôi = $_[1];
mở raFILE”$file”) || chết “Không thể mở được File Lý do có thể là:$!”;
nếu ($ state eq “presynth”)
{
open(OUT1,”>presynth_main.csh”) || die “Không thể tạo Lệnh File Lý do có thể là:$!”;
}
elsif ($ state eq “postsynth”)
{
open(OUT1,”>postsynth_main.csh”) || die “Không thể tạo lệnh File Lý do có thể là:$!”;
}
elsif ($ state eq “postlayout”)
{
open(OUT1,”>postlayout_main.csh”) || die “Không thể tạo Lệnh File Lý do có thể là:$!”;
}
khác
{
print “Thiếu trạng thái mô phỏng \n” ;
}
open(OUT2,”>synopsys_sim.setup”) || die “Không thể tạo lệnh File Lý do có thể là:$!”;
# .csh file
in OUT1 “#!/bin/csh -f\n\n\n” ;
#CÀI ĐẶT FILE
in OUT2 “CÔNG VIỆC > MẶC ĐỊNH\n” ;
in OUT2 “SmartFusion2 : /sqa/users/Aditya/VCS/SmartFusion2\n” ;
trong khi ($line =FILE>)
{

Tóm tắt thiết lập VCS

if ($line =~ m/đặt lặng lẽ PROJECT_DIR\s+\”(.*?)\”/)
{
in OUT1 “đặt PROJECT_DIR = \”$1\”\n\n\n” ;
}
elsif ( $line =~ m/vlog.*\.v\”/ )
{
nếu ($dòng =~ m/\s+(\w*?)\_LIB/)
{
#print “\$1 =$1 \n” ;
$temp = “$1″.”_LIB”;
#print “Nhiệt độ = $temp \n” ;
$LIB{$temp}++;
}
chomp($dòng);
$line =~ s/^vlog/$vlog/ ;
$line =~ s/ //g;
in OUT1 “$line\n”;
}
elsif ( ($line =~ m/vsim.*presynth\.(.*)/) || ($line =~ m/vsim.*postsynth\.(.*)/) || ($line
=~ m/vsim.*postlayout\.(.*)/) )
{
$tb = $1 ;
$tb =~ s/ //g;
chomp($tb);
#print “Tên TB : $tb \n”;
nếu ( $line =~ m/sdf(.*)\.sdf/)
{
chomp($dòng);
$line = $1 ;
#print “LINE : $line \n” ;
nếu ($dòng =~ m/max/)
{
$line =~ s/max \/// ;
$line =~ s/=/:/;
in OUT1 “\n\n/cad_design/tools/vcs.dir/E-2011.03/bin/vcs -sim_res=1fs postlayout.$tb -sdf
max:$tb.$line.sdf -l biên dịch.log\n” ;
}
elsif ($dòng =~ m/phút/)
{
$line =~ s/phút \/// ;
$line =~ s/=/:/;
in OUT1 “\n\n/cad_design/tools/vcs.dir/E-2011.03/bin/vcs -sim_res=1fs postlayout.$tb -sdf
min:$tb.$line.sdf -l biên dịch.log\n” ;
}
elsif ($dòng =~ m/typ/)
{
$line =~ s/typ \/// ;
$line =~ s/=/:/;
in OUT1 “\n\n/cad_design/tools/vcs.dir/E-2011.03/bin/vcs -sim_res=1fs postlayout.$tb -sdf
typ:$tb.$line.sdf -l biên dịch.log\n” ;
}
#-sdfmax /M3_FIC32_0=${PROJECT_DIR}/designer/M3_FIC32/M3_FIC32_ba.sdf — Định dạng ModelSim SDF
#$sdf = “-sdf max:testbench.M3_FIC32_0:${PROJECT_DIR}/designer/M3_FIC32/M3_FIC32_ba.sdf”; -VCS
định dạng SDF
}
}
}
in
NGOÀI1 “\n\n”
;
if
( $state eq “presynth”
)
{
in
OUT2 “tiền tổng hợp
: ./presynth\n”
;
in
OUT1 “/cad_design/tools/vcs.dir/E-2011.03/bin/vcs
-sim_res=1fs presynth.$tb -l
biên dịch.log\n”
;
}
nếu không
( $state eq “postsynth”
)
{
in
OUT2 “hậu tổng hợp
: ./postsynth\n”
;
in
OUT1 “/cad_design/tools/vcs.dir/E-2011.03/bin/vcs
-sim_res=1fs postynth.$tb -l
biên dịch.log\n”
;
}
nếu không
( $state eq “hậu kỳ”
)
{
in OUT2 “postlayout : ./postlayout\n” ;
}
khác
{
print “Thiếu trạng thái mô phỏng \n” ;
}
foreach $i (khóa %LIB)
{
#print “Khóa : $i Giá trị : $LIB{$i} \n” ;
in OUT2 “$i : ./$i\n” ;
}
in OUT1 “\n\n” ;
in OUT1 “./simv -l run.log\n” ;
in OUT2 “MẶC ĐỊNH : ./work\n” ;
đóng VÀOFILE;
đóng OUT1;
đóng OUT2;
}

Lịch sử sửa đổi (Đăng nhập vi mạch

Lịch sử sửa đổi mô tả những thay đổi đã được thực hiện trong tài liệu. Những thay đổi
được liệt kê theo bản sửa đổi, bắt đầu với ấn phẩm mới nhất.

Ôn tập Ngày Sự miêu tả
A 12/2023 Những thay đổi sau đây được thực hiện trong phiên bản này:
• Tài liệu được chuyển đổi sang mẫu Microchip. Sửa đổi ban đầu.
• Đã cập nhật phần 5. Thiết lập QuestaSim/Thiết lập ModelSim của Siemens để bao gồm ghi chú mới giải thích tác động đến khả năng hiển thị trong quá trình mô phỏng và tối ưu hóa.

Hỗ trợ FPGA vi mạch
Nhóm sản phẩm Microchip FPGA hỗ trợ các sản phẩm của mình bằng các dịch vụ hỗ trợ khác nhau, bao gồm Dịch vụ khách hàng, Trung tâm hỗ trợ kỹ thuật khách hàng, webtrang web, và các văn phòng bán hàng trên toàn thế giới.
Khách hàng nên truy cập các nguồn tài nguyên trực tuyến của Microchip trước khi liên hệ với bộ phận hỗ trợ vì rất có thể các thắc mắc của họ đã được giải đáp.
Liên hệ với Trung tâm hỗ trợ kỹ thuật thông qua webtrang web tại www.microchip.com/support. Đề cập đến số Bộ phận thiết bị FPGA, chọn danh mục trường hợp thích hợp và tải lên thiết kế files trong khi tạo một trường hợp hỗ trợ kỹ thuật.
Liên hệ với bộ phận Dịch vụ khách hàng để được hỗ trợ sản phẩm không liên quan đến kỹ thuật, chẳng hạn như định giá sản phẩm, nâng cấp sản phẩm, cập nhật thông tin, trạng thái đơn đặt hàng và ủy quyền.

  • Từ Bắc Mỹ, gọi 800.262.1060
  • Từ phần còn lại của thế giới, hãy gọi 650.318.4460
  • Fax, từ bất cứ nơi nào trên thế giới, 650.318.8044

Thông tin vi mạch
Vi mạch Webđịa điểm
Microchip cung cấp hỗ trợ trực tuyến thông qua webtrang web tại www.microchip.com/. Cái này webtrang web được sử dụng để làm files và thông tin dễ dàng có sẵn cho khách hàng. Một số nội dung có sẵn bao gồm:

  • Hỗ trợ Sản phẩm – Bảng dữ liệu và lỗi in, ghi chú ứng dụng và sampchương trình, tài nguyên thiết kế, hướng dẫn sử dụng và tài liệu hỗ trợ phần cứng, bản phát hành phần mềm mới nhất và phần mềm lưu trữ
  • Hỗ trợ kỹ thuật chung – Câu hỏi thường gặp (FAQ), yêu cầu hỗ trợ kỹ thuật, nhóm thảo luận trực tuyến, danh sách thành viên chương trình đối tác thiết kế Microchip
  • Kinh doanh của Microchip - Công cụ chọn sản phẩm và hướng dẫn đặt hàng, thông cáo báo chí mới nhất của Microchip, danh sách các hội thảo và sự kiện, danh sách các văn phòng kinh doanh, nhà phân phối và đại diện nhà máy của Microchip

Dịch vụ thông báo thay đổi sản phẩm
Dịch vụ thông báo thay đổi sản phẩm của Microchip giúp khách hàng cập nhật sản phẩm của Microchip. Người đăng ký sẽ nhận được thông báo qua email bất cứ khi nào có thay đổi, cập nhật, sửa đổi hoặc lỗi liên quan đến một họ sản phẩm cụ thể hoặc công cụ phát triển quan tâm.
Để đăng ký, hãy truy cập www.microchip.com/pcn và làm theo hướng dẫn đăng ký.
Hỗ trợ khách hàng
Người dùng sản phẩm Microchip có thể nhận được hỗ trợ thông qua một số kênh:

  • Nhà phân phối hoặc đại diện
  • Văn phòng bán hàng địa phương
  • Kỹ sư giải pháp nhúng (ESE)
  • Hỗ trợ kỹ thuật

Khách hàng nên liên hệ với nhà phân phối, đại diện hoặc ESE để được hỗ trợ. Các văn phòng bán hàng địa phương cũng sẵn sàng hỗ trợ khách hàng. Tài liệu này có liệt kê các văn phòng bán hàng và địa điểm.
Hỗ trợ kỹ thuật có sẵn thông qua webtrang web tại: www.microchip.com/support
Tính năng bảo vệ mã thiết bị vi mạch
Lưu ý các chi tiết sau đây về tính năng bảo vệ mã trên các sản phẩm của Microchip:

  • Các sản phẩm Microchip đáp ứng các thông số kỹ thuật có trong Bảng dữ liệu Microchip cụ thể của sản phẩm đó.
  • Microchip tin rằng dòng sản phẩm của mình an toàn khi sử dụng đúng mục đích, trong thông số kỹ thuật vận hành và trong điều kiện bình thường.
  • Microchip coi trọng và tích cực bảo vệ quyền sở hữu trí tuệ của mình. Việc cố gắng vi phạm các tính năng bảo vệ mã của sản phẩm Microchip bị nghiêm cấm và có thể vi phạm Đạo luật Bản quyền Thiên niên kỷ Kỹ thuật số.
  • Cả Microchip lẫn bất kỳ nhà sản xuất chất bán dẫn nào khác đều không thể đảm bảo tính bảo mật cho mã của mình. Bảo vệ mã không có nghĩa là chúng tôi đảm bảo sản phẩm là “không thể phá vỡ”.
    bảo vệ đang không ngừng phát triển. Microchip cam kết liên tục cải tiến các tính năng bảo vệ mã của sản phẩm.

Thông báo pháp lý
Ấn phẩm này và thông tin ở đây chỉ có thể được sử dụng với các sản phẩm Vi mạch, bao gồm cả để thiết kế, kiểm tra và tích hợp các sản phẩm Vi mạch với ứng dụng của bạn. Sử dụng thông tin này theo bất kỳ cách nào khác vi phạm các điều khoản này. Thông tin liên quan đến các ứng dụng thiết bị chỉ được cung cấp để thuận tiện cho bạn và có thể được thay thế bằng các bản cập nhật. Bạn có trách nhiệm đảm bảo rằng ứng dụng của bạn đáp ứng các thông số kỹ thuật của bạn. Liên hệ với văn phòng kinh doanh Microchip tại địa phương của bạn để được hỗ trợ thêm hoặc nhận hỗ trợ bổ sung tại www.microchip.com/en-us/support/design-help/client-support-services.
THÔNG TIN NÀY ĐƯỢC MICROCHIP CUNG CẤP “NGUYÊN TRẠNG”. MICROCHIP KHÔNG ĐẠI DIỆN HOẶC BẢO ĐẢM NÀO, DÙ RÕ RÀNG HAY NGỤ Ý, BẰNG VĂN BẢN HOẶC MIỆNG, THEO LUẬT ĐỊNH HOẶC CÁCH KHÁC, LIÊN QUAN ĐẾN THÔNG TIN BAO GỒM NHƯNG KHÔNG GIỚI HẠN Ở BẤT KỲ BẢO ĐẢM NGỤ Ý NÀO VỀ VIỆC KHÔNG VI PHẠM, KHẢ NĂNG THƯƠNG MẠI VÀ SỰ PHÙ HỢP CHO MỘT MỤC ĐÍCH CỤ THỂ, HOẶC BẢO ĐẢM LIÊN QUAN ĐẾN TÌNH TRẠNG, CHẤT LƯỢNG HOẶC HIỆU SUẤT CỦA THÔNG TIN.
TRONG MỌI TRƯỜNG HỢP, MICROCHIP SẼ KHÔNG CHỊU TRÁCH NHIỆM ĐỐI VỚI BẤT KỲ MẤT MÁT, THIỆT HẠI, CHI PHÍ HOẶC PHÍ PHẠT GIÁN TIẾP, ĐẶC BIỆT, TRỪNG PHẠT, NGẪU NHIÊN HOẶC HẬU QUẢ NÀO LIÊN QUAN ĐẾN THÔNG TIN HOẶC VIỆC SỬ DỤNG THÔNG TIN, DÙ DO NGUYÊN NHÂN NÀO, NGAY CẢ KHI MICROCHIP ĐÃ ĐƯỢC THÔNG BÁO VỀ KHẢ NĂNG HOẶC THIỆT HẠI CÓ THỂ THẤY TRƯỚC. Ở MỨC ĐẦY ĐỦ NHẤT ĐƯỢC LUẬT PHÁP CHO PHÉP, TỔNG TRÁCH NHIỆM PHÁP LÝ CỦA MICROCHIP ĐỐI VỚI TẤT CẢ CÁC KHIẾU NẠI BẤT KỲ CÁCH NÀO LIÊN QUAN ĐẾN THÔNG TIN HOẶC VIỆC SỬ DỤNG THÔNG TIN SẼ KHÔNG VƯỢT QUÁ SỐ TIỀN PHÍ, NẾU CÓ, MÀ BẠN ĐÃ TRẢ TRỰC TIẾP CHO MICROCHIP ĐỂ CÓ THÔNG TIN.
Việc sử dụng các thiết bị Microchip trong các ứng dụng hỗ trợ sự sống và/hoặc an toàn hoàn toàn do người mua chịu rủi ro và người mua đồng ý bảo vệ, bồi thường và giữ cho Microchip vô hại khỏi mọi thiệt hại, khiếu nại, vụ kiện hoặc chi phí phát sinh từ việc sử dụng đó. Không có giấy phép nào được chuyển giao, ngầm định hoặc theo cách khác, theo bất kỳ quyền sở hữu trí tuệ nào của Microchip trừ khi có quy định khác.
Nhãn hiệu
Tên và logo Microchip, logo Microchip, Adaptec, AVR, logo AVR, AVR Freaks, BesTime, BitCloud, CryptoMemory, CryptoRF, dsPIC, flexPWR, HELDO, IGLOO, JukeBlox, KeeLoq, Kleer, LANCheck, LinkMD, maXStylus, maXTouch, MediaLB, megaAVR, Microsemi, logo Microsemi, MOST, MOST logo, MPLAB, OptoLyzer, PIC, picoPower, PICSTART, logo PIC32, PolarFire, Prochip Designer,   QTouch, SAM-BA, SenGenuity, SpyNIC, SST, SST Logo, SuperFlash, Symmetricom , SyncServer, Tachyon, TimeSource, tinyAVR, UNI/O, Vectron và XMEGA là các nhãn hiệu đã đăng ký của Microchip Technology Incorporated tại Hoa Kỳ và các quốc gia khác.
AgileSwitch, APT, ClockWorks, The Embedded Control Solutions Company, EtherSynch, Flashtec, Hyper Speed ​​Control, HyperLight Load, Libero, motorBench, mTouch, Powermite 3, Precision Edge, ProASIC, ProASIC Plus, ProASIC Plus logo, Quiet- Wire, SmartFusion, SyncWorld, Temux, TimeCesium, TimeHub, TimePictra, TimeProvider, TrueTime và ZL là các nhãn hiệu đã đăng ký của Microchip Technology Incorporated tại Hoa Kỳ
Loại bỏ khóa liền kề, AKS, Analog-for-the-Digital Age, Any Capacitor, AnyIn, AnyOut, Augmented Switching, BlueSky, BodyCom, Clockstudio, CodeGuard, CryptoAuthentication, CryptoAutomotive, CryptoCompanion, CryptoController, dsPICDEM, dsPICDEM.net, Dynamic Average Matching , DAM, ECAN, Espresso T1S, EtherGREEN, GridTime, IdealBridge, Lập trình nối tiếp trong mạch, ICSP, INICnet, Song song thông minh, IntelliMOS, Kết nối giữa các chip, JitterBlocker, Knob-on-Display, KoD, maxCrypto, maxView, memBrain, Mindi, MiWi, MPASM, MPF, logo được chứng nhận MPLAB, MPLIB, MPLINK, MultiTRAK, NetDetach, Tạo mã toàn tri, PICDEM, PICDEM.net,
PICkit, PICtail, PowerSmart, PureSilicon, QMatrix, REAL ICE, Ripple Blocker, RTAX, RTG4, SAMICE, Serial Quad I/O, simpleMAP, SimpliPHY, SmartBuffer, SmartHLS, SMART-IS, storClad, SQI, SuperSwitcher,
SuperSwitcher II, Switchtec, SynchroPHY, Độ bền tổng thể, Thời gian tin cậy, TSHARC, USBCheck, VariSense, VectorBlox, VeriPHY, ViewSpan, WiperLock, XpressConnect và ZENA là các nhãn hiệu của Microchip Technology Incorporated
ở Mỹ và các nước khác.
SQTP là nhãn hiệu dịch vụ của Microchip Technology Incorporated tại Hoa Kỳ
Biểu trưng Adaptec, Tần suất theo yêu cầu, Công nghệ lưu trữ Silicon và Symmcom là các nhãn hiệu đã đăng ký của Microchip Technology Inc. ở các quốc gia khác.
GestIC là nhãn hiệu đã đăng ký của Microchip Technology Germany II GmbH & Co. KG, một công ty con của Microchip Technology Inc., tại các quốc gia khác.
Mọi nhãn hiệu khác được đề cập ở đây đều là tài sản của các công ty tương ứng.
© 2023, Microchip Technology Incorporated và các công ty con của nó. Đã đăng ký Bản quyền.
ISBN: 978-1-6683-3694-6
Hệ thống quản lý chất lượng
Để biết thông tin về Hệ thống quản lý chất lượng của Microchip, vui lòng truy cập www.microchip.com/quality.

CHÂU MỸ CHÂU Á/THÁI BÌNH DƯƠNG CHÂU Á/THÁI BÌNH DƯƠNG CHÂU ÂU
Văn phòng công ty
2355 Tây Chandler Blvd.
Chandler, AZ 85224-6199
Điện thoại: 480-792-7200
Fax: 480-792-7277
Hỗ trợ kỹ thuật:
www.microchip.com/support
Web Địa chỉ:
www.microchip.com
Atlanta
Duluth, GA
Điện thoại: 678-957-9614
Fax: 678-957-1455
Austin, TX
Điện thoại: 512-257-3370
Boston
Westborough, MA
Điện thoại: 774-760-0087
Fax: 774-760-0088
Chicago
Itasca, IL
Điện thoại: 630-285-0071
Fax: 630-285-0075
Dallas
Addison, TX
Điện thoại: 972-818-7423
Fax: 972-818-2924
Detroit
Novi, MI
Điện thoại: 248-848-4000
Houston, TX
Điện thoại: 281-894-5983
Indianapolis
Noblesville, IN
Điện thoại: 317-773-8323
Fax: 317-773-5453
Điện thoại: 317-536-2380
Los Angeles
Sứ mệnh Viejo, CA
Điện thoại: 949-462-9523
Fax: 949-462-9608
Điện thoại: 951-273-7800
Raleigh, Bắc Carolina
Điện thoại: 919-844-7510
New York, New York
Điện thoại: 631-435-6000
San Jose, CA
Điện thoại: 408-735-9110
Điện thoại: 408-436-4270
Canada – Toronto
Điện thoại: 905-695-1980
Fax: 905-695-2078
Úc – Sydney
Điện thoại: 61-2-9868-6733
Trung Quốc – Bắc Kinh
Điện thoại: 86-10-8569-7000
Trung Quốc - Thành Đô
Điện thoại: 86-28-8665-5511
Trung Quốc – Trùng Khánh
Điện thoại: 86-23-8980-9588
Trung Quốc - Dongguan
Điện thoại: 86-769-8702-9880
Trung Quốc – Quảng Châu
Điện thoại: 86-20-8755-8029
Trung Quốc - Hàng Châu
Điện thoại: 86-571-8792-8115
Trung Quốc - Đặc khu hành chính Hồng Kông
Điện thoại: 852-2943-5100
Trung Quốc - Nam Kinh
Điện thoại: 86-25-8473-2460
Trung Quốc - Thanh Đảo
Điện thoại: 86-532-8502-7355
Trung Quốc – Thượng Hải
Điện thoại: 86-21-3326-8000
Trung Quốc - Thẩm Dương
Điện thoại: 86-24-2334-2829
Trung Quốc - Thâm Quyến
Điện thoại: 86-755-8864-2200
Trung Quốc - Tô Châu
Điện thoại: 86-186-6233-1526
Trung Quốc - Vũ Hán
Điện thoại: 86-27-5980-5300
Trung Quốc - Tây An
Điện thoại: 86-29-8833-7252
Trung Quốc - Hạ Môn
Điện thoại: 86-592-2388138
Trung Quốc - Chu Hải
Điện thoại: 86-756-3210040
Ấn Độ – Bangalore
Điện thoại: 91-80-3090-4444
Ấn Độ - New Delhi
Điện thoại: 91-11-4160-8631
Ấn Độ - Pune
Điện thoại: 91-20-4121-0141
Nhật Bản - Osaka
Điện thoại: 81-6-6152-7160
Nhật Bản – Tokyo
ĐT: 81-3-6880- 3770
Hàn Quốc - Daegu
Điện thoại: 82-53-744-4301
Hàn Quốc - Seoul
Điện thoại: 82-2-554-7200
Malaysia - Kuala Lumpur
Điện thoại: 60-3-7651-7906
Malaysia - Penang
Điện thoại: 60-4-227-8870
Philippines – Manila
Điện thoại: 63-2-634-9065
Singapore
Điện thoại: 65-6334-8870
Đài Loan - Hsin Chu
Điện thoại: 886-3-577-8366
Đài Loan - Cao Hùng
Điện thoại: 886-7-213-7830
Đài Loan - Đài Bắc
Điện thoại: 886-2-2508-8600
Thái Lan – Băng Cốc
Điện thoại: 66-2-694-1351
Việt Nam - Hồ Chí Minh
Điện thoại: 84-28-5448-2100
Áo - Wels
Điện thoại: 43-7242-2244-39
Số Fax: 43-7242-2244-393
Đan Mạch – Copenhagen
Điện thoại: 45-4485-5910
Số Fax: 45-4485-2829
Phần Lan - Espoo
Điện thoại: 358-9-4520-820
Pháp – Paris
Tel: 33-1-69-53-63-20
Fax: 33-1-69-30-90-79
Đức – Garching
Điện thoại: 49-8931-9700
Đức - Haan
Điện thoại: 49-2129-3766400
Đức – Heilbronn
Điện thoại: 49-7131-72400
Đức - Karlsruhe
Điện thoại: 49-721-625370
Đức – Munich
Tel: 49-89-627-144-0
Fax: 49-89-627-144-44
Đức – Rosenheim
Điện thoại: 49-8031-354-560
Israel – Ra'anana
Điện thoại: 972-9-744-7705
Ý - Milan
Điện thoại: 39-0331-742611
Số Fax: 39-0331-466781
Ý - Padova
Điện thoại: 39-049-7625286
Hà Lan - Drunen
Điện thoại: 31-416-690399
Số Fax: 31-416-690340
Na Uy - Trondheim
Điện thoại: 47-72884388
Ba Lan – Warsaw
Điện thoại: 48-22-3325737
Rumani – Bucharest
Tel: 40-21-407-87-50
Tây Ban Nha - Madrid
Tel: 34-91-708-08-90
Fax: 34-91-708-08-91
Thụy Điển - Gothenberg
Tel: 46-31-704-60-40
Thụy Điển – Stockholm
Điện thoại: 46-8-5090-4654
Vương quốc Anh - Wokingham
Điện thoại: 44-118-921-5800
Số Fax: 44-118-921-5820

Biểu trưng MICROCHIP© 2023 Microchip Technology Inc. và các công ty con của nó
DS50003627A –

Tài liệu / Tài nguyên

Phần mềm thư viện mô phỏng MICROCHIP Libero SoC [tập tin pdf] Hướng dẫn sử dụng
DS50003627A, Phần mềm thư viện mô phỏng Libero SoC, Phần mềm thư viện mô phỏng SoC, Phần mềm thư viện mô phỏng, Phần mềm thư viện, Phần mềm

Tài liệu tham khảo

Để lại bình luận

Địa chỉ email của bạn sẽ không được công bố. Các trường bắt buộc được đánh dấu *