Em có 1 thiết kế có dùng 2 block RAMs. Khi mô phỏng gặp phải 1 hiện tượng rất quái là:
- Nếu mà cho chân CLK bắt đầu bằng giá trị 0 thì mọi thứ chạy bình thường.
- Nhưng nếu để CLK khởi tạo bằng 1 thì ngay tại sườn lên đầu tiên tiếp theo, đầu ra của cả 2 BRAMs đều là chuyển thành UNKNOWN ( từ giá trị (OTHERS=>'0') ). Rồi sau đó, thỉnh thoảng khi ADDRESS input của BRAM thay đổi là nó lại thành (OTHERS=>'X') thỉnh thoảng lại đọc đúng.
Có bác nào từng gặp hiện tượng này ko? Ko hiểu là lỗi ( hoặc thiết lập tham số tính toán cho ModelSIM sai ) hay là đặc tính của BRAM? Ở đây là em dùng IP BRAM của Xilinx luôn.
- Nếu mà cho chân CLK bắt đầu bằng giá trị 0 thì mọi thứ chạy bình thường.
- Nhưng nếu để CLK khởi tạo bằng 1 thì ngay tại sườn lên đầu tiên tiếp theo, đầu ra của cả 2 BRAMs đều là chuyển thành UNKNOWN ( từ giá trị (OTHERS=>'0') ). Rồi sau đó, thỉnh thoảng khi ADDRESS input của BRAM thay đổi là nó lại thành (OTHERS=>'X') thỉnh thoảng lại đọc đúng.
Có bác nào từng gặp hiện tượng này ko? Ko hiểu là lỗi ( hoặc thiết lập tham số tính toán cho ModelSIM sai ) hay là đặc tính của BRAM? Ở đây là em dùng IP BRAM của Xilinx luôn.
Comment