Thông báo

Collapse
No announcement yet.

Các công việc có dính líu tới FPGA

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

  • #16
    Nguyên văn bởi hithere123 Xem bài viết
    Khi nói tốc độ của thử nghiệm chỉ có thể tối đa là 1KHz ở đây em hiểu như sau:
    Giả sử một hệ thống có quy mô 1 triệu gates hoạt động với clock là 100MHz như vậy để mô phỏng (simulate) 1 phút hoạt động thực của hệ thống thì máy tính cần mô phỏng 6 tỷ cycles cho 1 triệu gates và với máy tính nhanh nhất thì cũng phải mất cả tuần hoặc nhiều hơn vì vậy ta nói tốc độ mô phỏng tối đa đạt được là ~ 1000 cycles/sec. Tuy nhiên nếu dùng emulator như anh đề cập ở bài viết trên thì thời gian mô phỏng 1 phút hoạt động của hệ thống sẽ nhanh hơn ~1000 lần (>1000 000 cycles/sec).
    Tôi quên không nói là những tốc độ này dựa trên những hệ thống trên 10M gate equivalent.

    Thời gian chạy simulation tùy vào nhiều yếu tố

    * Số lượng gate (phỏng đoán).
    * Số dữ kiện (event) cho mỗi process. Cycle base RTL có thể giúp chạy nhanh hơn (>20) nhưng non-synthesizable. Coding style cũng đóng vai trò quan trọng để chạy lẹ hơn (synchronous chạy lẹ hơn aynchronous).
    * Simulator performance (simulator có debug và optimize modes, debug thì chậm hơn vì simulator phải giữ thêm chi tiết để có thể kiểm duyệt)
    * simulation resolution (1ps, 10ps, 1ns ...)

    Clock của thiết kế chỉ dùng để xác định thời gian chạy của phần cứng hiện thực. Nó không có ảnh huỏng đến tốc độ của simulator cho nên chạy thiết kế ở 10MHZ hay 100MHZ, thời gian để chạy sẽ ngang nhau. 1000 chu kỳ/giây (1KHZ) mà tôi nói ở trên là tốc độ của simulator.

    Nguyên văn bởi hithere123 Xem bài viết
    Và dạng RTL anh nói là ở dạng này (1) :

    SQX DFF1 ( .D(n1), .CP(clk), .RN(rst), .Q(out) );
    SMX MUX1 (.A(in), .B(out), .S(sel));


    hay ở dạng này (2) :

    always @ (negedge clk or negedge rst)
    begin
    if (rst == 1’b0)
    begin
    out <= 1’b0;
    end
    else
    begin
    out <= (sel == 1’b0) ? in : out;
    end
    end


    Trong bài trước nữa anh có nói là tốn thời gian để chạy ở RTL hoặc gate và sau đó đề cập tới giải pháp emulation. Em chưa rõ RTL và gate anh nói có phải là dạng 2 và dạng 1 em đề cập ở trên không? Nếu đúng thì em không nghĩ thời gian mô phỏng bị giới hạn ở tốc độ 1KHz cho dạng 2 vì nó vẫn là mô tả architecture (mặc dù dùng chung một ngôn ngữ mô tả phần cứng_HDL là verilog), mà nếu mô phỏng architecture thì đâu cần thiết phải dùng gate model cho mô phỏng.
    1) Gate level
    2) RTL level

    Tốc độ nói trên (1KHZ) ám chỉ cho RTL. Ở gate level còn chậm hơn nhiều.

    Chào
    Tony
    Chúc một ngày vui vẻ
    Tony
    email : dientu_vip@yahoo.com

    Comment


    • #17
      Anh Tony thân mến,

      Rất vui khi được trao đổi với anh về vấn đề này. Như vậy tốc độ tối đa của simulator với những hệ thống lớn trên 10M chỉ đạt được ~1KHz. Đây là một thông tin rất hữu ích khi làm verification plan (em chưa có cơ hội được tham gia làm việc với project cỡ này).

      Sở dĩ em muốn đi sâu về thông số 1KHz (tốc độ của simulator chạy được 1000 chu kỳ /giây) là vì em muốn làm rõ thêm ý nghĩa của thông số này đối với công việc mô phỏng. Nên em đã lấy một ví dụ cụ thể về thời gian mô phỏng 1 phút cho một hệ thống hoạt động với xung clock là 100MHz, thì khối lượng công việc của một simulator phải làm là tính toán trạng thái các node của một hệ thống ~ 1 triệu gates trong 6 tỷ cycles hoạt động của hệ thống. Tức là, tốc độ này phụ thuộc rất nhiều vào khối lượng công việc mà simulator phải xử lý chứ không có ý nói khi thiết lập tốc độ clock của hệ thống càng nhanh thì thời gian mô phỏng càng lâu hay ngược lại.

      Thêm nữa, anh có nói mô phỏng hết corner cases thì mất cả năm nên em nghĩ đó là ở dạng gate. Vì em hiểu corner cases ám chỉ tới nhiệt độ, điện áp, process (low/fast), mà thông thường mô phỏng ở dạng RTL như ví dụ em đưa ra ở bài viết trên thì chỉ quan tâm tới xác định đúng về mặt logic hay mô tả hệ thống ở dạng này là độc lập với công nghệ (yếu tố delay ở đây thường được coi là lý tưởng).

      Em nghĩ ở dạng RTL, mình nên hiểu là test cases hoặc test vectors vì với hệ thống lớn gồm nhiều module khác nhau thì rất khó đảm bảo chạy một lần có thể kiểm tra hết tất cả các module. Vì vậy thường là phải có test plan để xác định cần có các test case nào, sau đó chạy từng test case để debug (nếu có) hay để chia nhỏ khối lượng công việc cho từng thành viên trong nhóm, và cuối cùng là chạy regression.

      Có lẽ vần đề anh em mình trao đổi ở đây đã đi xa với mục đích của box thảo luận này, sẽ rất vui nếu được trao đổi thêm với anh về phần verification trong box thiết kế IC số. Nếu anh có thời gian, anh có thể viết một bài dạng tổng quan về phần verification trong box thiết kế IC số được không?

      Rất mong.

      Comment


      • #18
        Nguyên văn bởi hithere123 Xem bài viết
        Thêm nữa, anh có nói mô phỏng hết corner cases thì mất cả năm nên em nghĩ đó là ở dạng gate. Vì em hiểu corner cases ám chỉ tới nhiệt độ, điện áp, process (low/fast), mà thông thường mô phỏng ở dạng RTL như ví dụ em đưa ra ở bài viết trên thì chỉ quan tâm tới xác định đúng về mặt logic hay mô tả hệ thống ở dạng này là độc lập với công nghệ (yếu tố delay ở đây thường được coi là lý tưởng).
        Xin lỗi là tôi không nói rõ về corner cases trên lãnh vực này. Corner cases ở đây là ám chỉ những trường khúc mắc của thiết kế. Một test plan hoàn hảo phải cover tất cả các trường hợp có thể xẩy ra tốt lẫn xấu (good and bad behaviour). Còn corner cases mà hithere đề cập ở trên là environment corner cases, liên hệ khi involve ở physical level.

        Nguyên văn bởi hithere123 Xem bài viết
        Em nghĩ ở dạng RTL, mình nên hiểu là test cases hoặc test vectors vì với hệ thống lớn gồm nhiều module khác nhau thì rất khó đảm bảo chạy một lần có thể kiểm tra hết tất cả các module. Vì vậy thường là phải có test plan để xác định cần có các test case nào, sau đó chạy từng test case để debug (nếu có) hay để chia nhỏ khối lượng công việc cho từng thành viên trong nhóm, và cuối cùng là chạy regression.
        Thường thì thiết kế nhỏ hoặc trung bình mà không dùng tới third party IP thì vấn đề test sẽ đơn giản hơn vì người viết test có thể hiểu tất cả hoạt động của mọi module. Hệ thống lớn (system on chip, SOC) có liên quan tới 3rd party IP hoặc cần phải cấu kết với non-digital module (analog) hoặc là phải thử với phần mềm phức tạp (phần mềm liên hệ với hoạt động chính, DSP) thì rất là phức tạp và tốn kém thời gian để có thể khảo xét mọi trường hợp

        Nguyên văn bởi hithere123 Xem bài viết
        Có lẽ vần đề anh em mình trao đổi ở đây đã đi xa với mục đích của box thảo luận này, sẽ rất vui nếu được trao đổi thêm với anh về phần verification trong box thiết kế IC số. Nếu anh có thời gian, anh có thể viết một bài dạng tổng quan về phần verification trong box thiết kế IC số được không?

        Rất mong.
        Đúng vậy, tôi cũng thấy là đề tài đã trở thành một cuộc đối thoại riêng nên cũng xin dừng tại đây. Khi có thời gian rảnh, tôi muốn viết về những đề tài đơn giản hơn, hợp với trình độ của nhiều người để bõ này được phong phú hơn. Tôi rất tiếc là người VN mình rụt rè quá, ít phát biểu ý kiến vì sợ một cái gì đó. Theo tôi thì không có ý kiến nào là dở, cứ mạnh bạo phát biểu, sai thì sửa để tiếp thu.

        Chào
        Tony
        Chúc một ngày vui vẻ
        Tony
        email : dientu_vip@yahoo.com

        Comment


        • #19
          Hi, các pro
          Em mới tìm hiểu về FPGA, thấy nhiều vấn đề quá, các pro đã học, làm với nó, xin chỉ giáo cho đàn em biết nên học thế nào, bắt đầu từ đâu.
          Thank.

          Comment


          • #20
            Nguyên văn bởi trangjackie Xem bài viết
            Hi, các pro
            Em mới tìm hiểu về FPGA, thấy nhiều vấn đề quá, các pro đã học, làm với nó, xin chỉ giáo cho đàn em biết nên học thế nào, bắt đầu từ đâu.
            Thank.
            Bắt đầu bằng Thread "FPGA cơ bản" ... và ghé thread "Tâm sự về FPGA", một 2 post đầu tiên có đề cập những vấn đề cần lưu ý.

            Comment

            Về tác giả

            Collapse

            jefflieu Email minh trực tiếp nếu bạn cần download tài liệu gấp Tìm hiểu thêm về jefflieu

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

            Collapse

            Đang tải...
            X