ID bài viết: 000086112 Loại nội dung: Thông tin sản phẩm & Tài liệu Lần duyệt cuối: 11/09/2012

Làm cách nào để tạo tức thì các bản sao mulitiple của cùng một khối bộ nhớ có các tệp khởi tạo khác nhau mà không sử dụng Trình quản lý Trình cắm MegaWizard nhiều lần?

Môi Trường

BUILT IN - ARTICLE INTRO SECOND COMPONENT
Mô tả

Bạn có thể làm điều này bằng cách chuyển tên tệp khởi tạo làm tham số vào tệp do MegaWizard® tạo ra cho mỗi phiên bản ROM hoặc RAM trong thiết kế cấp cao nhất. Để làm như vậy, hãy sử dụng quy trình sau đây để chỉnh sửa tệp đóng gói do Trình quản lý Trình cắm MegaWizard tạo ra và khởi tạo các phiên bản trong thiết kế của bạn. Ví dụ sau sử dụng Verilog HDL cho khối bộ nhớ ROM.

  1. Thêm định nghĩa của tham số init_file tập tin đóng gói do MegaWizard tạo ra, như sau:

    parameter init_file = "";

  2. Sửa đổi khởi tạo siêu chức năng trong tệp gói để gán tính năng mới init_file tham số là altsyncram_component.init_file giá trị tham số, như sau. Sự thay đổi này làm cho tham số mô-đun ROM tùy chỉnh do MegaWizard tạo ra có thể thay đổi, và cho phép khởi tạo ROM tùy chỉnh để xác định giá trị của tệp khởi tạo.

    defparam
        altsyncram_component.init_file = init_file,

  3. Xóa giá trị hiện có của altsyncram_component.init_file tham số, nếu có một tham số trong tệp gói. Dưới đây là một ví dụ về tệp gói đã sửa đổi:

    module my_rom (address, clock, q);
       input [2:0] address;
       input clock;
       output [7:0] q;

       parameter init_file = "";
       wire [7:0] sub_wire0;
       wire [7:0] q = sub_wire0[7:0];
       altsyncram altsyncram_component (
       ...
       defparam
           altsyncram_component.init_file = init_file, ...

  4. Đối với mỗi phiên bản ROM trong thiết kế cấp cao nhất, hãy đặt init_file tham số của tên tệp khởi tạo mong muốn.

    Ví dụ sau cho thấy một sự my_rom khởi tạo của mô-đun, trong đó defparam được sử dụng để truyền tệp khởi tạo .mif sang tham số init_file. Thiết kế có thể bao gồm nhiều khởi tạo của ROM này, mỗi rom này sử dụng một tệp khởi tạo khác nhau, bằng cách thiết lập dải phân cách.

    module top_level_roms (addr, clk, q);
       output [7:0] q;
       input clk;
       input [2:0] addr;

       my_rom u1 (.address(addr),.clock(clk),.q(q));
          defparam u1.init_file = "rom_test.mif";
    endmodule

Các sản phẩm liên quan

Bài viết này áp dụng cho 1 sản phẩm

FPGA Stratix® II

Nội dung gốc bằng tiếng Anh trên trang này vừa do con người vừa do máy dịch. Nội dung này chỉ để cung cấp thông tin chung và giúp quý vị thuận tiện. Quý vị không nên tin đây là thông tin hoàn chỉnh hoặc chính xác. Nếu có bất kỳ mâu thuẫn nào giữa bản tiếng Anh và bản dịch của trang này, thì bản tiếng Anh sẽ chi phối và kiểm soát. Xem phiên bản tiếng Anh của trang này.