Thông báo

Collapse
No announcement yet.

Tư vấn cho newbie về học FPGA

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

  • Tư vấn cho newbie về học FPGA

    Chào các bác ạ.
    Trước giờ em chỉ làm vs mấy em VDK. Hiện nay FPGA cũng càng ngày càng phổ biến nên em cũng muốn học thêm về nó
    Em cũng từng thiết kế hộ 1 số cái kit FPGA dạng I/O đơn giản như mấy cái kit thí nghiệm dành cho VDK nên cũng biết sơ sơ về nó, trên trường cũng có học sơ bộ qua về VHDL nhưng ngày xưa cái thời còn đi học giáo viên chỉ dạy cho đủ môn chứ ko hề được thực hành nên có thể coi là zero
    Giờ em muốn tự học lại tất cả: Vậy em xin ý kiến các bác cho em biết với dân newbie nên học dòng FPGA nào ạ? dòng nào thông dụng và nhiều tài liệu dễ làm quen dạng như 8051 của VDK để em làm cái hướng đi... đồng thời cho e các lời khuyên khi học FPGA
    thank cả nhà
    Website chính thức đổi địa chỉ website thành
    Mời các bạn ghé thăm !!!

  • #2
    Nguyên văn bởi mast090 Xem bài viết
    Chào các bác ạ.
    Trước giờ em chỉ làm vs mấy em VDK. Hiện nay FPGA cũng càng ngày càng phổ biến nên em cũng muốn học thêm về nó
    Em cũng từng thiết kế hộ 1 số cái kit FPGA dạng I/O đơn giản như mấy cái kit thí nghiệm dành cho VDK nên cũng biết sơ sơ về nó, trên trường cũng có học sơ bộ qua về VHDL nhưng ngày xưa cái thời còn đi học giáo viên chỉ dạy cho đủ môn chứ ko hề được thực hành nên có thể coi là zero
    Giờ em muốn tự học lại tất cả: Vậy em xin ý kiến các bác cho em biết với dân newbie nên học dòng FPGA nào ạ? dòng nào thông dụng và nhiều tài liệu dễ làm quen dạng như 8051 của VDK để em làm cái hướng đi... đồng thời cho e các lời khuyên khi học FPGA
    thank cả nhà
    FPGA nào cũng được, cái nào vừa túi tiền là được.
    Tài liệu thì bạn phải đọc bằng tiếng Anh thôi, tài liệu bằng tiếng Anh thì rất nhiều trên mạng.
    Thông dụng nhất (và rẻ) là Spartan của Xilinx, kế là Cyclone của Altera.
    Phần mềm thì xài bản free của Xilinx hoặc Altera là được rồi.
    Được thì bạn xin đi thực tập lương thấp hoặc không lương từ 6 thang tới 1 năm ở mấy cty dùng FPGA. Vào đó có đủ công cụ hơn.


    Jeff

    Comment


    • #3
      Nguyên văn bởi jefflieu Xem bài viết
      FPGA nào cũng được, cái nào vừa túi tiền là được.
      Tài liệu thì bạn phải đọc bằng tiếng Anh thôi, tài liệu bằng tiếng Anh thì rất nhiều trên mạng.
      Thông dụng nhất (và rẻ) là Spartan của Xilinx, kế là Cyclone của Altera.
      Phần mềm thì xài bản free của Xilinx hoặc Altera là được rồi.
      Được thì bạn xin đi thực tập lương thấp hoặc không lương từ 6 thang tới 1 năm ở mấy cty dùng FPGA. Vào đó có đủ công cụ hơn.
      Jeff
      Hic. Em cũng là dân đi làm rồi, muốn giết nốt thời gian buổi tối nên quay ra học thêm cho nó bổ sung kiến thức chứ có phải là sv đâu mà đi làm ko lượng vs có lương ở cty FPGA, loanh quanh mãi mấy em VDK
      Vậy nên em muốn xin tư vấn nên học dòng nào làm khởi đầu, cụ thể là còn nào cho dễ. em cũng là dân đi theo đúng đường điện tử nên việc đọc tài liệu tiếng anh em cũng ko có j ngại lắm cả, trước giờ cũng quen rồi
      Website chính thức đổi địa chỉ website thành
      Mời các bạn ghé thăm !!!

      Comment


      • #4
        Bạn có thể mua ở đây rồi nhờ người quen cầm về cho bạn hoặc ship về cũng được
        Digilent Inc. - Digital Design Engineer's Source
        :: Terasic Technologies - Expertise in FPGA/ASIC Design ::
        Phần mềm thì free cho Spartan và Cyclone.
        Mấy con đó chạy ngon rồi bạn
        Được thé mua thêm cái oscilloscope

        Comment


        • #5
          các bác cho em hỏi là em đang mô phỏng lại bài demux 1-4,chưong trình của em đây
          PHP Code:
          library IEEE;
          use 
          IEEE.STD_LOGIC_1164.ALL;

          entity demux1_4 is
              Port 
          in  STD_LOGIC_VECTOR (1 downto 0);
                      
          in std_logic;
                     
          out  STD_LOGIC_VECTOR (3 downto 0));
          end demux1_4;

          architecture Behavioral of demux1_4 is

          begin
          demux
          process (a,x)
          begin
           
          if x<='1' then
            
          case a is
            when 
          "00" => <= "0001";
            
          when "01" => <= "0010";
            
          when "10" => <= "0100";
            
          when others => <="1000";
            
          end case;
            --
          end if;
           else 
             
          b<="0000";
           
          end if;
          end process demux;
          end Behavioral
          không hiểu là làm sao mà cấu trục if...then...else.... lại không sử dụng dc,lúc em làm testbench thì không đc mà phải thay bằng 2 vòng if riêng biết thì mới ra đúng kq,các bác chỉ giúp em với

          Comment


          • #6
            Bạn tìm ra lỗi chưa?

            Comment


            • #7
              Nguyên văn bởi jefflieu Xem bài viết
              Bạn tìm ra lỗi chưa?
              mình vẫn chưa tìm ra,tính hỏi thày mà thày lại chơi tết rồi,bài tập về mô phỏng tưong đối nhiều nên mình cũng phải làm hết 1 lượt rồi mới hỏi 1 thể dc,bạn thông cảm
              PS:các bac cho em hỏi là em mô phỏng trên xilinx 13.1 thì nếu muốn dungg system generator của matlab thì phải cài bản matlab theo yêu cầu của xilinx là đc ak,còn nữa là khi mô phỏng trên xilinx thì mình không tạo được cổng buffer (chỗ in/out/inout) ý,nên khi làm toàn báo lỗi
              Last edited by boyzzun; 26-01-2014, 18:37.

              Comment


              • #8
                Nguyên văn bởi boyzzun Xem bài viết
                mình vẫn chưa tìm ra,tính hỏi thày mà thày lại chơi tết rồi,bài tập về mô phỏng tưong đối nhiều nên mình cũng phải làm hết 1 lượt rồi mới hỏi 1 thể dc,bạn thông cảm
                PS:các bac cho em hỏi là em mô phỏng trên xilinx 13.1 thì nếu muốn dungg system generator của matlab thì phải cài bản matlab theo yêu cầu của xilinx là đc ak,còn nữa là khi mô phỏng trên xilinx thì mình không tạo được cổng buffer (chỗ in/out/inout) ý,nên khi làm toàn báo lỗi
                Bạn compile bị lỗi gì?
                Mô phỏng trên Xilinx mô phỏng được hết, không thiếu gì đâu

                Comment


                • #9
                  Nguyên văn bởi jefflieu Xem bài viết
                  Bạn compile bị lỗi gì?
                  Mô phỏng trên Xilinx mô phỏng được hết, không thiếu gì đâu
                  complie thì không lỗi,nhưng mà làm testbench thì không đúng với ý đồ của mình
                  PS: sao lúc mình khai báo các cỏng thì chỉ có in/out hay inout ,không có buffer ở đấy,với lại lúc mô phỏng khi mình đưa cổng buffer với vai trò là cổng out của khối này va là cổng vào của khối kia tthif đều sinh ra lỗi "Parameter q of mode buffer should not be associated with a formal port of mode out".
                  em bị thêm lỗi này nữa :VHDL source expression not yet supported: 'Subtype'
                  Last edited by boyzzun; 26-01-2014, 23:19.

                  Comment


                  • #10
                    Nguyên văn bởi boyzzun Xem bài viết
                    complie thì không lỗi,nhưng mà làm testbench thì không đúng với ý đồ của mình
                    PS: sao lúc mình khai báo các cỏng thì chỉ có in/out hay inout ,không có buffer ở đấy,với lại lúc mô phỏng khi mình đưa cổng buffer với vai trò là cổng out của khối này va là cổng vào của khối kia tthif đều sinh ra lỗi "Parameter q of mode buffer should not be associated with a formal port of mode out".
                    em bị thêm lỗi này nữa :VHDL source expression not yet supported: 'Subtype'

                    1- Bạn dò lại code đi, điều kiện if x<='1' của bạn hơi lạ
                    2- Trong VHDL thì chỉ có các loại cổng đó thôi. Không biết ý của bạn muốn buffer là loại gì. Các buffer sẽ đươc chương trình dịch tự động chèn vào trong lúc compile. Bạn có thể dùng Primitive hoặc cứ để chương trình tự động kèm vào.
                    3- Bạn coi chương trình báo lỗi ở dòng nào trong code của bạn thì tập trung coi lại dòng đó.

                    Comment


                    • #11
                      Nguyên văn bởi jefflieu Xem bài viết

                      1- Bạn dò lại code đi, điều kiện if x<='1' của bạn hơi lạ
                      2- Trong VHDL thì chỉ có các loại cổng đó thôi. Không biết ý của bạn muốn buffer là loại gì. Các buffer sẽ đươc chương trình dịch tự động chèn vào trong lúc compile. Bạn có thể dùng Primitive hoặc cứ để chương trình tự động kèm vào.
                      3- Bạn coi chương trình báo lỗi ở dòng nào trong code của bạn thì tập trung coi lại dòng đó.
                      1.Ok em đã nhận ra lỗi của mình,đã sửa lại rồi keke
                      2.em muốn 1 loại port mà vừa là cổng ra của bọ này lại là cổng vào của bộ khác,thì khai báo ntn
                      3.cái lỗi đấy em đã xóa bài đó đi và viết lại nhưng vẫn bị lỗi đấy,cùng 1 vị trí,dù có xê dịch các số thứ tự của dòng lệnh thì lỗi vẫn lặp ở đúng vị trí đấy
                      PS: lỗi này là lỗi khi em đang viết 1 bài về bộ cộng tích lũy accomulator_32bit (gồm 1 bộ cộng 32 bit và 1 thanh ghi 32 bit),đầu ra q của thanh ghi là đầu vào b của bộ cộng

                      Comment


                      • #12
                        Nguyên văn bởi boyzzun Xem bài viết
                        1.Ok em đã nhận ra lỗi của mình,đã sửa lại rồi keke
                        2.em muốn 1 loại port mà vừa là cổng ra của bọ này lại là cổng vào của bộ khác,thì khai báo ntn
                        3.cái lỗi đấy em đã xóa bài đó đi và viết lại nhưng vẫn bị lỗi đấy,cùng 1 vị trí,dù có xê dịch các số thứ tự của dòng lệnh thì lỗi vẫn lặp ở đúng vị trí đấy
                        PS: lỗi này là lỗi khi em đang viết 1 bài về bộ cộng tích lũy accomulator_32bit (gồm 1 bộ cộng 32 bit và 1 thanh ghi 32 bit),đầu ra q của thanh ghi là đầu vào b của bộ cộng
                        khái niệm cổng in/out/inout là so với cái entity đó, tín hiệu đi vào hay đi ra.
                        Theo như bạn nói, thì đầu ra q của thanh ghi sẽ được nối vào đầu vào b của bộ cộng bằng "signal":

                        accum: register
                        port map( q => thanh_ghi_out, ...);

                        add: adder
                        port map( b => thanh_ghi_out, ...);
                        Một cổng inout có thể lúc là input lúc là output.

                        bidirection_bus: inout std_logic;

                        bidirection_bus <= signal_out when enable='1' else 'Z';

                        signal_in <= bidirectional_bus;

                        Comment


                        • #13
                          Nguyên văn bởi jefflieu Xem bài viết
                          khái niệm cổng in/out/inout là so với cái entity đó, tín hiệu đi vào hay đi ra.
                          Theo như bạn nói, thì đầu ra q của thanh ghi sẽ được nối vào đầu vào b của bộ cộng bằng "signal":



                          Một cổng inout có thể lúc là input lúc là output.
                          bac cho em hỏi cái này cái,em đang dùng xilinx ise 13.1,theo như trên web của xilinx thì phần system generator là phải cài bản 2010b,em cũng đã cài rồi mà vào simulink không có thấy phần dành cho xilinx blockset,vậy h em phải làm sao hả bác
                          PS:em cài xilinx 13.1 logic editon
                          Last edited by boyzzun; 30-01-2014, 12:54.

                          Comment


                          • #14
                            các bác nghỉ tết vui vẻ chứ,giúp em cái vụ đấy với,cái này em cũng mơ hồ lắm

                            Comment


                            • #15
                              Nguyên văn bởi boyzzun Xem bài viết
                              bac cho em hỏi cái này cái,em đang dùng xilinx ise 13.1,theo như trên web của xilinx thì phần system generator là phải cài bản 2010b,em cũng đã cài rồi mà vào simulink không có thấy phần dành cho xilinx blockset,vậy h em phải làm sao hả bác
                              PS:em cài xilinx 13.1 logic editon
                              Bản logic edition hình như ko có kết nối được với system gen đâu bạn ...
                              Mà bạn mới học xài system gen làm gì ?!?!?

                              Comment

                              Về tác giả

                              Collapse

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

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

                              Collapse

                              Đang tải...
                              X