Thông báo

Collapse
No announcement yet.

Lập trình FPGA bằng mô hình đồ họa trên Matlab

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

  • Lập trình FPGA bằng mô hình đồ họa trên Matlab

    Chào cả nhà, em có ý kiến: luồng này chưa sôi nổi em xin đưa ra chủ đề mới là lập trình FPGA trên các môi trường đồ họa bao gồm sử dụng System Generator for DSP, AcclDSP, Altium v.v đây toàn là các công cụ lập trình đồ họa mạnh, có bác nào có kinh nghiệm thì tung ra một vài TUT để anh em học hỏi với. VHDL, Vilog đã có nhiều tài liệu rồi và thực sự thì coding mã trên đó vất vả hơn so với các công cụ mới này ... ai có kinh nghiệm hãy cùng nhau thục hiện các TUT có giá trị nhé.
    Cung cấp kít FPGA giá sinh viên!
    Nhận thiết kế và phát triển các mạch ARM và FPGA theo yêu cầu.
    Email:

  • #2
    System Generator chủ yếu phục vụ thiết kế các hàm DSP như CODEC, Fir. Thiết kế bắt đầu bằng Matlab Simulink, sau đó bạn có thể nạp trực tiếp xuống kit hoặc tạo các IP để nhúng vào trong design của bạn.

    Comment


    • #3
      Có bác nào làm nhiều theo cách này chưa ạ? Em cũng mới thử chuyển sang dùng tools nhưng không rõ độ "thông minh" của nó tới đâu. Bác nào làm rồi cho em cái nhận xét với.

      Comment


      • #4
        Về các Tool này có thể nhận xét là chúng sẽ biên dịch tốn tài nguyên hơn so với viết trực tiếp mã VHDL hay Vilog, nhưng nó cho phép phát triển nhanh chóng và trực quan các project phức tạp, có thể kế thừa các IP của các hãng phần mềm lớn và chúng có thể mang lại chế độ mô phỏng đơn giản và mạnh mẽ khi kết hợp với Simulink của Matlab, điều này có ý nghĩa rất lớn khi bạn gỡ rối các modul thiết kế nhỏ. Nếu bạn nào có thời gian tìm hiểu có thể thử với Sysgen hay AcellDSP, tôi nhấn mạnh tới AcellDSP là bộ tool rất hớp dẫn bởi tính linh hoạt, tập IP rất phong phú đa dạng... và cánh viết mã của Matlab...
        Cung cấp kít FPGA giá sinh viên!
        Nhận thiết kế và phát triển các mạch ARM và FPGA theo yêu cầu.
        Email:

        Comment


        • #5
          Vậy các công ty làm liên quan tới RTL coding ở Việt Nam có sử dụng ( phổ biến ) trong việc phát triển sản phẩm của mình ko bác ???

          Comment


          • #6
            Mình là sinh viên vừa ra trường, he he chưa biết các kĩ sư phát triển FPGA ở Việt nam và thế gới dùng cái gì, nhưng mấy cái này được Xilinx cung cấp, Avenet mang đi hội thảo rầm rộ chắc cũng được nhiều người sử dụng, với lại chúng có thể kết hợp nhiều kiểu thiết kế khác nhau nên các kĩ sư không bị dàn buộc phải thiết kế đồng bộ trên một môi trương. Vd: AcellDSP dịch từ mac Matlab sang VHDL sau đó tiếp tục nhúng vào một thiết kế VHDL lơn hơn. Nge nói một số phòng Lab ở Benarut dùng SystemC hay ImpullC gì đó tựa như AcellDSP...
            Cung cấp kít FPGA giá sinh viên!
            Nhận thiết kế và phát triển các mạch ARM và FPGA theo yêu cầu.
            Email:

            Comment


            • #7
              hu hu, luồng này ít quá. Hình như không có ai quan tâm à
              Các bác nào làm nhièu rùi truyền đạt "tí tí bí cấp " cho anh em đi.
              Hay thế ni mà không ai viết à

              Comment


              • #8
                bạn quan tâm đến phần nào thì học. sau đó vướng gì hay không hiểu chỗ nào thì hỏi. khi đó mọi người mới dễ trả lời bạn ạ.

                Comment


                • #9
                  Hiện nay công ty tôi đang sử dụng phương pháp System Generator for DSP. Tôi thấy phương pháp này có nhiều ưu điểm khi bạn làm những Project lớn. Khi làm Project lớn thì phải có nhiều group. Thì group làm DSP chỉ cần biết thiết kế ở trên Matlab Thiết kế bằng Matlab Simulink là đủ sau đó group làm về FGPA chỉ cần sử dụng tool System tạo ra RTL bằng Verilog hoặc HDL nhúng vào IP code của mình. Ưu điểm nữa của phương pháp này sử dụng được các hàm toán học, DSP mạnh mẽ của Matlab

                  Comment


                  • #10
                    Hi qoctoan_3t! Bạn quan tâm thi gủi mail cho mình nhé! eysdesigner@gmail.com Bye!
                    Cung cấp kít FPGA giá sinh viên!
                    Nhận thiết kế và phát triển các mạch ARM và FPGA theo yêu cầu.
                    Email:

                    Comment


                    • #11
                      mình có tìm hiểu qua thiết kế phần cứng, FPGA và quy trình thiết kế asic thì thấy thế này.
                      Các automatic tool sẽ không tối ưu được thiết kế. Phụ thuộc nhiều vào mức độ xử lý của tool được cái chẳng cần biết gì đến VHDL cũng được.
                      Làm các project càng lớn mà càng nhiều cái kô được tối ưu (tích tiểu thành đại) thì sẽ rất tốn tài nguyên của board tốn quá nhiều tài nguyên sẽ -> giảm tốc độ,tăng giá thành.

                      Để làm đơn giản và dễ dàng cho việt thiết kế, thường thì người ta sẽ đi theo kiểu top down. tức là làm các khối lớn rồi trong khối lớn đó lại có nhiều module nhỏ. Cứ viết VHDL dần dần từ trên xuống dưới bao giờ ra thành các phần sythesis được thành dạng RTL hay netlist được thì thôi (quy trình này thường được dùng cho asic design) (các thành phần nhỏ nhất là các cổng and, or, flip-flop v.v... có thể được viết trước, hoặc lấy cái viết sẵn rồi tập hợp thành thư viện phụ vụ cho việc sythesis).
                      Đối với FPGA thì thư viện như đã nói ở trên là cố định, tùy vào từng hãng sản xuất. Do vậy, đối với FPGA một số chỉ cần viết code VHDL ở dạng behavior là đã có thể sythesis ra netlist được luôn rồi ko phải loàng ngoàng như ASIC.

                      Bạn TL138 có nói đến systemC. Mình xin bổ sung thêm như sau:
                      SystemC là một thư viện C++ dùng để miêu tả phần cứng. Nó tận dụng được đặc điểm của lập trinh hướng đối tượng, tận dụng được tốc độ cao quản lý bộ nhớ tốt của C++, tốc độ simulation và biên dịch thì cực nhanh khi so sánh với các ngôn ngữ khác như Matlab, VHDL, Verilog v.v... . SystemC thường được dùng để thiết kế ở tầng kiến trúc (architecture design), software hardware codesign, software - hardware coverification ...
                      Khi thiết kế sử dụng systemC, các testbench (kịch bản test) có thể sử dụng lại ở bất kỳ giai đoạn thiết kế nào -> có thể dễ dàng biết được khi thiết kế xong ở mức RTL có gì sai khác so với ở mức architecture level hay không v.v... SystemC + TML(transaction level Modeling) ngày nay được dùng để đẩy nhanh tốc độ thiết kế phần cứng. Vừa thiết kế phần cứng và phần mềm đồng thời. Từ thiết kế systemC, TML đội làm phần VHDL sẽ sử dụng lại testbench của giai đoạn thiết kế bằng SystemC, đội làm phần mềm thì có thể sử dụng thiết kế systemC đó chuyển sang phần mềm bằng ngôn ngữ C một các nhanh chóng. rồi có thể verify phần mềm bằng thiết kế SystemC luôn (với tốc độ gần với hệ thống thật: trên các máy tính mạnh sẽ được khoảng vao` tram MHz con` tren cùng máy đó nếu chạy phần mềm trên thiết kế VHDL hay verilog chỉ được khoảng vài Khz đến vài trăm Khz là cùng). tốc độ thiết kế bằng SystemC cũng nhanh, chỉ cần biết C++ là viết được tốc độ thiết kế sẽ được vào khoảng 10 - 20x còn VHDL hay verilog thì sẽ chỉ khoảng 50 - 60%

                      Comment


                      • #12
                        Qua cách nói của bạn cation_h tôi nghĩ bạn đã từng làm ASIC. Đối với thiết kế FPGA thì tùy vào mục đích để người thiết kế lựa chọn tool hay là thiết kế theo kiểu Top-down, trong thiết kế FPGA hai mục đích sau:
                        1. Sản phẩm Prototype: Đó là những sản phẩm đầu tiên cho việc thiết kế ASIC, đối với những sản phẩm này thời gian thiết kế dài khi khi chuyển vào ASIC và số lượng sảm phẩm rất lớn (có thể hang triệu sảm phẩm) và nó được sử dụng xung quanh quộc sống của chúng ta. Vi dụ: TV, máy giặt …
                        2. Sản phẩm chuyên biệt: Đây là những sảm phẩm được thiết và ứng dụng trên FPGA. Đối với những sảm phẩm này thời gian thiết kế ngắn, khi đưa vào ứng dụng thì có số lượng sản phẩm thường ít (có thể vài chục hoặc vài trăm sản phẩm) và nó thường được sử dụng cho mục đích chuyên biệt. Ví dụ: Vệ tinh, lò phán ứng hạt nhân …
                        Từ hai mục đích cho viêc thiết kế trên ta thấy đối với Sản phẩm Prototype người thiết kế thường tối ưu về tài nguyên -> tăng tóc độ, giảm giá thành. Vì khi mỗi sản phẩm giảm giá thành một ít thì khi sản xuất với số lượng thì ta giảm được gía thành lớn. Còn đối với sản phẩm được thiết kế cho ứng dụng chuyên biệt với số lượng sản phẩm ít nên người thiết kế không nhất thiết phải tối ưu tài nguyên 100%. Vì tóc độ FPGA thấp hơn ASIC, số lượng sản phẩm ít nên tối ưu tài nguyên thì cũng giảm giá thành không nhiều, mặt khác số lượng tài nguyên trong FPGA của mỗi hãng sản xuất là xác định

                        Comment


                        • #13
                          Post của cation_h hay quá, em đang học về VHDL và SystemC mà vẫn thấy hơi mù mờ.
                          Bác cation_h có thể trình bày 1 design process dùng cả SystemC và HDL được ko ?
                          |

                          Comment


                          • #14
                            cation_h chắc hẳn đã nghiên cứu khá sâu về SystemC rồi thì phải. Em cũng mới bắt đầu nghiên cứu vấn đề này. Anh có thể link một số referece Design và tutorial cho em và các bạn cùng tham khảo được không?

                            DSP, Embedded System, FPGA/MCU boards & Kits

                            Comment


                            • #15
                              sorry các bạn, gần đây mình ko có nhiều thời gian lên diễn đàn. Chúng ta đã đi lạc chủ đề của chủ đề này quá rồi.

                              @leejonfan: tổng quát nhất thì nó như thế này: từ specification => Untimed Functional (UTF) => Timed functional (TF) sau đó đến TLM (transaction level modeling) => pin Accrurate behavior hoặc Cycle Accurate hoặc RTL. SystemC có thể làm tất cả cách phần trong giai đoạn trên tuy nhiên RTL systemC chưa có tool synthesis thành phần cứng nên phần này phải dùng HDL như VHDL. Những phần thiết kế bằng systemC được dùng để tạo môi trường coverification để đảm bảo thiết kế theo đúng hướng của đặc tả, và thiết kế trong giai đoạn systemC và VHDL là hoàn toàn cho kết quả giống nhau. Bạn có thể đọc thêm về Electronic System Level Design (ESL) để hiểu thêm về quy trình thiết kế. SystemC được sử dụng rất phổ biến ở ESL đặc biệt là cho hệ thống SoC.
                              @ Vannghia: bạn có thể tham khảo một số link sau:
                              tutorial về systemc:
                              http://www.forteds.com/SystemC/training/index.asp
                              http://www.doulos.com/knowhow/systemc/
                              sách thì có khá nhiều cuốn viết về systemC. Bạn có thể google sẽ có link down. Một quyển khá hay đó là quyển system level design with systemC.

                              một trang web ko thể thiếu đó là:
                              http://www.systemc.org/home
                              ở đó bạn có thể down thư viện SystemC 2.2, về biên dịch như hướng dẫn trong đó, trang đó còn có một số thư viện khác cũng rất hay (như TLM) và dựa trên systemC. Trong source bạn down về cũng có cả tài liệu gồm 1 cuối user guide, các ví dụ như simple bus design sử dụng systemc và một số tài liệu khác.
                              Language reference manual cũng có thể thấy link down ở trang systemc.org

                              Muốn cosimulation SystemC với VHDL thì tool phải hỗ trợ. Một tool mà các bạn có thể dùng đó là modelsim (SE version với full license, down thêm trình biên dịch systemC dành riêng cho modelsim tại trang của mentor graphics). Sau khi cài xong modelsim sẽ có luôn thư mục ví dụ. Trong đó có Các ví dụ về cosimulation systemC với VHDL và Verilog. Để biết cách viết systemC cho modelsim bạn nên xem tutorial của mentor. Nó khác một chút so với systemc của OSCI.

                              Hiện tại tools của mình dùng là: bộ biên dịch GCC (g++, binutils, libstdc++ để tạo file thực thi), make, emacs(editor), GDB (debug), gtkwave (xem trace file) tất cả chạy trên linux. Trên windows thì có thể dùng visual studio, cygwin v.v... Đến giai đoạn viết HDL thì dùng modelsim và một số tool khác.

                              Comment

                              Về tác giả

                              Collapse

                              TL138 employment Tìm hiểu thêm về TL138

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

                              Collapse

                              Đang tải...
                              X