Bạn có thể thấy lỗi này trong Synopsys VCS hoặc VCS MX khi mô phỏng nếu thiết kế của bạn có từ hai biến thể IP trở lên do Trình quản lý Trình cắm MegaWizard™ tạo ra trong phần mềm Quartus® II. Lỗi này có thể xảy ra khi thiết kế của bạn có nhiều biến thể của cùng một lõi IP hoặc có các lõi IP khác nhau, nhưng các lõi có các tập tin mô phỏng trùng lặp. Đối với mỗi lõi IP, một tập tin mô phỏng hoàn chỉnh sẽ được thêm vào thư mục , bao gồm một số tệp có thể được chia sẻ với các lõi IP khác. Ví dụ: một số gói SystemVerilog có thể phổ biến ở các lõi IP mulitple.
Lỗi xảy ra khi danh sách kết hợp của tất cả tên tệp mô phỏng cho tất cả các biến thể IP (bao gồm cả tên tệp trùng lặp) được thêm vào dòng lệnh VCS. Tập tin không bao gồm các bản sao của các tệp thư viện mô phỏng được cài đặt trong thư mục cài đặt /eda/sim_lib cấu trúc thư mục.
Để giải quyết vấn đề này, thực hiện một trong các bước sau:
- Bạn có thể loại bỏ thủ công các tên tệp trùng lặp tạo thành dòng lệnh VCS bằng cách chỉ định một tệp từ mọi bộ tệp trùng lặp. Bạn có thể xác định các tệp trùng lặp bằng cách tìm kiếm các tệp có cùng tên nhưng nằm trong các thư mục khác nhau (ví dụ : _sim/foo.sv và _sim/foo.sv). Bạn cũng nên so sánh nội dung của tên tệp trùng lặp để đảm bảo các tệp trùng lặp.
- Ngoài ra, mỗi tập tin mô phỏng IP được biên dịch riêng vào thư viện của riêng nó bằng cách sử dụng
vloganlệnh như được ghi trong Hướng dẫn Sử dụng VCS MX có trong bản cài đặt VCS MX, nhưng không có trong cài đặt VCS (VCSi). Bạn cũng có thể lấy Hướng dẫn Sử dụng VCS MX từ trang web Synopsys. Để biên dịch từng thư viện, hãy làm theo các bước sau:- Xác định tất cả các biến thể IP và tạo một thư mục cho từng biến thể IP. Mỗi thư mục chứa các tệp thư viện VCS trung gian cho biến thể IP của nó. Ví dụ: nếu bạn có hai biến thể IP và
ip_var1ip_var2tạo hai thư mục:./ip_var1_libvà./ip_var2_lib. - Nếu nó chưa tồn tại, hãy tạo một tệp được gọi là synopsys_sim.setup. Tệp này chứa ánh xạ từ tên thư viện logic đến vị trí thư mục vật lý của chúng. Thêm ánh xạ từ tên thư viện logic vào tên thư mục vật lý cho mỗi biến thể IP. Ví dụ: đối với hai biến thể IP
ip_var1Vàip_var2, thêm hai dòng sau vào synopsys_sim.setup Tập tin:ip_var1: ./ip_var1_lib
ip_var2: ./ip_var2_lib - Nếu trong bước 2, bạn thêm thư viện từ thư mục thư viện mô phỏng Quartus II (thư mục cài đặt /eda/sim_lib), tạo thư mục con thư viện cho thư viện mô hình mô phỏng Altera và thêm ánh xạ của chúng vào tên thư viện logic trong tệp synopsys_sim.setup . Các thư viện này được mô tả trong phần Mô phỏng trong tập 3 của Sổ tay Quartus II.
- Tạo thư viện công việc bằng cách tạo một
./workthư mục và ánh xạ nó đến vị trí logicworkthư viện và thêm dòng sau vào synopsys_sim.setup Tập tin:work: ./work - Tạo lệnh shell chứa các lệnh sau:
- Đối với mỗi biến thể IP, biên dịch tất cả các tệp SystemVerilog bằng cách thêm lệnh sau:
vlogan -sverilog -work ip_var1 - Đối với mỗi biến thể IP, biên dịch tất cả các tệp Verilog HDL tiêu chuẩn bằng cách thêm lệnh sau:
vlogan v2k -work ip_var1 - Biên dịch các thư viện mô phỏng Quartus II thành các thư viện riêng biệt bằng cách biên dịch chúng theo cách thủ công
vloganlệnh (tương tự như biên dịch các tập tin mô phỏng cho mỗi biến thể IP). Ngoài ra, biên dịch các thư viện mô phỏng Quartus II, sử dụng Trình biên dịch Thư viện mô phỏng EDA bằng cách thực hiện các lệnh sau:
Để biết thêm thông tin về việc biên dịch thư viện mô phỏng với Trình biên dịch Thư viện mô phỏng EDA, vui lòng tham khảo Biên dịch thư viện mô phỏng trong phần mềm Quartus II trong Trợ giúp Quartus II và Mô phỏng các Altera thiết kế chương trong tập 3 của Sổ tay Quartus II.quartus_sh --simlib_comp -tool vcsmx -language verilog -family
- Đối với mỗi biến thể IP, biên dịch tất cả các tệp SystemVerilog bằng cách thêm lệnh sau:
- Biên dịch các tập tin testbench của bạn và bất kỳ tệp nào khác vào thư viện công việc với
vloganLệnh. Ví dụ,vlogan -work work - Phối hợp mô-đun cấp cao nhất và thực thi trình mô phỏng tạo bằng lệnh VCS sau:
VCS tự động tìm kiếm tất cả các thư viện được chỉ định trong synopsys_sim.setup tập tin cho các mô-đun chưa được giải quyết. Nếu bạn muốn kiểm soát nhiều hơn thứ tự tìm kiếm thư viện, hãy xác định các thư viện cóvcs-libtùy chọn được ghi trong Hướng dẫn Sử dụng VCS MX.
- Xác định tất cả các biến thể IP và tạo một thư mục cho từng biến thể IP. Mỗi thư mục chứa các tệp thư viện VCS trung gian cho biến thể IP của nó. Ví dụ: nếu bạn có hai biến thể IP và