Circuit design with VHDL, Volnei A Pedroni This textbook teaches VHDL using system examples combined with programmable logic and supported by laboratory exercises While other textbooks concentrate onl[.]
Circuit design with VHDL, Volnei A Pedroni This textbook teaches VHDL using system examples combined with programmable logic and supported by laboratory exercises While other textbooks concentrate only on language features, Circuit Design with VHDL offers a fully integrated presentation of VHDL and design concepts by including a large number of complete design examples, illustrative circuit diagrams, a review of fundamental design concepts, fully explained solutions, and simulation results The text presents the information concisely yet completely, discussing in detail all indispensable features of the VHDL synthesis The book is organized in a clear progression, with the first part covering the circuit level, treating foundations of VHDL and fundamental coding, and the second part covering the system level (units that might be located in a library for code sharing, reuse, and partitioning), expanding upon the earlier chapters to discuss system coding Part I, “Circuit Design,” examines in detail the background and coding techniques of VHDL, including code structure, data types, operators and attributes, concurrent and sequential statements and code, objects (signals, variables, and constants), design of finite state machines, and examples of additional circuit designs Part II, “System Design,” builds on the material already presented, adding elements intended mainly for library allocation; it examines packages and components, functions and procedures, and additional examples of system design Appendixes on programmable logic devices (PLDs/FPGAs) and synthesis tools follow Part II The book’s highly original approach of teaching through extensive system examples as well as its unique integration of VHDL and design make it suitable both for use by students in computer science and electrical engineering Kit FPGA I ) Kit phát triển Các Kit phát triển FPGA mắc tiền (so với túi tiền người Việt) Mình giới thiệu với bạn kit phát triển rẻ (và làm qua).Theo biết Kit có số trường đại học Kỹ thuật, mua Vietnam * Altera FPGA : + Cyclone II FPGA Starter Development Kit (DE1) [150USD] + Cyclone III FPGA Starter Kit [199USD] * Xilinx FPGA : + Spartan-3 Starter Kit [149USD] (Mình nhớ trước có 99USD thơi mà thành 149USD khơng biết) II) Cơng cụ phát triển • Altera FPGA : o Altera Quartus o Altera Nios IDE o Altera SoPC Builder • Xilinx FPGA o Xilinx ISE o Xilinx EDK o Xilinx Base System Builder (BSB) • Mơ o Mentor Graphics ModelSim II)Ngôn ngữ mô tả phần cứng : Không giống CPU/DSP…FPGA thực khơng lập trình để chạy chương trình định sẵn (Trừ việc phải lập trình cho CPU nằm Chip có).vì bạn người bắt đầu với FPGA mà biết lập trình cần phải thay đổi suy nghĩ quen làm việc với logic cao cấp (logic người) Làm để bạn thiết kế hệ thống (hoặc chip) có chức ? Nếu hệ thống bạn khơng gồm CPU,thì đơn giản sử dụng tất IC số mà bạn có (mux/demux, adder, counter, Logic gate, latch, buffer, FlipFlop…) ghép nối với hoàn tất thiết kế Một số thống cần trăm IC số FPGA hiểu đơn giản thiết bị cung cấp cho bạn “hơp đa năng” mà biến thành IC số Các FPGA chứa hàng nghìn/chục nghìn trí vài trăm nghìn “hộp” Vậy nhiệm vụ định (config) dạng hộp đa (FlipFlop hay Logic Gate hay Latch …) ghép nối chúng lại với hoàn tất hệ thống Vấn đề nảy sinh thiết kế phức tạp sử dụng vài trăm/nghìn trí vài trăm nghìn kết nối logic dẫn đến phương pháp ghép nối theo kiểu đồ họa không khả thi.Và người ta phát minh ngôn ngữ mô tả hoạt động, cách ghép nối…các phần cứng với gọi ngôn ngữ mô tả phần cứng HDL (Hardware Description Language) Ngôn ngữ mô tả phần cứng giúp mô tả ngắn gọn, dễ hiểu, đơn giản hoạt động phần cứng Tuy ngôn ngữ HDL đóng vai trị lớn việc thiết kế phần cứng, phương pháp đồ họa (đã nói trên) thường sử dụng kết hợp với ngôn ngữ HDL số trường hợp cần thiết (cái giải thích dài dịng lắm, quan tâm hỏi, trả lời sau) Sau đoạn ngôn ngữ mô tả phần cứng (Verilog HDL) cho mạch điện bên cạnh.(Đoạn chương trình tự viết cho mục đích mơ tả khái niệm, nên chưa test) Hình thu nhỏ 63.78% so với nguyên gốc Click vào để xem hình nguyên gốc có kích thước 784 x 349 Ngơn ngữ mơ tả phần cứng gồm có ngơn ngữ Abel (ít dùng), Verilog HDL VHDL.Việc lựa chọn ngôn ngữ tùy thuộc vào lựa chọn bạn khơng có ý kiến việc ngơn ngữ tốt (thực ý kiến có khơng dám nói thơi).Mình dùng Verilog nên cần hỏi Verilog giúp được, cịn VHDL chịu III)Tài liệu nâng cao FPGA/Verilog: - Asic lập trình (Tống Văn On) - Lập trình Asic (Tống Văn On) - Thiết kế vi mạch CMOS VLSI (Tống Văn On) - A Verilog HDL Primer (J.Bhasker) - The Verilog Hardware Description Language (Thomas & Moorby) - Tài liệu hướng dẫn Altera Xilinx FPGA ? FPGA viết tắt thuật ngữ tiếng anh “Field programmable Gate Array”, nghĩa Mảng cổng lập trình dạng trường FPGA thuộc họ ASIC lập trình * Ý nghĩa vai trị FPGA ASIC lập trình xuất từ lâu dạng PLD (Programmable Logic Device), vai trò dạng ASIC khơng nhiều số lượng cổng Chip dẫn tới chức PLD nghèo nàn thường sử dụng với nhiệm vụ hạn chế toàn hệ thống Kể từ năm 1980,Các công ty sản xuất PLD hàng đầu đẩy mạnh trình nghiên cứu FPGA nhanh chóng cho hệ FPGA với số lượng cổng tốc độ ngày cao.các FPGA có số lượng cổng đủ lớn để thay hệ thống bao gồm lõi CPU, Bộ điều khiển nhớ (Memory Controller), ngoại vi SPI,Timer, I2C, GPIO, PWM, Video/Audio Controller… (nghĩa tương đương với SoC đại).Tuy nhiên,FPGA so sánh với ASIC SoC kinh tế lẫn tốc độ họa động.Nhưng bù lại, với khả tái cấu hình mạnh, FPGA đóng vai trị vơ to lớn việc giảm giá thành thời gian chế tạo ASIC cách sử dụng FPGA trình thiết kế luận lý trước đưa sản xuất ASIC mẫu Quy trình sản xuất Chip ASIC cách gọi fabless phổ biến giới, giúp công ty nhỏ vừa đặc biệt nước yếu công nghệ Việt nam tham gia vào giới IC Để giải thích cho bạn hiểu rõ quan trọng lớn FPGA, tơi cho bạn ví dụ rõ Trước đây, muốn chế tạo Chip Vi Xử Lý.Người ta phải thiết kế Chip mức logic sử dụng ngôn ngữ mô tả phần cứng, Để kiểm tra công đoạn người ta sử dụng phần mềm mơ phỏng.Sau thiết kế phải tổng hợp dựa thư viện cấp thấp hãng mà bạn sản xuất Chip bạn sau này, sau q trình kiểm tra timing (định thời) cho toàn thiết kế để đảm bảo thiết kế bạn hoạt động tần số yêu cầu.Tất công đoạn kiểm tra phần mềm mơ (Điều dẫn tới nguy xảy sai xót lớn chuyển thiết kế sang mơi trường Chip thực ) Sau bạn gởi thiết kế tới cơng ty sản xuất Chip phó mặc cho số phận,một chip mẫu giá vài triệu đô la chuyển cho bạn, sau bạn bắt đầu q trình test chip mơi trường thực, thất bại, khả lớn bạn phải thực lại hồn tồn qui trình thiết kế nói trên, lần vậy, phải bỏ sọt rác nhiều triệu đô la khỏang thời gian nghiên cứu lớn, quy trình làm cho đất nước nghèo việt nam tham gia vào chơi đất nước giàu có giới ASIC Nhưng với FPGA,bạn khơng rút ngắn thới gian thực ASIC mà cịn giảm chi phí nghiên cứu tối đa q trình kiểm tra thiết kế khơng kiểm tra phần mềm mô mà cịn chạy Chip thực mội trường nói gần với mơi trường ASIC thực Khả tái cấu hình cho phép bạn sửa sửa lại thiết kế đạt yêu cầu mà không tốn xu tiền điện mà bạn phải trả * Một ứng dụng quan trọng thiết thực (tơi bạn) Có lẽ đọc phần hình dung ý nghĩa to lớn, vai trò quan trọng FPGA Nhưng sản xuất ASIC điều xa vời đại đa số chúng ta, có số bạn tự hỏi không sử dụng trực tiếp FPGA sản phẩm cuối bạn, có cấm hay thu tiền quyền việc đâu Thực tế FPGA hay sử dụng hệ thống SDR (Software Defined Radio) khả tái cấu hình giúp chức thiết bị thay đổi nhanh chóng, bạn hỏi hệ thống CPU/MCU/DSP làm chuyện dễ dàng? Nhưng thực có nhiều ứng dụng tốc độ cao mà MCU chí CPU/DSP trung bình phải bất lực * Tại phải dùng FPGA bạn nắm tay MCU/CPU chí DSP cực mạnh + MCU/CPU/DSP cần hardware khác bên cạnh ứng dụng chuyên dụng + Để điều khiển VGA sử dụng CPU làm controller cần CPU với tốc độ 27Mhz hoạt động 100% CPU + Các ứng dụng xử lý hình ảnh/video, ứng dụng mạng neuron,IA cần tốc độ xử lý lớn Mặc dù DSP đủ mạnh SoC mạnh thực được, lựa chọn phụ thuộc vào vấn đề kinh tế + Có bạn nghĩ thiết kế CPU mình, với FPGA bạn hồn tồn thực điều + Đến với FPGA,bạn có hội để tiếp cận gần giới IC + Bạn thực hệ thống với đầy đủ CPU/Peripheral/IO… kết nối chúng theo ý muốn,hoặc chí hệ thống đầy đủ không cần CPU Chip giải mã/nén Video/Audio, Chip xử lý hình ảnh/giọng nói, Chip PID Motor Controller, networking chip … * Kit phát triển FPGA ứng dụng demo : Kit Xilinx Spartan-3 FPGA Starter Kit Board (Giá $149.00) Kit Altera Cyclone III FPGA Starter Kit (Giá $199.00) Hình thu nhỏ 74.29% so với nguyên gốc Click vào để xem hình ngun gốc có kích thước 673 x 468 Các Kit Starter Kit, nhìn nhiều Chip thơi thực có FPGA thơi,mấy lai chủ yếu SRAM/DRAM, Flash, Bộ config Nguồn ngoại vi… Dưới Kit giáo dục mạnh Altera (DE1,DE2) dùng phổ biến nhiều trường đại học giới (Kit Terasic thiết kế chế tạo).Nếu sinh viên điện tử năm 3,4 trường ĐH BK TPHCM ĐH Tự Nhiên TPHCM có lẽ biết rõ loại Kit Altera DE1 – Development and Education Board (Giá $150.00) Hình thu nhỏ 77.76% so với nguyên gốc Click vào để xem hình ngun gốc có kích thước 643 x 514 Altera DE2 – Development and Education Board (Academic price :$269) Hình thu nhỏ 63.78% so với nguyên gốc Click vào để xem hình ngun gốc có kích thước 784 x 454 Các Kít phát triển FPGA đa dạng dùng cho nhiều mục đích khác gồm phần : FPGA, Bộ nhớ (SRAM/DRAM/Flash), Ngoại vi, cấu hình (Configuration device), nguồn Nhìn hai loại board trên, mạch diện,IC dày đặc,1 nhìn đơn giản, thực Kit DE có ngoại vi kèm để dùng cho mục đích phát triển khác nhau, cịn chip FPGA tương đượng thơi, thâm chí cịn yếu Starter Kit Các ứng dụng demo Kit phát triển Altera DE1,DE2 Hình thu nhỏ 63.78% so với nguyên gốc Click vào để xem hình ngun gốc có kích thước 784 x 274 Hình thu nhỏ 63.78% so với nguyên gốc Click vào để xem hình nguyên gốc có kích thước 784 x 224 Hình thu nhỏ 63.78% so với nguyên gốc Click vào để xem hình ngun gốc có kích thước 784 x 233 Hình thu nhỏ 67.57% so với nguyên gốc Click vào để xem hình ngun gốc có kích thước 740 x 490 Hình thu nhỏ 85.47% so với nguyên gốc Click vào để xem hình ngun gốc có kích thước 585 x 453 Hình thu nhỏ 67.57% so với nguyên gốc Click vào để xem hình ngun gốc có kích thước 740 x 412 * Nếu bạn có câu hỏi xin thảo luận luồng PS: Bài viết viết dựa kinh nghiệm kiến thức ASIC FPGA nên không tránh khỏi nhiều sai xót,mong nhận góp ý từ bạn quan tâm Tài liệu tham khảo lấy từ website : - web altera.com - xilinx.com - terasic.com Ứng dụng ngôn ngữ VHDL thiết kế phần cứng Ngôn ngữ VHDL cung cấp để hổ trợ phát triển hệ thống phần cứng dựa loại mạch(chip) tích hợp tốc độ cao(VHSIC-Very High Speed Integrated Circuit) Việc sử dụng loại chíp kiểu thay dần IC logic mà thường sử dụng việc thiết kế mạch số, đem lại nhiều lợi ích tiện việc phát triển hệ thống số mà phương thức thiết mạch số truyền thống khó khơng thể thực VHDL loại ngôn ngữ mô tả phần cứng Hiện có nhiều loại ngơn ngữ mơ tả phần cứng sử dụng verilog hay ABEL… ngôn ngữ có ưu điểm thuận tiện cho người sử dụng Ở không so sánh ngôn ngữ miêu tả phần cứng với Việc quan phải nắm bắt sử dụng thành thao loại ngôn ngữ bắt đầu tiếp cận với việc thiết kế hệ thống mạch số dựa chip tích hợp VHDL khơng phải ngơn ngữ lập trình cung hỗ trợ cấu trúc, cú pháp giống ngơn ngữ lập trình thơng dụng C hay Basic Do VHDL phải lược bỏ phần khơng thích hợp áp dụng cho việc thiết kế phần cứng phần mềm VHDL ngôn ngữ miêu tả phần cứng thông dụng tương thích với nhiều mơi trương ( cơng cụ) phát triển cho chip nhiều hãng sản xuất chip khác Sử dụng VHDL để miêu tả phần cứng tức rõ cách thức giao tiếp mạch cứng với mạch bên hoạt động, cấu trúc bên mạch để đáp ứng xử lý tín hiệu lắp ghép vào hệ thống Cách thức giao tiếp bao gồm việc thống kê số lượng chân giao tiếp với mạch bên định dạng cho chúng chân nhập xuất tín hiệu Sự miêu tả có mức miêu tả cấu trúc (Structural) miêu tả cách thức, đặc tính (behavioral) Miêu tả cấu trúc hệ thống tức miêu tả hệ thống thông qua tập hợp cổng logic thành phần hỗ trợ cách thức kết nối giũa thành phần với Hình thức miêu tả sử dụng nhiều công cụ thiết kế phần cứng truyền thống cịn ngơn ngữ VHDL việc sử dụng cách thức miêu tả thơng qua tốn tử logic (AND, OR, ) tương ứng với thành phần logíc kết hợp tốn tử để hình thành lên cấu trúc số Hình thức miêu tả cao behavioral Hình thức cách thức xử lý tín hiệu qua hệ thống Mơ tả behavioral chia thành hình thức miêu tả dataflow Algorithmic Người thiết kế kết hợp hình thức miêu tả với file thiết kế Mức mô tả behavioral thường người thiết kế sử dụng với hình thức mơ tả người thiết kế quan tâm nhiều đến cấu trúc phần cứng bên hệ thống mà tập chung vào mổ tả hay định hình việc xử lý liệu hệ thống Cịn mức mơ tả cấu trúc địi hỏi người thiết kế phải nắm bắt xây dựng cấu trúc hệ thống thông qua phần tử logic bản, địi hỏi người thiết kế phải có nhiều kinh nghiệm việc thiết kế mạch số trình phân tích hệ thống khó khăn Thơng thường người thiết kế thường sử dụng kiểu mô tả để ghép nỗi phần thiết kế hệ thống vời Cấu trúc file thiết kế dữa ngôn ngữ VHDL thông thường bao gồm phần -phần khai báo thư viện sử dụng thiết kế -phần khai báo đối tượng thiết kế -phần mô tả cấu trúc đối tượng Trên thiết kê có nhiều đối tượng thiết kế lặp ghép với Mỗi đối tượng (entry) hiểu module mạch hay tổ hợp logic Các chân giao tiếp đối tượng phải định nghĩa phần khai báo đối tượng Trong phần mơ tả cấu trúc đối tượng người thiết kế sử dụng mức mô tả đề cập phía để mơ tả cấu trúc bên hay cách thức xử lý tín hiệu đối tượng thiết kế Bài viết không đề cập sâu cú pháp hay kỹ thuật lập trình ngơn ngữ VHDL mà trình bày cách tổng quan cách thức sử dụng ngôn ngữ miêu tả thiết kế phần cứng có sử dụng vi mạch tổ hợp Trong viết đề cập sâu vấn đề Theo http://www.embeonline.com/ Giới thiệu ngôn ngữ mô phần cứng VHDL- phần Hiện mạch tích hợp ngày thực nhiều chức hơn, chúng ngày trở nên phức tạp Các phương pháp thiết kế mạch truyền thống dùng tối thiểu hoá hàm Boolean hay dùng sơ đồ phần tử khơng cịn đáp ứng yêu cầu đặt thiết kế Hơn mạch thiết kế yêu cầu phải thử nghiệm kỹ lưỡng trước đưa vào chế tạo hàng loạt Hơn cần phải xây dựng tài liệu hướng dẫn vận hành hệ thống hồn chỉnh dễ hiểu thống Vì người ta thường sử dụng ngôn ngữ mô phần cứng làm phương tiện thiết kế, mô thử nghiệm hệ thống số Bài báo giới thiệu ngôn ngữ mô phần cứng thông dụng nay; Ðó ngơn ngữ mơ phần cứng dùng cho mạch tích hợp tốc độ cao (Very high speed Intergrated Circuit Hardware Description Language) I – Ngôn ngữ mô phần cứng (HDL) Các phương pháp thiết kế truyền thống a/ Phương pháp thiết kế dùng hàm Boolean Tất mạch dựa phần tử logic gồm cổng logic mạch flip-flop thiết kế hàm Boolean Có nhiều phương pháp sử dụng để tối thiểu hố hàm Boolean nhằm tăng tính hiệu sử dụng phần tử logic, chẳng hạn phương pháp dùng bìa cácnơ Về mặt lý thuyết hệ thống số biểu diễn dạng hàm Boolean Nhưng việc tối thiểu hoá xử lý hàng nghìn hàm logic rõ ràng khơng thực tế Trong yêu cầu thiết kế hệ thống địi hỏi tới hàng nhiều nghìn hàm Boolean Hình Minh hoạ cho phương pháp thiết kế hàm Boolean b/ Phương pháp thiết kế dựa sơ đồ (là mở rộng phương pháp thiết kế hàm Boolean.) Trong phương pháp này, người thiết kế sử dụng thêm mạch chức thơng dụng khác phần tử cổng flip-flop Như vậy, phương pháp cho phép thiết kế thiết kế hệ thống cách có cấu trúc Phương pháp thiết kế dựa sơ đồ dùng phổ biến có nhiều phần mềm thiết kế cung cấp cho người thiết kế giao diện thiết kế đồ hoạ thuận tiện Trong nhiều năm phương pháp phương pháp sử dụng chủ yếu ngành cơng nghiệp chế tạo phần cứng số Hình Minh hoạ cho phương pháp thiết kế dựa sơ đồ c/ Nhược điểm phương pháp thiết kế truyền thống Mặc dù có ưu điểm dễ hiểu dễ sử dụng, phương pháp thiết kế dùng hàm Boolean phương pháp thiết kế dựa sơ đồ có số nhược điểm Nhược điểm lớn phương pháp chúng mô tả hệ thống dạng mạng phần tử nối với Nhìn vào hệ thống mơ tả hai phương pháp (dưới dạng hàm Boolean hay dạng sơ đồ) ta tiêu chức chung hệ thống Ðể thiết kế hệ thống phương pháp truyền thống, người thiết kế cần phải qua hai bước thực hồn tồn thủ cơng: chuyển từ yêu cầu chức hệ thống sang biểu diễn hệ thống hàm Boolean, sau chuyển từ hàm Boolean sang sơ đồ mạch hệ thống Cũng tương tự cần hiểu hệ thống người phân tích cần phân tích sơ đồ mạch hệ thống chuyển thành hàm Boolean sau lập lại chức năng, hoạt động hệ thống Và bước nói hồn tồn phải thực thủ cơng khơng có trợ giúp máy tính người thiết kế sử dụng máy tính làm cơng cụ hỗ trợ việc vẽ sơ đồ mạch hệ thống (dùng công cụ CAE – Computer Aided Tool) chuyển từ sơ đồ mạch sang công cụ tổng hợp mạch vật lý (dùng công cụ Synthesis) Một nhược điểm khác phương pháp thiết kế truyền thống giới hạn độ phức tạp hệ thống Phương pháp dùng hàm Boolean dùng để thiết kế hệ thống lớn biểu diễn vài trăm hàm Phương pháp dựa sơ đồ dùng để thiết kế lớn chứa tới 6000 phần tử 2.Ngôn ngữ mô phần cứng (HDL) Ngôn ngữ mô phần cứng giải nhược điểm lớn phương pháp thiết kế trước Nếu phương pháp cũ đòi hỏi phải chuyển đổi từ mô tả hệ thống (các tiêu chức hệ thống) sang tập hợp hàm logic tay bước chuyển đổi hồn tồn khơng cần thiết dùng ngôn ngữ mô phần cứng Hầu hết công cụ thiết kế dùng ngôn ngữ mô phần cứng cho phép sử dụng biểu đồ trạng thái (finite-statemachine) cho hệ thống cho phép sử dụng bảng chân lý cho hệ thống tổng hợp Việc chuyển đổi từ biểu đồ trạng thái bảng chân lý sang mã ngôn ngữ mô phần cứng thực tự động Ngôn ngữ mô phần cứng dùng nhiều để thiết kế cho thiết bị logic lập trình (PLD-Programmable Logic Device) từ loại đơn giản đến loại phức tạp ma trận cổng lập trình (Field Programmable Gate Array) Giới thiệu ngôn ngữ mô phần cứng VHDL- phần II.Ngôn ngữ mô phần cứng VHDL Giới thiệu VHDL viết tắt cụm từ Very High Speed Intergrated Circuit Hardware Description Language-ngôn ngữ mơ phần cứng cho mạch tích hợp tốc độ cao VHDL ngôn ngữ mô phần cứng phát triển dùng cho chương trình VHSIC (Very High Speed Intergrated Circuit) quốc phòng Mỹ.Mục tiêu việc phát triển VHDL có ngơn ngữ mô phần cứng tiêu chuẩn thống cho phép phát triển thử nghiệm hệ thống số nhanh cho phép dễ dàng đưa hệ thống vào ứng dụng thực tế Ngơn người VHDL ba công ty Intermetics, IBM Texas Instruments bắt đầu nghiên cứu phát triển vào 7/1983 Phiên cơng bố vào 8/1985 Sau VHDL đề xuất để tổ chức IEEE xem xét thành tiêu chuẩn Năm 1987, đưa tiêu chuẩn VHDL – tiêu chuẩn IEEE-1076-1987 VHDL phát triển để giải khó khăn việc phát triển, thay đổi lập tài liệu cho hệ thống số Như ta biết, hệ thống số có nhiều tài liệu mơ tả Ðể vận hành bảo trì sửa chữa hệ thơng ta cần tìm hiểu tài liệu kỹ lưỡng Với ngôn ngữ mô phần cứng tốt việc xem xét tài liệu mô tả trở nên dễ dàng tài liệu thực thi để mô hoạt động hệ thống Như ta xem xét tồn phần tử hệ thống hoạt động mơ hình thống Trước VHDL đời, có nhiều ngơn ngữ mơ phần cứng sử dụng khơng có tiêu chuẩn thống Các ngôn ngữ mô phần cứng phát triển để phục vụ mơ chạy chúng Vì ngơn ngữ mơ phần cứng nhà cung cấp thiết bị phát triển, nên mang đặc trưng gắn với thiết bị nhà cung cấp thuộc sở hữu nhà cung cấp Trong đó, VHDL phát triển ngôn ngữ độc lập không gắn với phương pháp thiết kế, mô hay công nghệ phần cứng Người thiết kế tự lựa chọn cơng nghệ, phương pháp thiết kế sử dụng ngôn ngữ VHDL có số ưu điểm hẳn ngôn ngữ mô phần cứng khác là: Tính cơng cộng VHDL phát triển bảo trợ phủ Mỹ tiêu chuẩn IEEE, VHDL không thuộc sở hữu cá nhân hay tổ chức Do VHDL hỗ trợ nhiều nhà sản xuất thiết bị nhiều nhà cung cấp công cụ thiết kế mô hệ thống Ðây ưu điểm bật VHDL, giúp VHDL trở nên ngày phổ biến Khả hỗ trợ nhiều công nghệ phương pháp thiết kế: VHDL cho phép thiết kế nhiều phương pháp phương pháp thiết kế từ xuống, hay từ lên dựa vào thư viện có sẵn VHDL hỗ trợ cho nhiều loại cơng nghệ xây dựng mạch sử dụng công nghệ đồng hay không đồng bộ, sử dụng ma trận lập trình hay sử dụng mảng logic ngẫu nhiên Như VHDL phục vụ tốt cho nhiều mục đích thiết kế khác nhau, từ việc thiết kế phần tử phổ biến đến việc thiết kế IC ứng dụng đặc biệt (Application Specified IC) Ðộc lập với cơng nghệ VHDL hồn tồn độc lập với cơng nghệ chế tạo phần cứng Một mô tả hệ thống dùng VHDL thiết kế mức cổng chuyển thành tổng hợp mạch khác tuỳ thuộc vào công nghệ chế tạo phần cứng sử dụng (dùng CMOS, nMOS, hay GaAs) Ðây ưu điểm quan VHDL cho phép người thiết kế không cần quan tâm đến công nghệ phần cứng thiết kế hệ thống, có công nghệ chế tạo phần cứng đời áp dụng cho hệ thống thiết kế Khả mô tả mở rộng VHDL cho phép mô tả hoạt động phần cứng từ mức hệ thống số (hộp đen) mức cổng VHDL có khả mơ tả hoạt động hệ thống nhiều mức sử dụng cú pháp chặt chẽ thống cho mức Như ta mơ thiết kế bao gồm hệ mô tả mức cao hệ mô tả chi tiết Khả trao đổi kết Vì VHDL tiêu chuẩn chấp nhận, nên mơ hình VHDL chạy mơ đáp ứng tiêu chuẩn VHDL-các kết mô tả hệ thống trao đổi nhà thiết kế sử dụng công cụ thiết kế khác tuân theo chuẩn VHDL Cũng như, nhóm thiết kế trao đổi mơ tả mức cao hệ thống hệ thống; hệ thiết kế độc lập Khả hỗ trợ thiết kế mức lớn khả sử dụng lại thiết kế VHDL phát triển ngơn ngữ lập trình bậc cao, sử dụng để thiết kế hệ thống lớn với tham gia nhóm nhiều người Bên ngơn ngữ VHDL có nhiều tính hỗ trợ việc quản lý, thử nghiệm chi sẻ thiết kế VHDL cho phép dùng lại phần có sẵn Trên ta xem xét số đặc điểm ngôn ngữ VHDL, sau ta sâu vào xem xét số khái niệm thiết kế VHDL Cấu trúc mơ hình hệ thống mơ tả VHDL Thơng thường mơ hình VHDL bao gồm ba phần: thực thể, kiến trúc cấu hình Trong số trường hợp mơ hình cịn có thêm phần mơi trường kiểm tra 2.1 Thực thể (Entity) Khai báo thực thể VHDL câu lệnh định nghĩa tiêu phía ngồi phần tử hay hệ thống Các thơng tin có phần khai báo thực thể cho phép kết nối phần tử (hệ thống) mà thực thể đại diện với phần tử (hệ thống) khác Thực chất việc khai báo thực thể khai báo giao diện hệ thống với bên Hoạt động thực chất hệ thống không mô tả khai báo thực thể Dưới ví dụ khai báo thực thể cho cổng NAND Câu lệnh LIBRARY IEEE USE IEEE.std_logic_1164.ALL cho phép thực thể sử dụng định nghĩa thư viện tiêu chuẩn IEEE Khai báo thực thể bao gồm tên thực thể tập cổng phần chung Trong phần chung GENERIC số truyền cho phần tử (hệ thống) Phần chung coi tham số định trước phần tử, chẳng hạn độ trễ Các cổng phần giao diện vào phần tử Các cổng tương ứng với chân IC, hay đầu nối bảng mạch Các cổng khai báo cổng vào, cổng ra, cổng hai chiều hay đệm 2-2.Kiến trúc (Arrchitecture) Một khai báo thực thể phải kèm với kiến trúc tương ứng VHDL cho phép khai báo nhiều kiến trúc cho thực thể Một khai báo kiến trúc bao gồm khai báo tín hiệu bên trong, phần tử bên hệ thống, hay hàm thủ tục mô tả hoạt động hệ thống Có hai cách mơ tả kiến trúc phần tử (hệ thống) mơ tả theo mơ hình hoạt động hay mơ tả theo mơ hình cấu trúc Tuy nhiên hệ thống bao gồm mơ tả theo mơ hình hoạt động mơ tả theo mơ hình cấu trúc 2-2-1.Mơ tả kiến trúc theo mơ hình hoạt động Mơ hình hoạt động mô tả hoạt động hệ thống (hệ thống đáp ứng với tín hiệu vào đưa kết đầu ra) dạng câu lệnh cảu ngơn ngữ lập trình bậc cao Các câu lệnh PROCESS, WAIT, IF, CASE, FOR-LOOP…Ví dụ, kiến trúc cổng NAND nói mơ tả theo mơ hình hoạt động sau Hình Mơ tả kiến trúc cổng NAND theo mơ hình hoạt động Ta thấy kiến trúc phần tử NAND có lệnh gán tín hiệu mơ tả chức phần tử Câu lệnh thực thi hai cổng a,b thay đổi giá trị Và câu lệnh gán có độ trễ, tức tín hiệu bên vế trái thay đổi tương ứng sau thời gian trễ Altera vi mạch khả lập trình Được thành lập 1983 Robert Hartmann, Michael Magranet, James Sansbury Paul Newhagen Altera (ALTR) lấy tên thức năm 1984, năm cơng ty giới thiệu chip Altera cơng ty đầu lĩnh vực lập trình cho mạch logic, với hệ thống gồm nhiều công ty chip bán dẫn, với sản phẩm Altera dần chiếm lĩnh thị trường chip bán dẫn vi mạch khả lập trình giới Hiện Altera biết đến với FPGA, CPLD cấu trúc mạch ASIC cho phép lập trình Với số lượng khách hàng ngày tăng, doanh thu 2006 Altera 1,29 tỉ USD Trụ sở Altera đặt San Jonse, California với đội ngũ khoảng 600 nhân viên công ty 19 quốc gia Mới Altera giới thiêu kit phát triển với chip Cyclone(R) III FPGA cho phép lập trình ứng dụng Multimedia, Ethernet, lập trình giao tiếp với thiết bị ngoại vi USB, Memory… Tại Viêt Nam, ngày tháng vừa Altera tuyên bố thành lập trung tâm công nghệ TP Hồ Chí Minh để hỗ trợ mạng lưới phát triển chip khắp tồn cầu cơng ty mục tiêu để phát triển đội ngũ kỹ sư toàn giới Altera Hiện Altera hợp tác đào tạo đầu tư sở vật chất: phòng Lab, Board mạch để phát triển ứng dụng, công cụ phần mềm kèm theo… để sinh viên học tập nghiên cứu khoa Công Nghệ Thông Tin Trường Đại Học Bách Khoa TP Hồ Chí Minh Sự hợp tác cịn đánh dấu bước tiến ngành cơng nghiệp phần cứng Viêt Nam với chip vi mạch khả lập trình Tổng quan cơng nghệ FPGA Bạn muốn thiết kế đầu đọc thẻ nhớ 1? Dễ thôi, bạn mua điều khiển cho MMC, điều khiển cho SD,… gắn tất lên bo mạch? Nhưng thời điểm có (và cần) loại card sử dụng đầu đọc Phải lãng phí? Lãng phí tài nguyên phần cứng, lãng phí cơng suất tiêu thụ? Tại bạn không nghĩ đến FPGA? Kiến trúc mạch FPGA Với FPGA, bạn cho thẻ nhớ MMC vào, đầu đọc hoạt động theo chuẩn MMC bạn dùng thẻ SD, FPGA đầu đọc tự cấu hình lại theo chuẩn SD Như bạn tiết kiệm tài nguyên cho hệ thống với platform bạn thực nhiều tác vụ tất nhiên cơng suất tiêu tán Trên thực tế khơng làm đem dao mổ trâu giết gà phải giải quyểt vấn đề mức điện áp logic chuẩn Ý tưởng tồn hobby project Vậy FPGA gì? FPGA chip silicon chứa nhiều “khối logic” tái cấu hình CLB (Configurable Logic Blocks) liên kết với thành liên kết khả trình (Programmable Interconnect) Các khối vào phân bố xung quanh chip tạo thành liên kết với bên ngồi Bên khối logic CLB có bảng LUT (Look-Up Table) phần tử nhớ (FlipFlop chốt) Bảng LUT với nhiều đầu vào đầu tạo thành mạch logic tổ hợp nhỏ, phần tử nhớ dành cho logic synchronous sequential LUT (Look-Up Table) Bạn băn khoăn CLB với LUT với hay đầu vào làm cho bạn? Nhưng chip FPGA có chứa cỡ hàng nghìn, chục nghìn chí lên đến hàng trăm nghìn CLB, nên làm nhiều chức phức tạp bạn quan tâm nội dung bên CLB, bên LUT nào? Việc có cơng cụ phần mềm chuyên dụng thực cho bạn? Tất bạn cần phải làm trước tiên lập trình cho FPGA cơng cụ thực giai đoạn lại Tất nhiên bạn phải tuân thủ chu trình thiết kế thoả mãn yêu cầu công cụ FPGA Design Flow Bạn yêu thích FPGA? Hãy nhanh lên chọn học ngơn ngữ lập trình mơ tả phần cứng HDL Giới kỹ thuật Bắc Mỹ chuộng Verilog cịn châu Âu lại khoái VHDL sinh Mỹ Đây ngôn ngữ thơng dụng Ngồi cịn có ABEL (được dùng từ lâu không phổ biến) gần systemC Bản thân tác giả khuyên bạn nên dùng ngơn ngữ có điều chắn Xilinx ISE Altera Quartus hỗ trợ VHDL Verilog Phần lớn sản phẩm FPGA thị trường dựa công nghệ SRAM với hãng sản xuất lớn Xilinx Altera Dòng FPGA cao cấp Xilinx Virtex với sản phẩm Virtex (ra mắt trung tuần tháng 5/2006) với Altera người anh Stratix (tháng 11/2006) Ngồi cịn có hãng khác sản xuất FPGA với mục đích chuyên dụng (Atmel, Actel, Lattice, ) ... Abel (ít dùng), Verilog HDL VHDL.Việc lựa chọn ngôn ngữ tùy thuộc vào lựa chọn bạn khơng có ý kiến việc ngơn ngữ tốt (thực ý kiến có khơng dám nói thơi).Mình dùng Verilog nên cần hỏi Verilog giúp... liệu nâng cao FPGA/Verilog: - Asic lập trình (Tống Văn On) - Lập trình Asic (Tống Văn On) - Thiết kế vi mạch CMOS VLSI (Tống Văn On) - A Verilog HDL Primer (J.Bhasker) - The Verilog Hardware Description... vi SPI,Timer, I2C, GPIO, PWM, Video/Audio Controller… (nghĩa tương đương với SoC đại).Tuy nhiên,FPGA so sánh với ASIC SoC kinh tế lẫn tốc độ họa động.Nhưng bù lại, với khả tái cấu hình mạnh, FPGA