10 4.104 8051 9 Acquy adc pic All datasheet ALTIUM Altium Designer AM-FM Arduino ARM ARM là gì Ấn Tượng Bản tin công nghệ Bản tin Thiết Bị Số Barobo bất động sản biến Binary Bit board lpc2378 Bộ chuyển đổi ADC Bộ Đếm Bộ điều khiển cửa cuốn Bộ Định Thời Buy Khóa Số Điện Tử Buy Mạch đếm sản phẩm Buy Mạch giao thông Buy Mạch nạp Buy Matrix Byte C cho AVR các hàm vào ra các loại lõi arm các mạch DAC cơ bản các ngắt trong pic Cách đọc điện trở Cách Đọc Giá Trị Điện Trở Cách đọc giá trị tụ điện Cách hàn linh kiện dán cách làm mạch khóa số cách tạo linh kiện dán cad/cam Cài Đặt cài đặt proteus 8 cảm biến Cấu Kiện Logic Khả Trình cấu tạo cấu trúc arm cấu trúc lệnh CCS Chân chân Transistor Chip Khả Trình chuyển đổi Chuyển đổi số tương tự Chuyển Đổi Tương Tự/Số - ADC Chuyển động số chương trình City Clip Điện Tử Code 8051 - ASM Code 8051 - C Code 8051-C code ASM code ASM mẫu 8086 Code AVR - C code C Code Lập Trình Code led sao băng code maupic code mẫu 8051 Code Mẫu 8086 Code Mẫu cho ARM - LPC1343 code mẫu pic Code PIC - C codemaupic Counter Cổng Vào Ra Cơ Bản Cuộn Cảm Cửa cuốn DA DAC Debug Decimal Delay8051 Dev-C++ Diode DIY Dò đường Do It Yourself doanh nghiệp Download DTMF Mobile đảo chiều động cơ Điện Trở Điện Tử Điện Tử Cơ Bản điều chế độ rộng xung điều chế xung PWM điều khiển bằng điện thoại Điều khiển cửa cuốn Điều khiển cửa cuốn bằng điện thoại điều khiển động cơ đo điện áp đo nhiệt độ đo nhiệt độ hiển thị lên lcd trên 8051 Đo Nhiệt Độ LM35 + LCD Đo Nhiệt Độ LM35 + Led 7 thanh đọc màu điện trở đồ chơi động cơ chân không Động cơ nhiên liệu Động cơ robo đồng hồ thời gian thực Ebook Đại Học ebook điện tử Ebook đồ án Ebook Tin Học Encoder Encoder là gì Full Giải Thuật Giải thuật PID Giáo Dục giao tiếp i2c pic 16f877a giao tiếp i2c pic16f877a với ic ds1307 giao tiếp máy tính qua rs232 Giao Tiếp Máy Tính VB6 giao tiếp rs232 giao tiếp spi giữa 2 pic giao tiếp spi trong pic Giáo Trình Điện Tử Giới thiệu 8051 Giới thiệu cơ bản GPIO Graphic Design hàm Hàn linh kiện dán Hexadecimal Hệ Hexa Hệ Nhị Phân Hệ Thập Lục Phân Hệ Thập Phân hiển thị lên lcd 16x2 Hoạt Động Học Học 8051 qua các ví dụ đơn giản Học ALtium Designer học AVR Học Corel Draw X3 Học Eagle HỌC LẬP TRÌNH 16F877A Học Lập Trình 8051 Học Lập Trình C Học Orcad Học Protues hoc-lam-robot-do-duong-qua-video Hồng ngoại hướng dẫn hướng dẫn Altium Designer hướng dẫn đo đồng hồ VOM hướng dẫn keil - C lập trình 8051 hướng dẫn làm led sao băng hướng dẫn làm led trái tim hướng dẫn lập trình ARM Hướng Dẫn Lập Trình ARM - LPC1343 hướng dẫn lập trình ARM-LPC2378 hướng dẫn lập trình CCS hướng dẫn lập trình PIC Hướng Dẫn Led Trái Tim hướng dẫn module sim548c hướng dẫn sử dụng keil hướng dẫn sử dụng proteus 8 Hyper Terminal hercules 3.2.4 I/O IC 555 IC 7447 IC 74HC151 IC 74HC154 IC 74HC245 IC 74HC595 IC 74LS138 IC DS1307 IC đồng hồ thời gian thực IC LM324 IC LM342 IC LM7805 IC số IC số opamp LM324 IC Thông Dụng IC555 Interrupt Keil 4 Full keil arm Keil C Keil uVision3 kế toán kiểm toán khái niệm Khái Niệm Cơ Bản Kho Vật Liệu khóa điện tử khóa số dùng 8051 khóa số dùng 89s52 Khóa Số Điện Tử khuếch đại kiểm tra Kinh doanh maketing kinh tế quản lí Kỹ Thuật Kỹ Thuật Vi Xử Lý làm mạch điện lý thú Làm quen AVR Lap Trinh Dieu Khien Robot Lập Trình lập trình 8051 Lập Trình AVR Lập Trình C lập trình c++ Lập Trình Led Quảng Cáo Lập Trình Nhúng Lập trình pic Lập trình Robot Lập Trình Vi Điều Khiển Lập Trình Với AVR Studio LCD 16x2 Lcd16x2 Led Clock Led Quay led sao băng led trai tim Led Trái Tim Lịch sử ra đời Linh Kiện Cơ Bản linh kiện điện tử Loa LPC 2378 LSB lý thú Mã AVR - C Mạch 7seg Mạch Amply.Mạch Loa Mạch Autorobo Mạch bảo vệ Mạch Cảm Biến mạch cảm ứng sờ tay Mạch Cầu H Mạch cube Mạch Đếm Sản Phẩm Mạch điện cơ bản Mạch điện hay Mạch Điện Ứng Dụng Mạch Điều khiển động cơ Mạch Động Cơ Mạch đồng hồ Mạch đồng hồ 4 led Mạch giao thông Mạch IC số Mạch in mạch khóa số mạch khuếch đại thuật toán mạch led chúc mừng năm mới mạch led đẹp Mạch Led đơn Mạch Led Quảng Cáo mach led trai tim mạch led trái tim Mạch Led Vumeter mạch lý thú Mạch Ma trận Phím Mạch Matrix Mạch nạp Mạch nguồn Mạch Nút Bấm mạch sóng rf mạch tăng áp Mạch thu phát Mạch tổ hợp MSI Mạch trái tim Mạch Vi điều khiển Microbicho module module GSM/GPS Module Sim548 Module Sim548 giao tiếp với vi điều khiển PIC Module Sim548C Mosfet Motor Mô Phỏng Phần Cứng Mô Tả Phần Cứng MSB mua led sao băng News Ngắt Ngắt Trong LPC23xx ngân hàng Ngôn Ngữ Ngôn Ngữ C Ngôn Ngữ Tự Học Lập Trình C Ngôn Ngữ VHDL Nguyên Lý nguyên lý ic 555 Nguyên Tắc nháy led Nhập môn C Nhỏ Gọn Nibble opamp People Phần Mềm phần mềm altium Designer Phần mềm điện tử Phần Mềm Điện Tử Phần Mềm Điện Tử Hay Phần Mềm Hay Phần Mềm Led Quảng Cáo phần mềm proteus 8 Phần mềm vi tính Phần Mền Phương pháp hàn linh kiện dán PIC pic16f877a Print Design Proteus Proteus 7.8 SP2 FULL PWM quà tặng bạn gái quà tặng độc đáo quản trị doanh nghiệp quản trị kinh doanh quét led 7 đoạn Relay robocon Robot ROBOT DÒ ĐƯỜNG rút gọn mạch logic tổ hợp Sach Dien Tu Sản Phẩm Thú Vị Sản Phẩm Thương Mại Sáng tạo Short Smart Home SMD sơ đồ nguyên lý spi Sports Sử Dụng Sử Dụng Đồng Hồ sử dụng đồng hồ VOM sử dụng ngắt trong pic sự khác nhau Sức mạnh số Tải tài chính tài chính doanh nghiệp tài chính ngân hàng Tài Khoản Chia Sẻ Tài Liệu Tài Liệu 8051 tài liệu avr Tài liệu Điện Tử Tài Liệu Pic Tài liệu robocon tài liệu về ngân hàng Tài Liệu Vi Điều Khiển tailieuvn Tạo cổng Com ảo Tạo cổng nối tiếp ảo tạo dự án trong keil arm Tạo Project trong Vi Xử Lý ARM tạo thư viện altium designer tạo xung vuông Tạp chí Tạp Chí Hay tăng áp Tập lệnh AT Team Support TEAMPLATE PROTEUS Test thị trường tài chính Thiết Bị Thú Vị Thiết kế robot Thiết lập Fuse Bits Thiết Lập Pin Thuật Toán Thuật Toán Điều Khiển PID Thuật Toán Quine MCCluskey Thư viện Protues Thực Hành Thyristor Timer Timer/Counter Tin Học Chia Sẻ Tổ Chức Bộ Nhớ tổng quan về proteus 8 Transistor Tranzito Tranzitor Trao đổi học tập Travel Trình Biên Dịch Trình Dịch Trong Suốt Truyền Thông Nối Tiếp Không Đồng Bộ- UART truyền thông nối tiếp RS232 Tụ điện TUT - 8051 - ASM TUT - 8051 - KeilC tự hành Tự Học C Tự Học Lập Trình C Tý hon UART Update USB Ứng Dụng Led Quảng Cáo ứng dụng mạch khuếch đại thuật toán vẽ mạch in vẽ mạch nguyên lý VHDL Vi Điều Khiển Vi điều khiển - Ứng dụng vi điều khiển PIC Vi mạch số Vi Xử Lý Vi Xử Lý 8051 Vi Xử Lý 8086 Vi Xử Lý ARM Vi Xử Lý PIC Video Video Mach Điện Virtual Serial Port Driver VOM vxl Web Design xác định góc quay động cơ xử lý chuỗi

Hiện nay các mạch tích hợp ngày càng thực hiện được nhiều chức năng hơn, do đó chúng ngày càng trở nên phức tạp hơn. Các phương pháp thiết kế mạch truyền thống như dùng tối thiểu hoá hàm Boolean hay dùng sơ đồ các phần tử không còn đáp ứng được các yêu cầu đặt ra khi thiết kế. Hơn nữa các mạch thiết kế ra yêu cầu phải được thử nghiệm kỹ lưỡng trước khi đưa vào chế tạo hàng loạt.
        Hơn nữa cần phải xây dựng một bộ tài liệu hướng dẫn vận hành hệ thống hoàn chỉnh dễ hiểu và thống nhất. Vì thế người ta thường sử dụng các ngôn ngữ mô phỏng phần cứng làm phương tiện thiết kế, mô phỏng thử nghiệm các hệ thống số.
        Bài viết này sẽ giới thiệu về một ngôn ngữ mô phỏng phần cứng thông dụng hiện nay; Ðó là ngôn ngữ mô phỏng 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ỏng phần cứng (HDL).

1.
 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 cả các mạch dựa trên các phần tử logic cơ bản gồm cổng logic và các mạch flip-flop đều có thể thiết kế bằng các hàm Boolean. Có nhiều phương pháp đã được sử dụng để tối thiểu hoá hàm Boolean nhằm tăng tính hiệu quả sử dụng các phần tử logic, chẳng hạn như phương pháp dùng bìa cácnô. Về mặt lý thuyết bất kỳ hệ thống số nào cũng có thể biểu diễn dưới dạng các hàm Boolean. Nhưng việc tối thiểu hoá cũng như xử lý hàng nghìn hàm logic rõ ràng là không thực tế. Trong khi các yêu cầu thiết kế hệ thống hiện nay đòi hỏi tới hàng nhiều nghìn hàm Boolean.

Hình 1. Minh hoạ cho phương pháp thiết kế bằng hàm Boolean.

b/ Phương pháp thiết kế dựa trên sơ đồ (là sự mở rộng của phương pháp thiết kế bằng hàm Boolean.)
        Trong phương pháp này, người thiết kế có thể sử dụng thêm các mạch chức năng thông dụng khác ngoài các phần tử cơ bản là cổng và flip-flop. Như vậy, phương pháp này cho phép thiết kế thiết kế hệ thống một cách có cấu trúc. Phương pháp thiết kế dựa trên sơ đồ được dùng phổ biến và có rất nhiều phần mềm thiết kế cung cấp cho người thiết kế một giao diện thiết kế đồ hoạ thuận tiện. Trong nhiều năm phương pháp này là phương pháp được sử dụng chủ yếu trong ngành công nghiệp chế tạo phần cứng số.


Hình 2. Minh hoạ cho phương pháp thiết kế dựa trên sơ đồ.

c/ Nhược điểm của các phương pháp thiết kế truyền thống.
        Mặc dù có ưu điểm là dễ hiểu và dễ sử dụng, phương pháp thiết kế dùng hàm Boolean và phương pháp thiết kế dựa trên sơ đồ có một số nhược điểm. Nhược điểm lớn nhất của các phương pháp này là chúng chỉ mô tả hệ thống dưới dạng mạng các phần tử nối với nhau. Nhìn vào một hệ thống được mô tả bằng hai phương pháp trên (dưới dạng hàm Boolean hay dạng sơ đồ) ta không thể lập tức chỉ ra được các chỉ tiêu và chức năng chung nhất của hệ thống. Ðể thiết kế một hệ thống bằng phương pháp truyền thống, người thiết kế cần phải đi qua hai bước thực hiện hoàn toàn thủ công: đó là chuyển từ các yêu cầu về chức năng của hệ thống sang biểu diễn hệ thống bằng hàm Boolean, sau đó chuyển từ hàm Boolean sang sơ đồ mạch của hệ thống. Cũng tương tự khi cần hiểu được một hệ thống người phân tích cần phân tích sơ đồ mạch của hệ thống chuyển nó thành các hàm Boolean sau đó mới lập lại được các chức năng, hoạt động của hệ thống. Và các bước nói trên hoàn toàn phải thực hiện thủ công không có bất kỳ sự trợ giúp nào của máy tính. ở đây người thiết kế chỉ có thể sử dụng máy tính làm công cụ hỗ trợ trong việc vẽ sơ đồ mạch của hệ thống (dùng công cụ CAE – Computer Aided Tool) và 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 của phương pháp thiết kế truyền thống là sự giới hạn trong độ phức tạp của hệ thống. Phương pháp dùng hàm Boolean chỉ có thể dùng để thiết kế các hệ thống lớn nhất biểu diễn bởi vài trăm hàm. Phương pháp dựa trên sơ đồ chỉ có thể dùng để thiết kế lớn nhất chứa tới 6000 phần tử.

2.Ngôn ngữ mô phỏng phần cứng (HDL).
        Ngôn ngữ mô phỏng phần cứng giải quyết được nhược điểm lớn nhất của các phương pháp thiết kế trước đây. Nếu các phương pháp cũ đòi hỏi phải chuyển đổi từ mô tả hệ thống (các chỉ tiêu về chức năng của hệ thống) sang tập hợp các hàm logic bằng tay thì bước chuyển đổi đó hoàn toàn không cần thiết khi dùng ngôn ngữ mô phỏng phần cứng. Hầu hết các công cụ thiết kế dùng ngôn ngữ mô phỏng phần cứng đều cho phép sử dụng biểu đồ trạng thái (finite-state-machine) cho các hệ thống tuần tự cũng như 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ừ các biểu đồ trạng thái và bảng chân lý sang mã ngôn ngữ mô phỏng phần cứng được thực hiện tự động. Ngôn ngữ mô phỏng phần cứng được dùng nhiều để thiết kế cho các thiết bị logic lập trình được (PLD-Programmable Logic Device) từ loại đơn giản đến các loại phức tạp như ma trận cổng lập trình được (Field Programmable Gate Array).


II.Ngôn ngữ mô phỏng phần cứng VHDL.

1. Giới thiệu.
        VHDL là viết tắt của cụm từ Very High Speed Intergrated Circuit Hardware Description Language-ngôn ngữ mô phỏng phần cứng cho các mạch tích hợp tốc độ rất cao. VHDL là ngôn ngữ mô phỏng phần cứng được phát triển dùng cho chương trình VHSIC (Very High Speed Intergrated Circuit) của bộ quốc phòng Mỹ.Mục tiêu của việc phát triển VHDL là có được một ngôn ngữ mô phỏng phần cứng tiêu chuẩn và thống nhất cho phép phát triển thử nghiệm các hệ thống số nhanh hơn cũng như cho phép dễ dàng đưa các hệ thống đó vào ứng dụng trong thực tế. Ngôn người VHDL được ba công ty Intermetics, IBM và Texas Instruments bắt đầu nghiên cứu phát triển vào 7/1983. Phiên bản đầu tiên được công bố vào 8/1985. Sau đó VHDL được đề xuất để tổ chức IEEE xem xét thành một tiêu chuẩn. Năm 1987, đã đưa ra tiêu chuẩn về VHDL – tiêu chuẩn IEEE-1076-1987.
        VHDL được phát triển để giải quyết các khó khăn trong việc phát triển, thay đổi và lập tài liệu cho các hệ thống số. Như ta đã biết, một hệ thống số có rất nhiều tài liệu mô tả. Ðể có thể vận hành bảo trì sửa chữa một hệ thông ta cần tìm hiểu tài liệu đó kỹ lưỡng. Với một ngôn ngữ mô phỏng phần cứng tốt việc xem xét các tài liệu mô tả trở nên dễ dàng hơn vì bộ tài liệu đó có thể được thực thi để mô phỏng hoạt động của hệ thống. Như thế ta có thể xem xét toàn bộ các phần tử của hệ thống hoạt động trong một mô hình thống nhất.
Trước khi VHDL ra đời, có nhiều ngôn ngữ mô phỏng phần cứng được sử dụng nhưng không có một tiêu chuẩn thống nhất. Các ngôn ngữ mô phỏng phần cứng đó được phát triển để phục vụ các bộ mô phỏng chạy chúng. Vì các ngôn ngữ mô phỏng phần cứng đó được các nhà cung cấp thiết bị phát triển, nên mang các đặc trưng gắn với các thiết bị của nhà cung cấp đó và thuộc sở hữu của nhà cung cấp.
        Trong khi đó, VHDL được phát triển như một ngôn ngữ độc lập không gắn với bất kỳ một phương pháp thiết kế, bộ mô phỏng hay công nghệ phần cứng nào. Người thiết kế có thể tự do lựa chọn công nghệ, phương pháp thiết kế trong khi vẫn sử dụng một ngôn ngữ duy nhất.
VHDL có một số ưu điểm hơn hẳn các ngôn ngữ mô phỏng phần cứng khác là:

Tính công cộng:
        VHDL được phát triển dưới sự bảo trợ của chính phủ Mỹ và hiện nay là một tiêu chuẩn của IEEE, VHDL không thuộc sở hữu của bất kỳ cá nhân hay tổ chức nào. Do đó VHDL được hỗ trợ của nhiều nhà sản xuất thiết bị cũng như nhiều nhà cung cấp công cụ thiết kế mô phỏng hệ thống. Ðây là một ưu điểm nổi bật của VHDL, giúp VHDL trở nên ngày càng phổ biến.
Khả năng hỗ trợ nhiều công nghệ và phương pháp thiết kế:
        VHDL cho phép thiết kế bằng nhiều phương pháp như phương pháp thiết kế từ trên xuống, hay từ dưới lên dựa vào các thư viện có sẵn. VHDL cũng hỗ trợ cho nhiều loại công nghệ xây dựng mạch như sử dụng công nghệ đồng bộ hay không đồng bộ, sử dụng ma trận lập trình được hay sử dụng mảng logic ngẫu nhiên. Như vậy VHDL có thể phục vụ tốt cho nhiều mục đích thiết kế khác nhau, từ việc thiết kế các phần tử phổ biến đến việc thiết kế các IC ứng dụng đặc biệt (Application Specified IC).
Ðộc lập với công nghệ:
        VHDL hoàn toà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 có thể được chuyển thành các bản tổng hợp mạch khác nhau tuỳ thuộc vào công nghệ chế tạo phần cứng nào được sử dụng (dùng CMOS, nMOS, hay GaAs). Ðây cũng là một ưu điểm quan trong của VHDL nó cho phép người thiết kế không cần quan tâm đến công nghệ phần cứng khi thiết kế hệ thống, như thế khi có một công nghệ chế tạo phần cứng mới ra đời nó có thể được áp dụng ngay cho các hệ thống đã thiết kế.
Khả năng mô tả mở rộng:
        VHDL cho phép mô tả hoạt động của phần cứng từ mức hệ thống số (hộp đen) cho đến mức cổng. VHDL có khả năng mô tả hoạt động của hệ thống trên nhiều mức nhưng chỉ sử dụng một cú pháp chặt chẽ thống nhất cho mọi mức. Như thế ta có thể mô phỏng một bản thiết kế bao gồm cả các hệ con được mô tả ở mức cao và các hệ con được mô tả chi tiết.
Khả năng trao đổi kết quả:
        Vì VHDL là một tiêu chuẩn được chấp nhận, nên một mô hình VHDL có thể chạy trên mọi bộ mô phỏng đáp ứng được tiêu chuẩn VHDL-các kết quả mô tả hệ thống có thể được trao đổi giữa các nhà thiết kế sử dụng công cụ thiết kế khác nhau nhưng cùng tuân theo chuẩn VHDL. Cũng như, một nhóm thiết kế có thể trao đổi mô tả mức cao của các hệ thống con trong một hệ thống; trong khi các hệ con đó được thiết kế độc lập.
Khả năng hỗ trợ thiết kế mức lớn và khả năng sử dụng lại các thiết kế:
        VHDL được phát triển như một ngôn ngữ lập trình bậc cao, vì vậy nó có thể sử dụng để thiết kế một hệ thống lớn với sự tham gia của một nhóm nhiều người. Bên trong ngôn ngữ VHDL có nhiều tính năng hỗ trợ việc quản lý, thử nghiệm và chi sẻ thiết kế. VHDL cũng cho phép dùng lại các phần đã có sẵn.
        Trên đây ta đã xem xét một số đặc điểm của ngôn ngữ VHDL, sau đây ta sẽ đi sâu vào xem xét một số khái niệm thiết kế cơ bản trong VHDL.

2. Cấu trúc một mô hình hệ thống mô tả bằng VHDL.
        Thông thường một mô hình VHDL bao gồm ba phần: thực thể, kiến trúc và các cấu hình. Trong một số trường hợp mô hình còn có thêm phần các môi trường kiểm tra.

2.1 Thực thể (Entity).
        Khai báo thực thể trong VHDL là câu lệnh định nghĩa các chỉ tiêu phía ngoài của một phần tử hay một hệ thống. Các thông tin có trong 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 các phần tử (hệ thống) khác. Thực chất việc khai báo thực thể chính là khai báo giao diện của hệ thống với bên ngoài. Hoạt động thực chất của hệ thống không được mô tả trong khai báo thực thể. Dưới đây là một ví dụ khai báo thực thể cho một cổng NAND.


        Câu lệnh LIBRARY IEEE và USE IEEE.std_logic_1164.ALL cho phép thực thể sử dụng các định nghĩa trong thư viện về các tiêu chuẩn củaIEEE. Khai báo thực thể bao gồm tên của thực thể và một tập các cổng và phần chung. Trong đó phần chung GENERIC là các hằng số được truyền cho phần tử (hệ thống). Phần chung có thể coi là các tham số định trước của phần tử, chẳng hạn như độ trễ. Các cổng là phần giao diện vào ra của phần tử. Các cổng có thể tương ứng với các chân IC, hay các đầu nối trên bảng mạch. Các cổng được khai báo là cổng vào, cổng ra, cổng hai chiều hay bộ đệm.

2-2.Kiến trúc (Arrchitecture).
        Một khai báo thực thể đều phải đi kèm với ít nhất một kiến trúc tương ứng. VHDL cho phép khai báo nhiều kiến trúc cho một thực thể. Một khai báo kiến trúc có thể bao gồm các khai báo về các tín hiệu bên trong, các phần tử bên trong hệ thống, hay các hàm và thủ tục mô tả hoạt động của hệ thống. Có hai cách mô tả kiến trúc của một phần tử (hệ thống) đó là mô tả theo mô hình hoạt động hay mô tả theo mô hình cấu trúc. Tuy nhiên một hệ thống có thể bao gồm cả mô tả theo mô hình hoạt động và 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ả các hoạt động của hệ thống (hệ thống đáp ứng với các tín hiệu vào như thế nào và đưa các kết quả gì ra đầu ra) dưới dạng các câu lệnh cảu ngôn ngữ lập trình bậc cao. Các câu lệnh đó có thể là PROCESS, WAIT, IF, CASE, FOR-LOOP...Ví dụ, kiến trúc của cổng NAND nói trên có thể mô tả theo mô hình hoạt động như sau.


Hình 4. Mô tả kiến trúc cổng NAND theo mô hình hoạt động.

        Ta thấy kiến trúc của phần tử NAND có một lệnh gán tín hiệu mô tả chức năng của phần tử. Câu lệnh này được thực thi khi một trong hai cổng a,b thay đổi giá trị. Và câu lệnh gán có độ trễ, tức là tín hiệu ở bên vế trái sẽ thay đổi tương ứng sau thời gian trễ.

2-2-2.Mô tả kiến trúc theo mô hình cấu trúc.
        Mô hình cấu trúc của một phần tử (hệ thống) có thể bao gồm nhiều cấp cấu trúc bắt đầu từ một cổng logic đơn giản để xây dựng mô tả cho một hệ thống hoàn thiện. Thực chất của việc mô tả theo mô hình cấu trúc là mô tả các phần tử con bên trong hệ thống và sự kết nối của các phần tử con đó. Như với ví dụ mô tả mô hình cấu trúc một flip-flop RS gồm hai cổng NAND như sau.


2-3. Cấu hình.
        Việc khai báo cấu hình tương tự như việc liệt kê các phần của bản thiết kế. Khai báo cấu hình thực chất là chỉ ra kiến trúc nào được gắn với thực thể nào. Như vậy các kiến trúc khác nhau có thể cùng được gắc với một thực thể. Ðiều này cho phép thay đổi bản mô tả ở thời điểm mô phỏng hay tổng hợp hệ thống. Việc khai báo cấu hình là tuỳ chọn, cũng có thể sử dụng cấu hình mặc định do VHDL cung cấp-khi đó kiến trúc được khai báo cuối cùng cho một thực thể sẽ được gắn với thực thể đó.

2-4. Môi trường kiểm tra.
        Một trong các nhiệm vụ rất quan trọng là kiểm tra bản mô tả thiết kế. Kiểm tra một mô hình VHDL được thực hiện bằng cách quan sát hoạt động của nó trong khi mô phỏng. Thông thường các bộ mô phỏng có cung cấp khả năng kiểm tra, nhưng cũng có thể xây dựng một môi trường kiểm tra VHDL. Môi trường kiểm tra có thể hiểu như một mạch kiểm tra ảo. Môi trường kiểm tra sinh ra các tác động lên bản thiết kế và cho phép quan sát hoặc so sánh kết quả hoạt động của bản mô tả thiết kế.


Hình 6. Minh hoạ một môi trường kiểm tra ảo bằng VHDL.

III. Kết luận.
        Trên đây ta đã xem xét một ngôn ngữ phần cứng khá phổ biến là VHDL. Ta có thể thấy các ưu điểm của VHDL cũng như các cấu trúc cơ bản nhất của VHDL. Tuy nhiên, VHDL là một ngôn ngữ rất phức tạp và không phải là một ngôn ngữ dễ học và dễ làm chủ. Bài báo này chỉ mang tính chất giới thiệu một ngôn ngữ đang được dùng phổ biến để thiết kế các hệ thống số.
Như vậy, câu hỏi đặt ra là VHDL có thể ứng dụng gì trong điều kiện Việt Nam?
Trên thực tế, hiện nay chúng ta có đủ điều kiện công nghệ để chế tạo, tổng hợp các mạch số tích hợp, vì vậy việc sử dụng VHDL để thiết kế các mạch số ở Việt Nam còn có nhiều vướng mắc cần giải quyết.
        Tuy nhiên chúng ta có thể sử dụng VHDL để mô phỏng quan sát kiểm tra hoạt động của các phần cứng mà không cần dùng tới các mạch kiểm tra quá đắt tiền. Ðiều này rất hữu ích trong các trường đại học (như tại Khoa Ðiện tử – Viễn thông. PTIT - Học Viện Công Nghệ Bưu Chính Viễn Thông). Ta có thể sử dụng VHDL để xây dựng các bài thí nghiệm mô phỏng hoạt động phần cứng minh hoạ cho giảng dạy.
Hơn thế việc nghiên cứu sử dụng VHDL là cần thiết cho các kỹ sư vận hành hệ thống, vì các hệ thống số chúng ta đặt mua sẽ có thể được cung cấp tài liệu dưới dạng các mô hình VHDL.


(Nguồn: Tạp chí điện tử trẻ)

Chip Khả Trình, Cấu Kiện Logic Khả Trình, Mô Phỏng Phần Cứng, Mô Tả Phần Cứng, Ngôn Ngữ, Ngôn Ngữ VHDL, VHDL,

Đăng nhận xét

Author Name

{picture https://lh3.googleusercontent.com/-5Ns_H0UG4cU/Vuu5KrqbEnI/AAAAAAAAEZs/XgsHemy00D4eQ3ivA76v6FFEm7jg9reVwCCo/s512-Ic42/pham-van-ngoc-anh.jpg}

Tôi là Ngọc Anh. Tôi đến từ Nghệ An. Tôi tốt nghiệp một trường đại học tại Sài Gòn. Hiện tôi đang phát triển công ty riêng. Liên lạc với tôi qua:

{facebook https://www.facebook.com/phamvanngocanh}
{twitter https://twitter.com/nghiphong1993}
{google https://plus.google.com/+dientuchiase/posts}
{youtube https://www.youtube.com/channel/UCeJKhA_goBNFmDw6RKNtmYQ}

Biểu mẫu liên hệ

Tên

Email *

Thông báo *

Được tạo bởi Blogger.