Mô phỏng Libero SoC
Hướng dẫn thiết lập thư viện
Giới thiệu
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
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ế.
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.
- Đặt vị trí của thư mục làm việc hiện tại.
đặt dsn - Đặ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 - 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 - 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.
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:
- LM_LICENSE_FILE: phải bao gồm một con trỏ tới giấy phép file.
- cds_root: phải trỏ đến vị trí thư mục chính của Cài đặt Cadence Incisive.
- 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
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
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 |
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:
- 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 - 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 ) - 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 - 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>” - 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
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;
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.
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:
- LM_LICENSE_FILE: phải bao gồm một con trỏ tới giấy phép file.
- cds_root: phải trỏ đến vị trí thư mục chính của Cadence Incisive Installation.
- 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
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
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 |
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.
- 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 - 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 ) - 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 - 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>” - 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
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;
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.
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.
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.
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:
- 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.
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 - 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 - 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. - Sau khi thiết kế được biên dịch, hãy bắt đầu mô phỏng bằng lệnh sau.
./simv - Đố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.
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 |
© 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 |