Thông báo

Collapse
No announcement yet.

Hỏi về cách tính độ delay của 1 chương trình VHDL?

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

  • Hỏi về cách tính độ delay của 1 chương trình VHDL?

    Cho mình hỏi làm sao để tính tốc độ hoạt động của 1 chương trình VHDL bằng Xilink vậy?
    Sau khi Synthesize, mình xem trong phần report có Timing Report, trong mấy dòng cuối thì có:
    Total REAL time to Xst completion: xxxx secs
    Total CPU time to Xst completion: xxxx secs
    Đây có phải là thởi gian hoạt động của chương trình ko?

    Nếu phải thì có cách nào tính riêng cho từng chế độ hoạt động ko?
    VD: mình thiết kế 1 con RAM tĩnh. Tổng cộng có 4 states. Trong đó state cuối là để kích hoạt chế độ write or read.
    Vậy thời gian cho 1 write operation và read operation được tính như thế nào vậy?

    Thanks,

  • #2
    Đây là thời gian Xilinx Synthesis Tool (XST) hoàn thành quá trình synthesise trên máy tính, ko phải cái time của code VHDL của bạn chạy.
    Tính riêng từng chế độ hoạt động có thể dùng simulation ISim hoặc ModelSim, nếu làm tốt thì khá chính xác. Còn muốn chắc cú thì dùng logic analyzer kiểu ChipScope là chính xác nhất.

    Comment


    • #3
      Có cách nào tính bằng tay ko bạn?
      Mình nghĩ ý của thầy mình là muốn mình hiểu sâu về tốc độ của 1 design
      VD: ctr mình có 4 states.
      Mỗi state là 1 clock cycle => 4 clocks x 1/frequency.
      Thời gian để dữ liệu xuất ra ở clock cuối là 0.12ns chẳng hạn (vì sẽ ko dùng hết period của clock cuối) => cộng thêm 0.12ns
      trước khi state đầu tiên được kích hoạt thì có ale phải =1
      thời gian để 1 tín hiệu thay đổi là 0.002ns chẳng hạn => cộng thêm 0.002ns
      Dĩ nhiên là có thêm sai số phần cứng nữa nhưng thầy mình kêu estimate, nên có thể bỏ qua nó.

      Comment


      • #4
        Nguyên văn bởi duytan411 Xem bài viết
        Có cách nào tính bằng tay ko bạn?
        Mình nghĩ ý của thầy mình là muốn mình hiểu sâu về tốc độ của 1 design
        VD: ctr mình có 4 states.
        Mỗi state là 1 clock cycle => 4 clocks x 1/frequency.
        Thời gian để dữ liệu xuất ra ở clock cuối là 0.12ns chẳng hạn (vì sẽ ko dùng hết period của clock cuối) => cộng thêm 0.12ns
        trước khi state đầu tiên được kích hoạt thì có ale phải =1
        thời gian để 1 tín hiệu thay đổi là 0.002ns chẳng hạn => cộng thêm 0.002ns
        Dĩ nhiên là có thêm sai số phần cứng nữa nhưng thầy mình kêu estimate, nên có thể bỏ qua nó.
        Tốc độ của design được quyết định bởi độ trễ của các mạch tổ hợp (combinatorial logic) của bạn.
        Phần mềm phân tích thời gian (timing analyzer) sẽ tính những thứ này.

        Sau khi thiết kế trong ISE, bạn chạy timing analyzer tool, trong đó bạn phải chỉ ra đâu là tín hiệu clock và tần số bao nhiêu. Tool sẽ tính cho bạn.
        Dĩ nhiên trong lúc thiết kế, bạn có thể ước lượng được trễ là bao nhiêu nhưng điều này kinh nghiệm.
        Mình trả lời đúng câu hỏi của bạn ko?

        Comment


        • #5
          Nguyên văn bởi jefflieu Xem bài viết
          Tốc độ của design được quyết định bởi độ trễ của các mạch tổ hợp (combinatorial logic) của bạn.
          Phần mềm phân tích thời gian (timing analyzer) sẽ tính những thứ này.

          Sau khi thiết kế trong ISE, bạn chạy timing analyzer tool, trong đó bạn phải chỉ ra đâu là tín hiệu clock và tần số bao nhiêu. Tool sẽ tính cho bạn.
          Dĩ nhiên trong lúc thiết kế, bạn có thể ước lượng được trễ là bao nhiêu nhưng điều này kinh nghiệm.
          Mình trả lời đúng câu hỏi của bạn ko?
          Quá đúng ^^ Thanks nhiều. Lúc hỏi lại ông thầy, thầy nói câu hỏi này chủ yếu kinh nghiệm thôi.
          Nhưng lúc thực hành phòng lab, cái anh tutor nói là có cách làm (như bạn nói) mà ãnh quên rồi

          Comment

          Về tác giả

          Collapse

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

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

          Collapse

          Đang tải...
          X