GAL là một nhóm của công nghệ EEPLD, nó đ−ợc giới thiệu và phát triển bởi công ty Lattice Semiconductor Comp. Công ty này đN đ−a ra một khái niệm về cổng PLD có ký hiệu là OLMCs (Output Logic Macrocells).
Vi mạch này cũng có những đặc điểm là có thể xóa bằng điện và lập trình lại bằng các phần mềm và công cụ hỗ trợ. Cấu trúc của vi mạch GAL16V8 đ−ợc trình bày ở hình 2.7, GAL16V8 có hình dạng 20 chân là một vi mạch phổ biến trong họ GAL.
Mỗi một OLMC có 8 ngõ vào t−ơng đ−ơng với 8 tích
số trong một biểu thức. Ngoài ra OLMC cũng có tín hiệu hồi tiếp đ−a về để điều khiển, tín hiệu xung đồng hồ, tín hiệu hồi tiếp về mảng AND. Các vi mạch GAL đều có hỗ trợ những thanh ghi “Preload”, điều này có ích trong việc kiểm tra vi mạch. Mặt khác một thế hệ vi mạch mới đ−ợc phát triển là vi mạch lập trình hệ thống ký hiệu là isp EELD (In-system Progammable).
Vi mạch đầu tiên là isp GAL16Z8, cấu trúc của nó gần giống với GAL16V8 nh−ng đ−ợc thêm vào 4 chân để điều khiển lập trình. Trong hệ thống ispGAL16Z8 cho phép chu kỳ lập trình là 10000 lần và dữ liệu đ−ợc giữ cố định trong khoảng thời gian 20 năm. Đó cũng là quy định của những vi mạch theo nguyên tắc EPROM. Cấu trúc của họ GAL là sự lặp lại cấu trúc của họ PAL và những đặc điểm của họ GAL đ−ọc thiết kế để kết hợp với những vi mạch họ PAL.
Điều này đ−ợc thể hiện qua việc ký hiệu các vi mạch họ GAL và cấu trúc tế bào bảo vệ của nó.
2.2. 7. Họ vi mạch PEEL (Progammable Electrially Erasable Logic).
Họ PEEL đ−ợc công ty International Cmos Technology INC giới thiệụ Nó đ−ợc chế tạo với công nghệ EEPROM. Cấu trúc của PEEL cũng t−ơng tự nh− PAL và GAL, nó đ−ợc xóa bằng điện và lập trình cũng nhờ vào phần mềm hỗ trợ. Cấu trúc vi mạch PEEL18CV8 đ−ợc trình bày ở hình 2.8.
Vi mạch có 20 chân với 8 ngõ ra đ−ợc cấu tạo bởi cổng PLD, mỗi ngõ ra có 8 tích số trong một hàm của biểu thức và có một tích số riêng để điều khiển cổng đệm ngõ rạ Cực tính ngõ ra cũng đ−ợc lập trình các thanh ghi ở ngõ ra của vi mạch đ−ợc Reset không đồng bộ, ngoài ra các thanh ghi có thể đ−ợc chốt bên trong khi ngõ ra đ−ợc điều khiển bởi một biểu thức của tổng các số hạng của ngõ vàọ Đặc điểm này đ−ợc cải tiến hơn số với các vi mạch PAL16V10 hay GAL16V8.
2.2.8. Họ vi mạch EPLD (Erasable PLD).
Công ty Altera lần đầu tiên giới thiệu thuật ngữ xóa các PLD bằng tia cực tím và nó đN trở thành thuật ngữ chung cho công nghệ PLD để tham khảo
Clk Đầu vào Đầu vào/ ra
cho các vi mạch lập trình xóa bằng tia cực tím. Từ khi khởi đầu, công ty Altera thay đổi công nghệ chế tạo PLD từ công nghệ l−ỡng cực sang công nghệ CMOS vì công nghệ CMOS đạt đ−ợc hiệu suất cao về không gian (mật độ tích hợp cao hơn). Nh− PAL16L8 có mật độ tích hợp từ 100 lên 150 cổng, PAL22V10 có 500 đến 600 cổng và EP310 (là vi mạch đại diện cho họ EPLD) có trên 1000 cổng. Cấu trúc của cổng PLD bao gồm cả khối điều khiển cấu trúc I/Ọ Cấu hình của
ACB giống nh− cấu trúc của cổng PLD của vi mạch PAL và GAL nh−ng có chức năng hoạt động đơn giản hơn. Trong đó mỗi cổng có 8 biến ngõ vào cùng với một biến để điều khiển cổng đệm ngõ rạ Nhờ vào cấu trúc ACB I/O mà EP310 có các tín hiệu tổ hợp ngõ ra tác động ở mức cao hoặc thấp hay các tín hiệu đ−ợc ghi cũng tác động ở mức cao hoặc thấp. Đối với tín hiệu hồi tiếp về mảng AND đ−ợc đ−a về từ thanh ghi ở ngõ rạ Các cổng đệm ngõ ra đ−ợc điều khiển bằng các biến riêng cho phép các chân của vi mạch có thể hoạt động hai chiềụ Ngoài ra EP310 cũng có cầu chì bảo vệ chống sao chép và giờ đây cầu chì bảo vệ trở thành một tiêu chuẩn cho các thế hệ PLD mớị Một số vi mạch tiêu biểu cho họ EPLD là EP900, có cấu tạo 40 chân, bên trong có 24 khối ACB, mật độ tích hợp hơn 1000 cổng với các tổ hợp ngõ ra có lựa chọn.
2.2.9. Họ vi mạch PML ( Programmable Macro Logic).
Họ vi mạch đ−ợc công ty Signetics sử dụng cấu trúc mới gọi là “foldback” (gấp về). Mạch logic “foldback” sử dụng một cổng NAND đơn hay mảng NOR kết hợp với một cấu trúc liên kết lập trình trung tâm cho phép thực hiện nhiều mức logic khác nhau để liên kết với macro ngõ vào và ngõ rạ Nh− trong họ vi mạch PML, một mảng NAND đ−ợc sử dụng vì cổng NAND có tốc độ truyền nhanh nhất trong công nghệ l−ỡng cực.
Từ khóa macro để tham khảo một khối chức năng và có thể xác định một tín hiệu ngõ vào, một cổng đệm ngõ ra hay bất cứ một hàm logic nào nh− FF, mạch đếm hay mạch tổ hợp. Công ty Signetics phân loại các macro nh− sau: ngõ vào là macro ngõ vào, macro ngõ ra và những khối chức năng khác nh− thanh
ghi hay mạch tổ hợp thì gọi là macro chức năng. So với cấu trúc mảng AND - OR của các họ IC PAL và FPLA thì cấu trúc mảng NAND phức tạp hơn.
2.2.10. Họ vi mạch ERASIC(Erasable Programmable Application Specific IC). Specific IC). Specific IC).
Họ vi mạch ERASIC đ−ợc giới thiệu bởi công ty Exel Microeletronics có cấu trúc t−ơng tự nh− họ PML nh−ng đ−ợc chế tạo bằng công nghệ CMOS EEPROM khác với họ PML dùng công nghệ l−ỡng cực . Một đặc điểm khác biệt nữa là họ ERASIS sử dụng cấu trúc mảng NOR , vì trong công nghệ CMOS cổng NOR có thời gian truyền nhanh nhất. Vi mạch đầu tiên của họ này là XL 78C800 có 24 chân với mật độ thích hợp khoảng 800 cổng.
2.2.11. Họ vi mạch LCA (Logic Cell Array).
Họ LCA đ−ợc công ty Xillinx giới thiệu dựa theo các cấu trúc của công ty MMI, đN trình bày một cấu trúc độc đáo trong các họ của PLD. Cấu trúc truyền thống của các họ vi mạch PAL và FPLA là các mảng AND - OR. Các cổng lập trình có cấu trúc của họ LCA gọi là cấu trúc lập trình cho ng−ời sử dụng. Đặc biệt là trong cấu tạo của LCA, họ dùng RAM động để tạo ra các chức năng logic theo yêu cầu thiết kế. Nh−ợc điểm của các tế bào RAM động th−ờng không ổn định. Do đó các chức năng sẽ trở lại trạng thái ban đầu khi mất điện. Để hỗ trợ cho vấn đề này họ sử dụng thêm ph−ơng pháp l−u trữ mới có chức năng t−ơng tự nh− ROM. Cấu trúc của LCA đ−ợc mô tả ở hình 2.9, bao gồm một khối IOB bao quanh ma trận của khối CLB.
CONFIGURATE
Liên kết các đ−ờng tín hiệu dọc và ngang giữa 2 khối giúp cho việc kết nối giữa 2 khối thêm thuận tiện. Vi mạch đầu tiên của họ LCA là XC 2064, có mật độ thích hợp khá phức tạp khoảng 1200 cổng logic, 58 khối IOB cùng một ma trận 8x8 hàng và cột tạo ra 64 khối CLB. Tạo ra một vi mạch khác là XC 2018 có mật độ tích hợp khoảng 1800 cổng, có 74 khối IOB cùng một ma trận 10x10 tạo ra 100 khối CLB. Vi mạch có các đ−ờng tín hiệu xung clock, tín hiệu reset đặc biệt và mạch tạo dao động thạch anh bên trong IC dùng để kết nối với các phần tử dao động bằng thạch anh bên ngoàị
Ch−ơng 3
Ngôn ngữ mô tả phần cứng VHDL
Cùng với sự phát triển nhanh chóng của các loại thiết bị logic lập trình đ−ợc (FPLD: Field Programmable Logic Device), các ngôn ngữ lập trình cho các loại thiết bị đó đ−ợc gọi là ngôn ngữ mô tả phần cứng (HDL) cũng ngày càng xuất hiện nhiều nh− VHDL, Verilog HDL, ABEL HDL, State Machine Editor, Schematic Editor...
3.1. Mở đầu
3.1.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 caọ 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, đN đ−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 đN 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àọ 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à:
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àọ 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 đN thiết kế.
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−ờị 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 đN có sẵn.Trên đây ta đN 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.1.2 Các thuật ngữ của VHDL
Thực thể (Entity): Tất cả các thiết kế đều đ−ợc biểu diễn d−ới dạng các thực thể. Một thực thể là một khối xây dựng sẵn cơ bản nhất trong một thiết kế.
Mức cao nhất của thiết kế là thực thể mức đỉnh (top level entity) . Nếu thiết kế có thứ bậc, mô tả mức đỉnh sẽ có các mô tả mức thấp hơn chứa bên trong. Những mô tả mức thấp hơn này sẽ là các thực thể mức thấp hơn chứa trong mô tả thực thể mức đỉnh.
Kiến trúc (Architecture): Tất cả các thực thể có thể đ−ợc mô phỏng đều có một mô tả kiến trúc. Kiến trúc mô tả hành vi của thực thể. Một thực thể đơn có thể có nhiều kiến trúc. Một kiến trúc có thể ở mức hành vi (behavioral) trong khi một kiến trúc khác có thể mô ả ở mức cấu trúc của thiết kế.
Cấu hình (Configuration): Một phát biểu cấu hình đ−ợc sử dụng để làm kết nối một thể hiện thành phần với một cặp thực thể - kiến trúc. Một cấu hình có thể đ−ợc khảo sát giống nh− một danh sách các phần của một thiết kế.
Gói (package): Một gói là một tập các ch−ơng trình con và các kiểu dữ liệu phổ biến đ−ợc sử dụng trong một thiết kế.
Thuộc tính (attribute): Thuộc tính là dữ liệu đ−ợc gán cho các đối t−ợng hoặc dữ liệu đ−ợc tiền định nghĩa liên quan đến các đối t−ợng trong VHDL.
Generic: Generic là thuật ngữ của VHDL dùng cho một thông số, thông tin này chuyển thông tin tới thực thể.
Quá trình (process): Một quá trình là một đơn vị thực thi cơ bản trong VHDL. Tất cả các thao tác đ−ợc thực hiện trong khi mô phỏng mô tả VHDL đều đ−ợc chia nhỏ trong một hay nhiều quá trình.
3.2. Cấu trúc của một ch−ơng trình VHDL
Cấu trúc của một ch−ơng trình VHDL đ−ợc minh hoạ nh− hình 3.2.
Các đơn vị thiết kế là các thành phần chính của mô tả VHDL, bao gồm các đơn vị sau:
•Gói (Package )
•Thực thể (Entity)
•Kiến trúc (Architecture)
•Cấu hình (Configuration )
Hình 3.1: Cấu trúc của ch−ơng trình VHDL Package
Entity
Configuration Architecture
Process
Hình 3.1: Cấu trúc của ch−ơng trình VHDL
Một thiết kế có thể bao gồm một vài package, khai báo entity, architecture, configuration. Quan hệ giữa 4 đơn vị thiết kế này đ−ợc minh hoạ trên hình 3.1.
3.3. Các đơn vị thiết kế trong VHDL
Các mô tả VHDL chứa các đơn vị thiết kế sơ cấp và các đơn vị thiết kế thứ cấp. Các đơn vị thiết kế sơ cấp là thực thể và gói, các đơn vị thiết kế