Thông báo

Collapse
No announcement yet.

FPGA cơ bản

Collapse
This is a sticky topic.
X
X
 
  • Lọc
  • Giờ
  • Show
Clear All
new posts

  • #46
    A... em làm được rồi. Mừng quá!!

    Comment


    • #47
      Chào bác "Thớt" cùng mọi người.
      Mình đang tìm hiểu cái này nhưng hiện tại đang dừng ở khái niệm. Mình có vài điều thắc mắc nhờ các bạn giải thích :
      1. FPGA thì như một tổ hợp các khối logic. Nhưng độ tích hợp các khối logic này đến mức nào ? Tối đa là các cổng And, Or... Hay là đến các modul như Adc, Uart, Usb ...? Hay cao hơn nữa. Bởi vì mình cần có 1 modul trên FPGA mà phải tạo từ cái cơ bản thì rất mệt.
      2. Khi dùng code mô tả phần cứng, chương trình sẽ tự chọn các khối logic và kết nối với nhau theo mô tả hay nó sẽ chỉ đưa ra các khối logic mà ta mô tả và ở bước nào đó ta phải nối chúng với nhau như vẽ mạch điện ?
      3. Ta sẽ lựa chọn IO, các khối logic vật lý và kết nối chúng với nhau thủ công để tạo nên phần cứng theo ý muốn ?
      4. Mình thấy các bác dùng Kit sẵn, trong trường hợp mình muốn có thiết kế riêng nó có giống với các IC lập trình khác ? (Nó fix cứng chân nguồn, clock, reset, dao động, nạp ...).
      5. Chương trình của FPGA lưu trên RAM nên sẽ mất khi mất điện do đó phải có 1 bộ nhớ như EEPROM để lưu chương trình. Vậy bộ nhớ RAM và EEPROM mình phải sử dụng một số loại đặc biệt và kết nối với FPGA qua những chân đặc biệt khi thiết kế hay là nó đã tích hợp sẵn trong chip FPGA ?.

      Comment


      • #48
        Độ tích hợp khá đa dạng. Từ đơn giản cỡ thanh ghi dịch cho tới lớn như UART, phức tạp như khối giao tiếp RAM hay mã hóa, giải mã dữ liệu ... Thậm chí khủng là nguyên cái lõi vi xử lý 32 bit chạy được Linux như MicroBlaze của hãng Xilinx chẳng hạn. Bản thân thiết kế cái lõi đấy cũng là miễn phí, mã nguồn mở.

        Nếu thiết kế FPGA theo kiểu "vẽ mạch" thì người dùng sẽ dùng các khối cơ bản mà nhà sản xuất cung cấp sẵn (AND, OR, NOT, flip flop ...) nối lại với nhau y như khi vẽ mạch logic; tuy nhiên cách này thường chỉ dùng cho dự án nhỏ. Dự án trung bình và lớn thường dùng một ngôn ngữ mô tả phần cứng để "lập trình phần cứng" FPGA tương tự lập trình phần mềm máy tính. Có 3 ngôn ngữ lập trình phần cứng phổ biến là VHDL, Verilog và SystemC. Chúng đều là chuẩn quốc tế ENSI/IEC/IEEE nên độc lập một cách tương đối với phần cứng.

        Cũng tương tự phần mềm viết bằng C++ dùng thư viện Qt có thể biên dịch trên cả Windows, Linux lẫn MacOS ... dự án FPGA viết bằng VHDL nếu dùng thư viện tốt cũng sẽ tổng hợp (synthersize) cho cả FPGA của Xilinx lẫn Altera, thậm chí Lattice hay Actel ... (hàng của Actel hơi đặc thù nên không ai dám nói mạnh được).

        VHDL xuất thân từ ADA nên rất giống Pascal. Verilog khá giống C. Còn SystemC thì chính là biến thể từ C++. Nói chung là dễ học với người đã biết lập trình.
        Phần mềm tự do hoặc không dùng máy tính nữa !.

        Comment


        • #49
          Tương tự MCU, người thiêt kế bình thường hoàn toàn đủ khả năng để thiết kế mạch từ đầu dùng FPGA. Dùng kit chỉ là những người mới bắt đầu còn bỡ ngỡ.

          Trước đây, cấu hình FPGA cũng được lưu trong bộ nhớ ngoài Ví dụ họ Spartan-3 và 3E của Xilinx 3 về trước. Sau này các hãng đều chuyển sang lưu ở flash ngay bên trong FPGA, ví dụ Spartan-3A và Spartan-6.
          Phần mềm tự do hoặc không dùng máy tính nữa !.

          Comment


          • #50
            Đồng ý với bqviet thêm nữa là do Basic Technology nên FPGA có khả năng chống nhiễu tốt.
            Technical Institutes
            Mobile: 0983278725
            Email:

            Comment

            Về tác giả

            Collapse

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

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

            Collapse

            Đang tải...
            X