Toàn cầu định nghĩa trong VHDL

P

pastro

Guest
Xin chào tất cả, tôi đang làm việc trên VHDL firmware cho một dự án liên quan đến một loạt các FPGA. Hầu hết các FPGA có phần mềm tương tự, với những thứ chỉ giống như ID của họ thay đổi từ FPGA để FPGA. Tôi muốn tạo một file VHDL với dữ liệu cấu hình, nơi mà tất cả các hằng số cụ thể cho các FPGA được liệt kê, và sau đó có một số loại báo cáo "bao gồm" để tham khảo các hằng số trong mỗi module VHDL. đúng cách để làm điều này là gì? Cảm ơn!
 
Bạn có thể đặt tất cả các hằng số tương ứng trong một gói ví dụ như "defs" và nhập khẩu nó trong tất cả các đơn vị thiết kế đề cập đến nó.
Code:
 DEFS gói là CONSTANT MAJOR_VERSION: INTEGER: = 0; CONSTANT MINOR_VERSION: INTEGER: = 16; - DEFS kết thúc trọn gói; Trong thiết kế các tập tin Thư viện làm việc; work.defs.all sử dụng;
Tên thực tế của các tập tin defs có thể khác nhau, bạn cũng có thể thực hiện một hệ thống các định nghĩa và mục tiêu tổng quát định nghĩa cụ thể.
 
Lưu ý rằng điều này sẽ đòi hỏi một re-compile/synth/PAR cho mỗi chip dẫn đến một luồng bit trên mỗi chip duy nhất. Nếu các thiết bị thực sự giống nhau ngoại trừ một vài thông số, một giải pháp có thể để cho phép các tham số để được nạp * sau khi cấu hình và điện-on-thiết lập lại, nhưng trước khi con chip hiện bất kỳ công việc thực tế. * Tải: một số CPU giám sát với một giao diện để viết mỗi chip. hoặc chip đều có logic để kéo config trong một eeprom config. hoặc một số phương pháp khác.
 
Nếu các thiết bị thực sự giống nhau ngoại trừ một vài thông số, một giải pháp có thể để cho phép các tham số để được nạp * sau khi cấu hình và điện-on-thiết lập lại, nhưng trước khi con chip hiện bất kỳ công việc thực tế.
Thời gian chạy cấu hình là một thay thế của khóa học, và trong quan điểm của tôi, nó không nên được giới hạn để tải các thông số "trước khi con chip hiện bất kỳ công việc thực sự". Nhưng ngoài các chi phí cho máy cấu hình, nó có thể bao gồm một phần tử logic và định tuyến cao hơn đáng kể yêu cầu tài nguyên. Lợi thế quan trọng nhất, tiết kiệm thời gian biên dịch ở trên là biến thể đơn giản hóa việc kiểm kê phần mềm.
 
Ngoài ra còn có một trường hợp phần mềm được phát triển độc lập với phần vững và nó sử dụng các phiên bản đăng ký để kiểm tra tính tương thích hoặc xem những tính năng có sẵn.
 
Một cái gì đó với chi phí thấp có thể là để lưu trữ các thông số cho tất cả các con chip có thể trong "bó" trong file bit như là mảng (s). Sau đó sử dụng một vài trường hợp không sử dụng I / O pins để tĩnh mã cho "chip mà / chức năng / ID am I?" Sau đó bạn các thông số: = PARAM_ARRAY (to_unsigned (IdPins (5 downto 0));
 

Welcome to EDABoard.com

Sponsor

Back
Top