Nếu đây là lần đầu tiên đến với Điện Tử Việt Nam, bạn có thể đọc phần Hỏi đáp bằng cách nhấn vào liên kết. Có thể bạn cần đăng kí trước khi có thể gửi bài . Để bắt đầu xem bài viết, chọn diễn đàn bạn muốn thăm dưới đây.
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
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.
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!
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.
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.
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
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)
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
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
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
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.
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
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.
Trừ trường hợp công suất (rất) thấp, hầu như tất cả các loại nguồn xung thông thường đều có tụ nhỏ 1 - 10nF nối giữa sơ cấp và thứ cấp, để thoát nhiễu và để chống hiện tượng tương tự tĩnh điện. Vụ này đã thảo luận vài...
Dạ chú sắm con át chống giật và thay nguồn tổ ong khác cho an toàn ạ. Đa phần nguồn xung đều xả nhiễu của bên thứ cấp về điện lưới qua 1 con tụ nên cảm giác tê sẽ khó xác định rõ ràng là do rò điện hay là nó vốn vậy...
Xin chào mọi người. E có sử dụng 1 cục nguồn tổ ong 12v-30A chạy đèn led xe trà sữa. Mà thợ thi công bị rò điện nên điện rò ra khung xe. E dùng đồng hồ đo điện ở khung xe và cả output thì thấy có dòng điện xoay chiều hơn 100v. Nên chạm...
Comment