PDA

View Full Version : Embedded system và DSP trên FPGA


D_F_F
12-10-06, 22:34
Chào các bạn,
Lâu lắm rồi D_F_F mới lại post bài (hình như hồi đó giờ cũng mới có mấy bài thôi :)) ). D_F_F muốn giới thiệu một số phần mềm hỗ trợ thiết kế nhúng và DSP trên FPGA của Xilinx (cũng là trả chút ơn cho ngươi đã hỗ trợ cho D_F_F:))). D_F_F có các phần mềm này, tuy nhiên, do hạn chế về bản quyền (D_F_F đi xin của Xilinx, nếu đưa ra ngoài thì mất uy tín lắm) nên D_F_F không thể cung cấp rộng rãi mà chỉ có thể cung cấp hạn chế thôi, mong các bạn thông cảm (nhưng các bạn cũng có thể dùng eMule để tìm, hoặc đi mua ngoài tiệm đĩa cũng có đó).

- Thứ nhất là Embedded Development Kit (EDK) http://www.xilinx.com/ise/embedded_design_prod/platform_studio.htm
EDK là một bộ công cụ phần mềm có chứa hàng chục lõi IP đủ để xây dựng nên một hệ thống nhúng dựa trên lõi mềm 32-bit MicroBlaze hoặc lõi cứng PowerPC (dòng Vitex). Chúng ta có thể hình dung EDK giúp xây dựng một hệ thống phần cứng hoàn chỉnh dựa trên vi xử lý mà sau đó tất cả sẽ được đặt vào trong một FPGA (đương nhiên là của Xilinx). Trong hệ thống này bao gồm CPU (MicroBlaze hoặc PowerPC), các ngoại vi như UART, SPI, Interrupt, Timer và rất nhiều ngoại vi khác (bao gồm cả PCI). Sau khi xây dựng hoàn chỉnh một hệ thống phần cứng (lúc này vẫn chỉ ở dạng sơ đồ trên PC), chúng ta sẽ tiếp tục phát triển chương trình cho hệ thống cũng dùng EDK. Chương trình có thể viết bằng C/C++ một cách nhanh chóng. Tất cả phần cứng, phần mềm sẽ được công cụ EDK (có hỗ trợ của ISE) chuyển thành file .bit cho phép cấu hình FPGA. Lúc này thì FPGA đã biến thành một hệ thống (D_F_F nhấn mạnh là toàn bộ hệ thống vi xử lý) đầy đủ. EDK sẽ giúp rút ngắn thời gian và công sức thiết kế rất nhiều. Nhưng nếu chúng ta cần thêm phần analog thì vẫn phải làm thêm bên ngoài, EDK có hỗ trợ IP cho ADC/DAC nhưng tốc độ không cao lắm.

- Thứ hai là System Generator for DSP http://www.xilinx.com/ise/optional_prod/system_generator.htm
Thực ra công cụ này là một blockset trong Simulink của Matlab. Khi cài đặt nó vào Matlab ta sẽ có thể dùng nó để xây dựng các giải thuật xử lý DSP giống hệt như làm với các blockset khác trong Simulink. Chúng ta có thể lấy các block, kết nối, chạy mô phỏng trong Simulink để xem kết quả. Nếu thỏa mãn, ta chỉ việc ra lệnh xuất ra file .bit để cấu hình cho FPGA là xong.

- Hai công cụ này sẽ giúp giảm rất nhiều công sức, thời gian khi thiết kế. Hy vọng là các bạn sẽ quan tâm và có thể tận dụng tốt.

ITpro
15-10-06, 10:33
Bác ơi up nó lên http://kho.tailieuvietnam.net/ đi . Không ai biết đâu ;;)

D_F_F
18-10-06, 14:15
@ITpro: vậy D_F_F có lẽ sẽ upload nó trong một khoảng thời gian nào đó (chắc khoảng 2 tuần, sau đó sẽ xóa). Mong các bạn thông cảm. Địa chỉ download sẽ được thông báo cụ thể vào thứ 2 tuần sau.

XilinxUD2007
17-10-07, 10:38
D_F_F ơi, đợi cái upload của bác lâu quá xá.

Lập trình nhúng cho FPGA rất là thú vị. Mình đã làm được thực tế trên thằng PicoBlaze (VDK 8bit nhúng trên FPGA) nhưng thằng MicroBlaze (ARM 32 bit trên FPGA) thì bị kẹt vì chưa tìm ra bộ công cụ như bác D_F_F đã nói. DSP trên FPGA cũng là một hướng rất hay và hoàn toàn có thể nghiên cứu được.

Vậy tha thiết mong bác upload hoặc chỉ cho địa chỉ để mình mua cũng được. Nếu được cho mình địa chỉ mua bộ SG luôn nhé.

D_F_F
29-10-07, 22:31
Tại D_F_F thấy không có nhiều người quan tâm nên...:). EDK bây giờ lớn lắm nên cũng khó upload. D_F_F chỉ có EDK 7.1i. Bạn có thể dùng eMule để tìm bản mới hơn về sử dụng. Nhớ là nó phải cùng phiên bản với ISE.

ngohaibac
30-10-07, 00:23
To anh D_F_F: em đang cần bản System Generator for DSP version 9.1. Khổ nỗi bọn Xilinx chỉ cho down bản mới nhất là 9.2 thôi.

Hoặc là anh có bản System Generator for DSP 8.2 cũng được.

Điều vớ vẩn nữa là System Generator chỉ hỗ trợ 2 phiên bản mới nhất tại thời điểm bản đó ra đời thôi. Hic hic.

Anh có thể chát với em dc không ạ. Yahoo ID của em: haibac_ac_hut

Chúc anh thành công.

DTTH
14-11-07, 22:26
Hỏi anh D_F_F một chút :
Em thấy thiết kế FPGA bằng VHDL hoặc Verilog là đương nhiên rồi, ngoài ra còn có "Impulse C™" cũng khá hay . không biết anh đã nghiên cứu về món này chưa.
Em tìm trên mạng mãi và vẫn không thể kiếm được nó.

et2
14-11-07, 22:43
Tại D_F_F thấy không có nhiều người quan tâm nên...:). EDK bây giờ lớn lắm nên cũng khó upload. D_F_F chỉ có EDK 7.1i. Bạn có thể dùng eMule để tìm bản mới hơn về sử dụng. Nhớ là nó phải cùng phiên bản với ISE.

Mình đã upload lên rapidshare.com bộ ISE và EDK version 8.2i từ lâu và có mấy bạn đã liên lạc qua Tin nhắn để xin rồi.
Bạn nào có nhu cầu thì liên lạc với mình, mình không thể post link lên diễn đàn được (serial các bạn tự xoay sở vậy 8-|).
Bộ tool của xilinx mình thu thập cũng nhiều ( ISE, EDK, PlanAhead, System Generator, ChipScope ) nhưng cũng chỉ mới động đến ISE, EDK và PlanAhead. #:-S.
Bạn nào có kinh nghiệm System Generator và ChipScope, nếu có hứng thú thì post mấy bài tutorial lên cho anh em đi.

et2
14-11-07, 22:51
Chào các bạn,
Lâu lắm rồi D_F_F mới lại post bài (hình như hồi đó giờ cũng mới có mấy bài thôi :)) ). D_F_F muốn giới thiệu một số phần mềm hỗ trợ thiết kế nhúng và DSP trên FPGA của Xilinx (cũng là trả chút ơn cho ngươi đã hỗ trợ cho D_F_F:))). D_F_F có các phần mềm này, tuy nhiên, do hạn chế về bản quyền (D_F_F đi xin của Xilinx, nếu đưa ra ngoài thì mất uy tín lắm) nên D_F_F không thể cung cấp rộng rãi mà chỉ có thể cung cấp hạn chế thôi, mong các bạn thông cảm (nhưng các bạn cũng có thể dùng eMule để tìm, hoặc đi mua ngoài tiệm đĩa cũng có đó).

- Thứ nhất là Embedded Development Kit (EDK) http://www.xilinx.com/ise/embedded_design_prod/platform_studio.htm
EDK là một bộ công cụ phần mềm có chứa hàng chục lõi IP đủ để xây dựng nên một hệ thống nhúng dựa trên lõi mềm 32-bit MicroBlaze hoặc lõi cứng PowerPC (dòng Vitex). Chúng ta có thể hình dung EDK giúp xây dựng một hệ thống phần cứng hoàn chỉnh dựa trên vi xử lý mà sau đó tất cả sẽ được đặt vào trong một FPGA (đương nhiên là của Xilinx). Trong hệ thống này bao gồm CPU (MicroBlaze hoặc PowerPC), các ngoại vi như UART, SPI, Interrupt, Timer và rất nhiều ngoại vi khác (bao gồm cả PCI). Sau khi xây dựng hoàn chỉnh một hệ thống phần cứng (lúc này vẫn chỉ ở dạng sơ đồ trên PC), chúng ta sẽ tiếp tục phát triển chương trình cho hệ thống cũng dùng EDK. Chương trình có thể viết bằng C/C++ một cách nhanh chóng. Tất cả phần cứng, phần mềm sẽ được công cụ EDK (có hỗ trợ của ISE) chuyển thành file .bit cho phép cấu hình FPGA. Lúc này thì FPGA đã biến thành một hệ thống (D_F_F nhấn mạnh là toàn bộ hệ thống vi xử lý) đầy đủ. EDK sẽ giúp rút ngắn thời gian và công sức thiết kế rất nhiều. Nhưng nếu chúng ta cần thêm phần analog thì vẫn phải làm thêm bên ngoài, EDK có hỗ trợ IP cho ADC/DAC nhưng tốc độ không cao lắm.

- Thứ hai là System Generator for DSP http://www.xilinx.com/ise/optional_prod/system_generator.htm
Thực ra công cụ này là một blockset trong Simulink của Matlab. Khi cài đặt nó vào Matlab ta sẽ có thể dùng nó để xây dựng các giải thuật xử lý DSP giống hệt như làm với các blockset khác trong Simulink. Chúng ta có thể lấy các block, kết nối, chạy mô phỏng trong Simulink để xem kết quả. Nếu thỏa mãn, ta chỉ việc ra lệnh xuất ra file .bit để cấu hình cho FPGA là xong.

- Hai công cụ này sẽ giúp giảm rất nhiều công sức, thời gian khi thiết kế. Hy vọng là các bạn sẽ quan tâm và có thể tận dụng tốt.

Anh Thắng à?

DTTH
14-11-07, 23:06
Mình đã upload lên rapidshare.com bộ ISE và EDK version 8.2i từ lâu và có mấy bạn đã liên lạc qua Tin nhắn để xin rồi.
Bạn nào có nhu cầu thì liên lạc với mình, mình không thể post link lên diễn đàn được (serial các bạn tự xoay sở vậy 8-|).
Bộ tool của xilinx mình thu thập cũng nhiều ( ISE, EDK, PlanAhead, System Generator, ChipScope ) nhưng cũng chỉ mới động đến ISE, EDK và PlanAhead. #:-S.
Bạn nào có kinh nghiệm System Generator và ChipScope, nếu có hứng thú thì post mấy bài tutorial lên cho anh em đi.

Bạn giúp mình link được không , acc tại rapid minh có .xin chân thành cảm ơn.

et2
14-11-07, 23:18
Bạn giúp mình link được không , acc tại rapid minh có .xin chân thành cảm ơn.

Bạn gửi tin nhắn cho mình rồi mình reply lại nhé.

phoenixdown
15-11-07, 13:36
bạn cũng có thể thiết kế FPGA và lập trình hệ nhúng bằng Altium Designer. ALtium Designer hỗ trợ toàn bộ các công việc thiết kế điện tử từ thiết kế mach nguyên lý, mô phỏng tín hiệu phức hợp, thiết kế mạch in, cho đến thiết kế FPGA bằng VHDL hoặc Verilog, mô phỏng FPGA, lập trình cho các lõi vi xử lý, vi điều khiển nhúng trong FPGA. Đặc biệt hơn, với ALtium Designer, bạn có thể thiết kế cho nhiều dòng FPGA khác nhau của các hãng khác nhau như Xilinx, Altera, Actel, Lattice, ... Altium Designer cũng cung cấp một số lõi vi xử lý từ 8 bit đến 32 bit trong thư viện như TSK51/52, TSK16, TSK80 MicroBlaze, vi xử lý RISC, TSK3000, ARM7,.... cùng hàng trăm các linh kiện logic đã được lập trình VHDL và tổng hợp sẵn.
Mở ngoặc một chút, các lõi vi xử lý hầu hết không free, thậm chí một số lõi cực kỳ đắt (như ARM)

phoenixdown
15-11-07, 13:56
http://www.altium.com/products/AltiumDesigner/Electronicproductdevelopment/

Duc_NT
22-11-07, 06:16
Các bạn xem qua bài giới thiệu về "Vai trò FPGA với ứng dụng nhúng" (http://thongtincongnghe.com/article/2197)

et2
22-11-07, 21:57
bạn cũng có thể thiết kế FPGA và lập trình hệ nhúng bằng Altium Designer. ALtium Designer hỗ trợ toàn bộ các công việc thiết kế điện tử từ thiết kế mach nguyên lý, mô phỏng tín hiệu phức hợp, thiết kế mạch in, cho đến thiết kế FPGA bằng VHDL hoặc Verilog, mô phỏng FPGA, lập trình cho các lõi vi xử lý, vi điều khiển nhúng trong FPGA. Đặc biệt hơn, với ALtium Designer, bạn có thể thiết kế cho nhiều dòng FPGA khác nhau của các hãng khác nhau như Xilinx, Altera, Actel, Lattice, ... Altium Designer cũng cung cấp một số lõi vi xử lý từ 8 bit đến 32 bit trong thư viện như TSK51/52, TSK16, TSK80 MicroBlaze, vi xử lý RISC, TSK3000, ARM7,.... cùng hàng trăm các linh kiện logic đã được lập trình VHDL và tổng hợp sẵn.
Mở ngoặc một chút, các lõi vi xử lý hầu hết không free, thậm chí một số lõi cực kỳ đắt (như ARM)

Mới chỉ nghía qua video demo trên trang web thì thấy rằng: trong thiết kế FPGA với các core MCU, Altium Designer chỉ làm cái vỏ ngoài thôi, rồi lại gọi đến các chương trình synthesis gốc của các hãng (ISE, EDK, Quartus). Như thế làm các ứng dụng đơn giản thì ok, không biết làm các thứ phức tạp hơn có ok ko?

NEO3F
23-11-07, 13:31
Mọi người nói rất nhiều, thậm chí làm rất nhiều nhưng rút cuộc hệ thống nhúng là gì? Một hệ thống có những tiêu chuẩn nào thì được gọi là hệ thống nhúng ???

phoenixdown
24-11-07, 22:00
Mới chỉ nghía qua video demo trên trang web thì thấy rằng: trong thiết kế FPGA với các core MCU, Altium Designer chỉ làm cái vỏ ngoài thôi, rồi lại gọi đến các chương trình synthesis gốc của các hãng (ISE, EDK, Quartus). Như thế làm các ứng dụng đơn giản thì ok, không biết làm các thứ phức tạp hơn có ok ko?
Đúng. AD thực hiện cái vỏ ngoài, còn thực hiện bên trong FPGA vẫn do các vendor tools đảm nhận. Tuy nhiên AD làm được tất cả, từ các ứng dụng đơn giản đến phức tạp. AD chỉ cần các vendor tools như Xilinx ISE, Altera Quatus, Actel Libero,... (chỉ cần bản webpack free) để tiến hành synthesis, optimization và place & route. Còn EDK của Xilinx để lập trình nhúng thì ko cần thiết. AD tận dụng những công cụ free đó, cùng với những công cụ của mình để biến những thiết kế trên FPGA (VHDL, embedded software) thành những file bit, sau cùng dùng Place & Route của các bản webpack để download cho FPGA hay CPLD. Nếu bạn muốn mô phỏng FPGA, thông thường bạn cần thêm Model Sim; nhưng với AD thì đã tích hợp sẵn công cụ mô phỏng online và offline rồi. Tất cả đều trong một môi trường thiết kế duy nhất. Rất tiện phải không?
Nếu bạn đã dùng thử KIT phát triển Nanoboard của Altium thì thấy tuyệt hơn nữa. Các FPGA có thể tháo ra, lắp vào KIT. Có thể vô tư thay đổi các dòng, các họ FPGA của nhiều hãng. Tôi đã từng thử với Xilinx Spartan2E, Spartan 3, Coolrunner; Altera Cyclone và Actel ProASIC 3

xuantung
06-12-07, 17:13
mình cũng biết đôi chút về System Generator.mình sẽ chia sẻ cùng các bạn.tuy nhiên mình chỉ có bộ ba đủ: System Generator v7.1;Matlab 7.0;ISE7.1.

et2
06-12-07, 18:08
Đúng. AD thực hiện cái vỏ ngoài, còn thực hiện bên trong FPGA vẫn do các vendor tools đảm nhận. Tuy nhiên AD làm được tất cả, từ các ứng dụng đơn giản đến phức tạp. AD chỉ cần các vendor tools như Xilinx ISE, Altera Quatus, Actel Libero,... (chỉ cần bản webpack free) để tiến hành synthesis, optimization và place & route. Còn EDK của Xilinx để lập trình nhúng thì ko cần thiết. AD tận dụng những công cụ free đó, cùng với những công cụ của mình để biến những thiết kế trên FPGA (VHDL, embedded software) thành những file bit, sau cùng dùng Place & Route của các bản webpack để download cho FPGA hay CPLD. Nếu bạn muốn mô phỏng FPGA, thông thường bạn cần thêm Model Sim; nhưng với AD thì đã tích hợp sẵn công cụ mô phỏng online và offline rồi. Tất cả đều trong một môi trường thiết kế duy nhất. Rất tiện phải không?
Nếu bạn đã dùng thử KIT phát triển Nanoboard của Altium thì thấy tuyệt hơn nữa. Các FPGA có thể tháo ra, lắp vào KIT. Có thể vô tư thay đổi các dòng, các họ FPGA của nhiều hãng. Tôi đã từng thử với Xilinx Spartan2E, Spartan 3, Coolrunner; Altera Cyclone và Actel ProASIC 3
Đoạn đánh dấu mình không hiểu rõ ý bạn, không cần thiết nghĩa là AD tự làm chức năng của EDK, hay là làm embedded trên FPGA là không cần thiết. Còn EDK chỉ free cho nghiên cứu ở một mức độ nào đó thôi.
Cám ơn trước vì những thông tin bạn mang lại.

phoenixdown
06-12-07, 22:09
AD bản thân đã có chức năng của ISE, EDK, Modelsim,...

et2
06-12-07, 22:27
AD bản thân đã có chức năng của ISE, EDK, Modelsim,...
Chính xác nó gọi đến ISE, EDK, Modelsim chứ không thể làm các chức năng này được.

phamquyet
09-12-07, 12:13
Nghe các bác bàn bạc em rất khoái, em cũng muốn làm vài thử vài thứ và ứng dụng trên kit FPGA, em mới học qua VHDL nên cũng lơ mơ lắm, nếu có gì em nhờ các bác giúp nhé.
Thanks các bác nhìu nhìu!!..

phamquyet
09-12-07, 12:14
À các bác này, em đang định tìm hiểu về cái gọi là Embed System trên FPGA, vậy bác nào đã tìm hiểu rồi chỉ cho em với, hehee, được vậy thì không còn gì quý hơn.
Cảm ơn các bác.

et2
09-12-07, 20:35
À các bác này, em đang định tìm hiểu về cái gọi là Embed System trên FPGA, vậy bác nào đã tìm hiểu rồi chỉ cho em với, hehee, được vậy thì không còn gì quý hơn.
Cảm ơn các bác.

http://www.thongtincongnghe.com/article/2197
Bạn vào đây sẽ có cái nhìn tổng quan về embedded trong FPGA.

accl1980
21-06-09, 10:11
Chào mọi người.Mình là Hùng,từ Học viện kỹ thuật quân sự.Mình đang tìm các phiên bản thấp hơn System Generator for DSP 8.1,System Generator for DSP 7.1,System Generator for DSP 6.1,System Generator for DSP 8.1.01 .Ai có hoặc biết ở đâu có làm ơn chỉ cho mình. Email: accl1980@gmail.com.