Thông báo

Collapse
No announcement yet.

làm sao để có kiến thức cơ bản trong FPGA

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

  • làm sao để có kiến thức cơ bản trong FPGA

    gửi các đàn anh trong diễn đàn, em mới nghe nói về FPGA, rất mong muốn học hỏi, song em chưa biết hướng bắt đầu như thế nào cho có đầu có đuôi, mong các anh trong diễn đàn góp ý cho em.
    thank
    |

  • #2
    Trước hết bạn phải am hiểu digital system, microcontroller, các cấu trúc cơ bản của mạch điện tử, am hiểu về PLD... nói chung bạn là người học Điện Tử hoặc là công nghệ thông tin.

    Comment


    • #3
      Có thể tìm đọc hai tập ASIC của tác giả Tống Văn On, có bán tại các nhà sách trong cả nước.

      Comment


      • #4
        Truoc het ban phai hieu FPGA la cai gi. De tra loi van de nay, thuc chat FPGA la to hop cua cac cong logic co ban AND OR de tao chuc nang toan học + cau truc bo nho + dinh thoi de tao chuc năng tuan tu. SAu khi da nam tuong doi van de nay roi( cu the ban có thể đã mường tượng được là để tạo 1 chức năng như Mux2:1 chẳng hạn thì cần tổ hợp những logic gi). Bước thứ 2: bạn tiếp cận ngôn ngữ VHDL( hoặc verilog), theo kinh nghiệm của tôi, Verilog rất đơn giản dễ hiểu( gần với C) nhưng VHDL hay hơn ở tính chặt chẻ và gần hơn với tư duy logic và rất thích hợp khi thiết kế các hệ thống lớn phức tạp..Bước thứ 3 : bạn làm quên với môi trường phát triển ISE...và làm các ví dụ đơn giản( chưa cần bo phát triển, bạn dùng MODELSIM để mo phỏng hệ thống. Bước cuối cùng là bạn thiết kế hệ thống trên 1 bo phát triển.Đó chỉ là những bước đầu để tiếp cận FPGA, còn rất nhiều cái để phát triển sau đó nhưng sẽ nhanh hon...! Chúc bạn thành công!

        Comment


        • #5
          Mua một bộ KIT về tự mình làm một project. Có gì khó lên diễn đàn hỏi hoặc hỏi người nào biết.Đây là cách nhanh nhất còn nếu không có tiền mua KIT mà vẫn muốn học thì có nhiều cách khác như dientu_iec đã nói.
          Cũ người mới ta!

          Comment


          • #6
            Nếu có Kit thì tuyệt quá rồi còn gì,nhưng đa số sinh viên mình không có đủ điều kiện để mua đâu.

            Học lý thuyết chay,mô phỏng bằng modelsim cũng là một cách học,vì mô phỏng được,synthesis được thì nó cũng sẽ chạy đúng trên thực tế thôi.

            Mà nói thiệt,nếu chỉ có vậy thì để vài bữa không đụng vào cũng sẽ quên,cũng như không,nếu bạn học trong trường đại học nào đó thì xin thầy hướng dẫn đề tài này,mình thấy cái này không khó,chỉ có điều dùng nó để làm được cái gì thôi,người ta hơn nhau cũng ở điểm này.

            Cũng giống như bạn hồi xưa học mấy con vdk chẳng hạn,cũng phải nạp nạp,xóa xóa thì mới thành thạo,tạo thành một cái skill.

            Comment


            • #7
              Các hạ bàn tán sôi nổi quá làm tại hạ phát ham!
              Nhân đây tại hạ xin lĩnh giáo: trong FPGA của Alerta có nhiều bộ nhớ RAM, vậy có bộ nhớ nào lưu đoạn mã của chương trình không?
              Tại hạ mới tìm hiểu nên còn "lơ ngơ" lắm
              Thanks

              Comment


              • #8
                Chương trình nạp cho FPGA thường chỉ là chương trình cấu hình cho FPGA. Còn RAM trên nó tất nhiên là lưu được code nhưng phải lưu bằng tay (chẳng hạn enabe chip, enable read/write, gửi điạ chỉ, gửi/nhận dữ liệu)

                Comment


                • #9
                  Có thể cho mình chương trình mô phỏng MODELSIM được không?
                  Học cho lắm, tắm hổng có quần thay
                  Học cho hay, tắm thay hoài cái quần cũ.

                  Comment


                  • #10
                    Chương trình config cho FPGA có thể nạp cả CODE cho RAM, ROM của FPGA. Khi khai báo RAM hay ROM nếu default thì nó để giá trị 0xFF. Nếu cần bạn có thể chọn 1 file nội dung cho nó. Khi dịch file này được đưa vào trong file output. Bạn nạp cho FPGA là có luôn nội dung trong RAM,ROM... mà bạn khai báo. Ví dụ làm MCU cần viết code trước sau đó dịch ra file HEX. Bạn có thể nạp chương trình vào MCU bạn thiết kế khi nạp chip FPGA.

                    KIT cho CPLD để học rất rẻ mà. Có thể bạn chưa biết.
                    Nhà sản xuất chuyên nghiệp các sản phẩm OEM cho gia dụng và công nghiệp.

                    Biến tần
                    Máy giặt
                    Lò vi sóng
                    Bếp từ.
                    Tủ lạnh.
                    Điều hòa

                    Comment


                    • #11
                      To C828.
                      RAM của ALTERA có thể khai báo sử dụng như là RAM,ROM,DualPort ( tùy theo FPGA) FIFO ... Tóm lại là liên quan đến bộ nhớ.
                      Nếu khai báo ROM bạn có thể lưu chương trình cho MCU CORE,....

                      Còn file config.
                      1.Với CPLD do kích thước nhỏ nên thường thiết kế dạng FLASH bên trong chip.
                      Bạn chỉ cần config 1 lần,Nội dung không bị mất khi bạn tắt nguồn.
                      2.Với FPGA. Do kích thước file lớn nên để giảm giá thành người ta làm dưới dạng RAM. Mỗi bit của RAM lưu giá trị 0 hay 1 ứng với fulse được nối hay ngắt.
                      Do vậy bạn cần nạp file config cho FPGA mỗi lần bật nguồn. Mỗi hãng SX FPGD thường SX cả chip FLASH config bên ngoài. Thực chất nó là FLASH ( Hay dùng của Intel) Và hãng cho thêm 1 modul tạo CLK,và các tín hiệu cần thiết, 1 mạch tự động kích chế độ nạp khi bật nguồn.
                      Có thể sử dụng MCU để config, Hay có thể 1 chip chứ file config có thể nạp cho nhiều chip FPGA. Các mode nạp bạn xem datasheet sẽ thấy.

                      Thông thường rẻ tiền nhất để nạp cho CPLD / FPGA của ALTERA hay dùng ByteBlaster. ( Nạp được tất cả các chip thông dụng)
                      XILINX thì dùng Paralel Download Cable.
                      Nhà sản xuất chuyên nghiệp các sản phẩm OEM cho gia dụng và công nghiệp.

                      Biến tần
                      Máy giặt
                      Lò vi sóng
                      Bếp từ.
                      Tủ lạnh.
                      Điều hòa

                      Comment


                      • #12
                        Thực ra học VHDL gần như học phần mềm. Lập trình C nếu biết cấu trúc máy tính thì can thiệp sâu hơn , nếu không cũng chẳng sao nếu lập trình ứng dụng.
                        VHDL cũng vậy. Bạn không nhất thiết phải là người chuyên về điện tử hay giỏi lý thuyết mạch..... Chỉ cần bạn có tư duy bao quát bài toán tốt là được. Tất nhiên khái niệm logic số cơ bản thì phải biết. Nếu kiếm cơm bằng VHDL thì phải biết nhiều thứ khác. Vì VHDL là 1 công cụ thôi. Phải có mục đích phục vụ. Cái này tùy theo yêu cầu bài toán. Ví dụ làm về xử lý tín hiệu. Bạn chỉ cần giỏi toán,và môn này là dùng VHDL OK. Kể cả không biết về điện tử ( phần cứng)
                        Nhà sản xuất chuyên nghiệp các sản phẩm OEM cho gia dụng và công nghiệp.

                        Biến tần
                        Máy giặt
                        Lò vi sóng
                        Bếp từ.
                        Tủ lạnh.
                        Điều hòa

                        Comment


                        • #13
                          Nguyên văn bởi MinhHa
                          Thực ra học VHDL gần như học phần mềm. Lập trình C nếu biết cấu trúc máy tính thì can thiệp sâu hơn , nếu không cũng chẳng sao nếu lập trình ứng dụng.
                          VHDL cũng vậy. Bạn không nhất thiết phải là người chuyên về điện tử hay giỏi lý thuyết mạch..... Chỉ cần bạn có tư duy bao quát bài toán tốt là được. Tất nhiên khái niệm logic số cơ bản thì phải biết. Nếu kiếm cơm bằng VHDL thì phải biết nhiều thứ khác. Vì VHDL là 1 công cụ thôi. Phải có mục đích phục vụ. Cái này tùy theo yêu cầu bài toán. Ví dụ làm về xử lý tín hiệu. Bạn chỉ cần giỏi toán,và môn này là dùng VHDL OK. Kể cả không biết về điện tử ( phần cứng)
                          Bác nói đoạn này mình thấy không ổn lắm. Đã gọi là viết VHDL là đẻ dùng cho phần cứng, nên khi viết VHDL quan tâm hàng đầu là cấu trúc phần cứng rồi.
                          Có rất nhiều đoạn code VHDL, nếu đứng trên quan điểm lập trình cấp cao hay ngắn gọn toán học sẽ thấy rườm rà, nhưng khi synthesize xuống phần cứng sẽ đơn giản va phù hợp.
                          Nói chung người viết VHDL giỏi là người khi viết từng dòng lệnh VHDL đã biết được phần cứng bên dưới tương ứng rồi. Vì mục tiêu cuối cùng là hệ thống phần cứng.

                          Comment


                          • #14
                            Nguyên văn bởi lonestar
                            Nói chung người viết VHDL giỏi là người khi viết từng dòng lệnh VHDL đã biết được phần cứng bên dưới tương ứng rồi. Vì mục tiêu cuối cùng là hệ thống phần cứng.
                            Trong trường tôi,sinh viên điện tử bi giờ hầu như ai cũng biết VHDL,và xài FPGA,phổ biến lắm rồi,vấn đề là dùng nó để làm cái gì?tôi nghĩ hơn nhau là ở chỗ tư duy,tối ưu code để đạt được sự tổng hợp tốt nhất,nhiều lúc viết để thực hiện một công việc nào đó,cách này thì quá tốn tài nguyên,ngồi chịu khó sửa code lại một chút thì tài nguyên sử dụng giảm rõ rệt,tốt nhất là viết càng giống mức dataflow thì tổng hợp dễ dàng và ít tài nguyên hơn là viết kiểu behavioral.
                            Đồng ý với quan điểm của lonestar
                            Last edited by TheKing; 02-09-2006, 08:43.

                            Comment


                            • #15
                              Nguyên văn bởi MinhHa
                              Chương trình config cho FPGA có thể nạp cả CODE cho RAM, ROM của FPGA. Khi khai báo RAM hay ROM nếu default thì nó để giá trị 0xFF. Nếu cần bạn có thể chọn 1 file nội dung cho nó. Khi dịch file này được đưa vào trong file output. Bạn nạp cho FPGA là có luôn nội dung trong RAM,ROM... mà bạn khai báo. Ví dụ làm MCU cần viết code trước sau đó dịch ra file HEX. Bạn có thể nạp chương trình vào MCU bạn thiết kế khi nạp chip FPGA.

                              KIT cho CPLD để học rất rẻ mà. Có thể bạn chưa biết.
                              Hổng biết bác nói FPGA của hãng nào,nhưng Xilinx default không phải là 0xFF như mấy con RAM,ROM bán ngoài chợ,mặc định trong Block RAM là zeros(0).
                              Góp ý chút thôi.

                              Comment

                              Về tác giả

                              Collapse

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

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

                              Collapse

                              Đang tải...
                              X