Thông báo

Collapse
No announcement yet.

Lỗi kỳ quặc khi mô phỏng BRAM

Collapse
X
 
  • Lọc
  • Giờ
  • Show
Clear All
new posts

  • Lỗi kỳ quặc khi mô phỏng BRAM

    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.

  • #2
    Em thường gán force clk 0 0 chứ chưa thử force clk 1 0 bao giờ. Bác thử thêm từ khóa freeze (hay deposit) vào xem có khác gì không? Nhân tiện, bác cho em xin code VHDL của bác, xem nó mô phỏng như thế nào. Thanks!
    ( Hồi trước lập trình trên ISE em toàn nạp trực tiếp vào board ,còn bây giờ làm đồ án chủ yếu trên EDK, debug bằng RS232 nên cũng không rõ vấn đề mô phỏng lắm, hehe... )

    Comment


    • #3
      @hieuslash: Ko đc, bác ạ.

      @all: khi mà Data output là UNKNOWN, tất cả các chân inputs (CLK, ADDR, WE, Din) đều có giá trị xác định. Ko hiểu sao làm CLK lệch pha đi 180o ( tức là bắt đầu từ 1 thay vì 0) lại làm cho BRAM có vấn đề khi mà toàn bộ hệ thống đồng bộ dựa trên chính chân CLK ???

      Comment

      Về tác giả

      Collapse

      NEO3F Tìm hiểu thêm về NEO3F

      Bài viết mới nhất

      Collapse

      Đang tải...
      X