1. Trang chủ
  2. » Luận Văn - Báo Cáo

Thiết kế mạch số với VHDL và verilog tập 1 tống văn on

264 423 2

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 264
Dung lượng 22,91 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Để đạt được điều này, những người thiết k ế đã và đang hướng đến việc sử dụng hệ phương pháp thiết kế trên-xuống top-down design methodology bao gồm cả việc sử dụng các ngôn ngữ mô tả ph

Trang 1

mô tả phần cứng: VHDL vă Verilog Hầu hết câc thí dụ đều được viết bằng cả hai ngôn ngữ trín

vă cho ta cùng mạch logic tổng hợp được.

tắ a n ư ệ tt củ a cÂútKỷ t ô t Xin vui lòng:

• Không gạch, viết, vẽ lín sâch

NHĂ XUẤT BẢN LAO ĐỘNG XÊ HỘI

Trang 3

Lời mờ đầu I

LỜI MỞ ĐẦU

Quyển sãch này sử dụng hai ngôn ngữ mô tả phần cứng chuẩn công nghiệp là VHDL và Verilog Cả hai ngôn ngữ này đều được sử dụng rộng rãi và đã được IEEE (Institute of Electrical and Electronic Engineers) chấp thuận Các phiên bản ngôn ngữ đặc thù sử dụng trong quyển sách này là IEEE 1076

’93 cho VHDL và IEEE 1364 cho Verilog

Tất cả mô hình (model) đều đã được kiểm tra bằng cách sử dụng các công cụ mô phỏng và tổng hợp

do VeriBest Incorporated phát triển Bất kỳ nơi nào có sự hiện diện của mạch logic tổng hợp được (synthesized logic circuit), những mạch này đều đã được tối ưu hóa về diện tích trừ các trường hợp khác

sẽ được chỉ ra cụ thể

Quyển sách này bao gồm 12 chương và được chia thành 2 tập

Tập 1: Từ chương 1 đến chương 7.

Chương 1 Mở đầu Chương 1 định nghĩa các linh kiện ASIC và FPGA, giới thiệu chỉ tiêu lựa chọn

linh kiện trong một ứng dụng cho trước Ngôn ngữ mô tả phần cứng HDL và khái niệm về công cụ thiết

k ế tự động cũng được giới thiệu

Chương 2 Ràng buộc tổng hợp Chương 2 trình bày ảnh hưởng của các ràng buộc khác nhau lên

mạch tổng hợp được của một thiết k ế cụ thể Một kịch bản ràng buộc thiết k ế điển hình cũng được mô

tả chi tiết

Chương 3 N guyên tắc cơ bản của ngôn ngữ Chương 3 trình bày những nguyên tắc cơ bản của

hai ngôn ngữ mô tả phần cứng: VHDL và Verilog Cấu trúc chương trình được trình bày bằng cách trước tiên định nghĩa các đơn vị thiết k ế và cách thức liên kết chúng vói nhau, kế đến mô tả các thành phần trong một đơn vị thiết kế Các phép gán cũng được định nghĩa cùng với những biểu thức bên trong chúng Các toán tử và toán hạng hình thành biểu thức được mô tả chi tiết

Chương 4 T hiết k ế và mô hình Chương 4 cung cấp danh sách các khuyến cáo, vấn đề và kỹ

thuật cần khảo sát khi ta th iết k ế ASIC và FPGA

Chương 5 Cấu trúc th iết kế Chương 5 trình bày việc cấu trúc chương trìn h HDL và cấu trúc của

phần cứng suy ra được khi ta mô hình thiết k ế ở mức truyền thanh ghi (RTL) Các cấu trúc chương trình được nhóm lại và được thảo luận riêng biệt

Chương 6 Mô hình mạch logic tổ hợp Chương 6 trình bày mô hình các mạch logic tổ hợn thông

dụng: mạch ghép kênh, mạch mã hóa, mạch mã hóa ưu tiên, mạch giải mã, mạch so sánh và ALU Trong

đa số trường hợp, nhiều phương pháp mô hình khác nhau cho cùng một mạch được trình bày

Chương 7 Mô hình m ạch logic tuần tự Chương 7 trình bày cách thức mô hình mạch chốt,

flipflop, thanh ghi dịch hồi tiếp tuyến tính, mạch đếm và chia tần số

Tập 2: Từ chương 8 đến chương 12.

Chương 8 Máy trạng thái hữu hạn Chương 8 trình bày chi tiết các khía cạnh khác nhau của

việc mô hình máy trạng thái 13 thí dụ về máy trạng thái được trình bày giúp người đọc có thêm nhiều

kỹ năng thực tế trong việc thiết k ế và mô hình máy trạng thái hữu hạn

Chương 9 Mô hình tổ hợp và tuần tự Chương 9 trình bày việc mô hình mạch dịch bit, mạch

cộng, mách trừ, mạch nhân và mạch chia dựa trên việc thực hiện mạch tổ hợp và mạch tuần tự

Chương 10 Mạch đệm 3-trạng thái Chương 10 bao gồm nhiều thí dụ khác nhau về cách thức

suy ra mạch đệm 3-trạng thái

Trang 4

II Thiết k ế mạch số với VHDL&Verilog

Chương 11 V iết cô n g cụ k iể m tra Chương 11 mô tả cấu trúc của công cụ kiểm tra mô phỏng và

các vấh đề liên quan

C hương 12 Mô h ìn h th ự c tế Chương 12 trìn h bày 5 th í dụ mô hình tương đối lớn bao gồm: tầng đường ôhg 3-trạng thái, đồng hồ báo thức, mạch phân xử bus, m ạch ước số chung lớn n h ấ t và mạch p hát hiện lỗi & sửa sai

Nội dung quyển sách này được biên soạn từ các tài liệu sau:

1 Quyển “HĐL chip design” của Douglas Smith, 1998

2 Quyển “VeriBest FPGA Synthesis HDL Reference Manual” của VeriBest Incorporated, 1998

3 Tài liệu “IEEE Standard Hardware Description Language Based òn the Verilog Hardware Description Language” , 1995 và 2000

4 Tài liệu “IEEE Standard VHDL Language Reference Manual”, 2000

Đối tượng của quyển sách này là các sinh viên thuộc các chuyên ngành điện, điện tử, viễn thông, công nghệ thông tin của các trường đại học và cao đẳng Người đọc cần có kiến thức cơ bản về kỹ thuật

số, mạch logic và biết qua một trong những ngôn ngữ lập trìn h như Pascal, c, v.v

Rất mong quyển sách này m ang lại nhiều tiện lợi cho người đọc trong nghiên cứu vằ học tập Chúc các bạn th àn h công và mong n h ận được những ý kiến dóng góp, phê bình cho những sai sót còn tồn tại

TP Hồ Chí Minh, tháng 1 năm 2007

M K PUBmk.pub@minhkhai.com.vnwww.minhkhai.com.vn

Trang 5

Thư ngỏ

THƯ NGỎ

K ính thưa quý Bạn đọc gầ n xa!

Trước hết, Ban xuất bản xin bày tỏ lòng biết ơn và niềm vinh hạnh được đông đảo Bạn đọc nhiệt tình ủng hộ tủ sách MK.PUB

Trong thời gian qua chúng tôi rất vui và cảm ơn các Bạn đã gửi e-mail đóng góp nhiều ý kiến quý báu cho tủ sách

Mục tiêu và phương châm phục vụ của chúng tôi là:

• Tất cả vì Bạn đọc

Một lần nữa, Ban xuất bản MK.PUB xin kính mời quỷ Bạn đọc tiếp tục tham g ia cùng chúng tôi

đ ể nâng cao chất lượng sách Cụ thể:

Trong quá trình sử dụng sách, nếu quý Bạn phát hiện thấy bất kỳ sai sót nào (dù nhỏ) xin đánh dấu,

ghi chú nhận xét ý kiến của Bạn ra bên cạnh rồi gửi cuốn sách này cho chúng tôi theo địa chỉ:

Nhà sách Minh Khai

249 Nguyễn Thị Minh Khai, Q.I, Tp Hồ Chí Minh.

E-mail: mk.book©minhkhai.com.vn hoặc mk.pub@minhkhai.com.vn

Chúng tôi xin hoàn lại cước phí bưu điện và gửi trả lại Bạn cuốn sách cùng tên Ngoài ra chúng tôi còn gửi tặng Bạn một cuốh sách khác trong tủ sách MK.PUB Bạn có thể chọn cuốn sách này theo danh mục thích hợp sẽ gửi tới Bạn

Với mục đích ngày càng nâng cao chất lượng tủ sách MK.PƯB, chúng tôi rất mong nhận được sự hợp tác nhiệt tình của quý Bạn đọc gần xa

‘MK.PUB cùng Bạn đọc đồng hành” để nâng cao chất lượng sách.

Một lần nữa chúng tôi xin chân thành cảm ơn

MK.PVB

Trang 8

Mục lục I®

Trang 9

VIII Thiết k ế mạch sô' với VHDL&Verilog

Trang 10

Những người thiết kê hệ thống luôn phải tranh đua tạo nên càng nhanh càng tốt các sản phẩm có giá cả hợp lý trong môi trường cạnh tranh cao Để đạt được điều này, những người thiết k ế đã và đang hướng đến việc sử dụng hệ phương pháp thiết kế trên-xuống (top-down design methodology) bao gồm cả việc sử dụng các ngôn ngữ mô tả phần cứng HDL (hardware description language) và phần mềm tổng hợp, cùng với quá trình mô phỏng theo cách cũ hơn Sản phẩm trong trường hợp cá biệt có thể là một thiết bị điện tử nào đó chứa các mạch tích hợp ứng dụng cụ thể ASIC (application-specific integrated circuit) hoặc dải cọng lập trìn h được dạng trường FPGA (field-programmable gate-array).

Trong những năm gần đây, ngày càng nhiều người thiết k ế đã chấp nhận hệ phương pháp th iết k ế trên-xuông cho dù hệ phương pháp này làm cho họ xa rời việc thiết k ế mức logic và mức transistor dể đến với lập trình trừu tượng (abstract programming)

Việc đưa vào các ngôn ngữ mô tả phần cứng chuẩn công nghiệp và công cụ tổng hợp thương mại có sẵn đã giúp củng cô' fiệ phương pháp thiết k ế mang tính cách mạng này Những thuận lợi là rõ ràng và các phương pháp thiết kế của người kỹ sư cần phải thay đổi

Một sô' thuận lợi là:

Khả năng sản xuất tăng dẫn đến các chu kỳ phát triển với nhiều đặc trưng hơn của sản phẩm

sẽ ngắn hơn và làm giảm thời gian đưa ra thị trường

Giảm các chi phí kỹ thuật không lặp lại NRE (non-recurring engineering cost)

Cho phép tái sử dụng thiết kế

Tăng tính linh động đôi với những thay đổi thiết kế

Thăm dò nhanh hơn các kiến trúc thay thế

Thăm dò nhanh hơn các thư viện công nghệ thay thế

Cho phép sử dụng phần mềm tổng hợp để rà soát một cách nhanh chóng khoảng diện tích

th iết kê' và định thời, tự động tạo ra các mạch điện khả kiểm tra (testable circuit)

Kiểm tra, xác minh th iết kê' tốt hơn và dễ dàng hơn

Quyển sách này sử dụng hai ngôn ngữ mô tả phần cứng chuẩn công nghiệp là VHDL và Verilog Cả hai ngôn ngữ này đều được sử dụng rộng rãi và đã được IEEE (Institute of Electrical and Electronic Engineers) chấp thuận Các phiên bản ngôn ngữ đặc thù sử dụng trong quyển sách này là IEEE 1076

’93 cho VHDL và IEEE 1364 cho Verilog

T ất cả mô hình (model) đều đã được kiểm tra bằng cách sử dụng các công cụ mô phỏng và tổng hợp

do VeriBest Incorporated phát triển Bất kỳ nơi nào có sự hiện diện của mạch logic tổng hợp được (synthesized logic circuit), những mạch này đều đã được tối ưu hóa về diện tích trừ các trường hợp khác

sẽ được chỉ ra cụ thể

Trang 11

Thiết k ế mạch sô' với VHDL&Verilog

1.2 ASIC VÀ FPGA

Các vi mạch chuẩn bán sẵn trên th ị trường thường có chức năng cố định do những n hà sản xuất định nghĩa Trái ngược với các linh kiện trên, ASIC và FPGA đều là những loại vi mạch m à chức năng của chúng không được ấn định bởi nhà sản xuất Chức năng của ASIC và PTGA sẽ được định nghĩa bởi người thiết k ế cho từng ứng dụng cụ thể Trong trường hợp tổng quát, ASIC sẽ yêu cầu quá trìn h chế tạo sau cùng (final manufacturing process) để tạo ra chức năng theo yêu cầu của khách hàng, còn FPGA thì không

1.2.1 ASIC

Mạch tích hợp ứng dụng cụ th ể ASIC là linh kiện được sản xuất chưa hoàn chỉnh (hay một phần) bởi nhà cung cấp ASIC ở dang tổng quát Quá trìn h chế tạo ban đầu này rấ t phức tạp, m ất nhiều thời gian và là phần dắt tiề h trong toàn bộ quá trìn h sản xuất Kết quả của quá trìn h chế tạo ban đầu sẽ là

nh ững chip silicon có các dải tran sisto r chưa nôi với nhau

Quá trìn h chế tạo sau cùng là quá trìn h k ết nội các tran sisto r với nhau, sẽ được hoàn tấ t khi người

th iế t k ế chip có một th iế t k ế cụ th ể và người này muôn thực hiện lên trê n ASIC- N hà cung cấp ASIC thường có th ể thực h iện điều này trong vài tuần và gọi đây là thời gian làm thay dổi hoàn toàn (turn- round time)

Có hai loại linh kiện ASIC, đó là dải cổng (gate array) và cell chuẩn (standard cell)

D ải cổng

Có hai loại dải cổng: dải cổng được chia kênh hay có kênh (channeled gate array) và dải cổng không

có kênh (channel-less gate array) Dải cổng có kênh được sản xuất với một hoặc vài hàn g cell cơ bản (basic cell) ngang qua chip silicon Một cell cơ bản bao gồm một số transistor Các kênh giữa những hàng cell cơ bản được sử dụng để liên k ết nối các cell cơ bản trong thời gian của quá trìn h sản xuất sau cùng theo yêu cầu khách hàng

Dải cổng không có kênh được sản xuất với rấ t nhiều cell cơ bản ngang qua chip silicon và không có các kênh chuyên dụng cho việc liên kết n ố i Các dải cổng chứa từ vài ngàn cổng tương đương (cổng NAND 2-ngõ vào) đến vài tră m ngàn cổng tương đương hoặc hớn (hiện nay) Do không gian định tuyến (để liên k ết nối) bị giới hạn trê n các dải cổng có kênh, chỉ khoảng 70% đến 90% tổng sô" cổng có sẵn được sử dụng

Thư viện các cell do những nhà cung cấp dải cổng hỗ trợ sẽ bao gồm: các cổng logic cơ bản mẫu,

th an h ghi, macro cứng (hard-macro) và macro mềm (soft-macro) Các macro cứng và macro mềm thường

có độ phức tạp của MSI và LSI, chẳng hạn như mạch ghép kênh, mạch so sánh và mạch đếm Macro cứng được định nghĩa bởi n hà sản xuất dưới dạng các mẫu cell cơ bản (cell primitive) Khi so sánh, các macro mềm được đặc trưng hóa bởi người th iế t kế, th í dụ bằng cách chỉ ra độ rộng (số bit) của một mạch đếm cụ thể

C ell ch u ẩn

Các linh kiện cell chuẩn không có khái niệm về cell cơ bản và không có th àn h phần nào dược sản xuất trước trê n chip silicon N hà sản xuất tạo ra các m ặt nạ tùy thuộc khách hàng cho từng giai đoạn của quá trìn h sản xuất chip, có nghĩa là silicon được tận dụng hiệu quả hơn nhiều so với các dải cổng

N hà sản xuất cung cấp các thư viện macro cứng và macro mềm chứa những phần tử có độ phức tạp của LSI và VLSI, chẳng h ạ n như bộ điều khiển, ALU và bộ vi xử lý

Ngoài ra, thư viện macro mềm còn chứa nhiều mạch chức năng RAM mà ta không th ể thực hiện một cách có hiệu quả, trong các linh kiện dải cổng; mạch chức năng ROM thường được thực hiện hiệu quả hơn trong các mẫu cell cơ bản

1.2.2 FPGA

Dải cổng lập trìn h được dạng trường là linh kiện được sản xuất hoàn chỉnh nhưng vẫn duy trì tính độc lập vởi th iế t kế Mỗi n hà sản xuất FPGA đều đăng ký độc quyền các kiến trúc FPGA của mình Tuy nhiên, nhũng kiến trúc này sẽ bao gồm một số khôi logic lập trìn h được và những khôi này được nối với nhau bằng các ma trậ n chuyển mạch lập trìn h được Để cấu hình một lính kiện cho m ệt chức năng cụ thể, những ma trậ n chuyển mạch này được lập trìn h để định tuyến các tín hiệu giữa nhiều khối logic riêng rẽ

Trang 12

Chương 1: Mở đầu I«

1.2.3 L ự a ch ọ n giữa ASIC v à FPGA

Các chi phí kỹ thuật không lặp lại NRE liên quan đến việc chế tạo một ASIC tùy thuộc khách hàng vào thời điểm năm 1998 khoảng từ 20000 USD đến hơn 100000 USD Tuy nhiên, sau kinh phí ban đầu này giá đơn vị cho các linh kiện sản phẩm có thể chỉ khoảng 10 USD Giá này rẻ hơn nhiều so với chi phí sản xuất của các linh kiện FPGA, điên hình khoảng từ 150 USD đến 250 USD mỗi linh kiện (giá vào thời điểm năm 1998) Lợi ích của các FPGA là những linh kiện này được lập trình dễ dàng vậ nhanh chóng, chức năng tùy thuộc khách hàng Hơn nữa, các FPGA cho phép việc bô' trí bo mạch in bằng công cụ CAD được tiến hành, trong khi thiết kế bên trong của FPGA vẫn đang hoàn tất Thủ tục này cho phép ta kiểm tra sớm sự tích hơp phần cứng và phần mềm Nếu việc kiểm tra hệ thông th ấ t bại, thiết kế này có thể được sửa đổi và linh kiện FPGA khác được lập trình ngay lập tức với chi phí tương đôi thấp Với các chip FPGA và CPLD dạng ISP (lập trình ngay trên hệ thông: in-system programming) hiện nay, việc iâp trình lại sẽ hoàn toàn dễ dàng với chi phí không đáng kể

Với những lý do trên, các thiết k ế thường trước tiên hướng đến linh kiện FPGA để kiểm tra hệ thống và có thời gian sản xuất nhỏ Kế đến, thiết kế được định hướng lại đến một ASIC để sản xuất ở qui mô lớn hơn Các thỏa hiệp thiết kế phải được xem xét khi định hướng lại từ FPGA sang ASIC Thí

dụ, thời gian giữ (hold time) dài có thể không bao giờ xuất hiện trong ASIC do tốíc độ thực hiện chức năng được cải tiến

1.3 HỆ PHƯƠNG PH Á P TH IẾT KẺ' TRÊN-XUốNG

Theo nghĩa lý tưởng, hệ phương pháp thiết kế trên-xuông ở mức hệ thông muốn mô tả hệ thống hoàn chỉnh ở một mức trừu tượng bằng cách sử dụng ngôn ngữ mô tả phần cứng HDL (hardware description language) và sử dụng các công cụ tự động như trình phân vùng (partitioner) và trình tống hợp (synthesizer) Điều này khiến cho mô tả ở mức trừu tượng để thực hiện trên PCB hay MCM (multichip modules) sẽ chứa các IC chuẩn, ASIC, FPGA, PLD và các IC hoàn toàn tùy thuộc khách hàng (full-custom IC) Tuy nhiên, điều lý tưởng này không được trọn vẹn, các công cụ EDA đang không ngừng được cải tiến theo hướng cô' gắng đạt được điều mơ ước này Điều này có nghĩa là những người thiết kế phải luôn cập n hật kiến thức và học hỏi những kỹ năng mới

Vào lúc này, nhiều thời gian được dành cho việc thiết kê' các mô hình HDL, cho việc khảo sát các kiến trúc khác nhau, xem xét các vấn đề kiểm tra hệ thông và tính khả kiểm tra của hệ thống Hầu như

ta không mất thời gian dành cho việc thiết kê' ở mức cổng

Những tiến bộ của công nghệ trong hơn thập niên qua đã làm tăng hơn 10 lần sô' cổng mà một ASIC có thể chứa: phổ biến hiện này là vài trăm ngàn cổng Điều này làm gia tăng độ phức tạp của các

IC chuẩn và ASIC, dẫn đến khái niệm “hệ thống trên một chip” SoC (system on a chip) Hệ phương pháp thiết kê' trên-xuống là tùy chọn thích hợp duy nhất để thiết kế các chip như vậy

Các thiết kê' ASIC hoặc FPGA trong các dự án phát triển phần cứng thường ở trên đường tới hạn của k ế hoạch phát triển Theo thông lệ, các thiết kê' như vậy được tạo ra bằng cách nhập chúng vào dưới dạng các giản đồ mạch điện sử dụng công cụ nhập thiết kế bằng sơ đồ Trong vài trường hợp vì lý do chi phí, đây có thể vẫn là phương pháp thiết kế thực hiện được- đối với cảc linh kiện |ihỏ như PLD chẳng hạn

Với điều kiện ta có đủ ngân sách cho các công cụ mô phỏng và tổng hợp, tiếp cận thiết kê' trên- xuống sử dụng ngôn ngữ mô tả phần cứng HDL là triết lý thiết kê' tốt nhất được thừa nhận

Câu nói “một bức vẽ mô tả một ngàn từ” dường như đi ngược lại bản chất của việc sử dụng HDL thay cho các sơ đồ Điều này là hiển nhiên trong đa số các công cụ đầu cuối nhập bằng đồ họa, các công

cụ này tạo ra các mô hình HDL- Tuy nhiên, có nhiều lợi ích cho việc chấp nhận hệ phương pháp th iết kê' trên-xuống như đã được tóm tắ t trong phần mở đầu ở trang 1

Ta hãy tưởng tượng việc sử dụng các sơ đồ để thiết kê' một ASIC 100k cổng; một thay đổi nhỏ của

th iết kê' cũng có thể dẫn đến các thay đổi quan trọng mất nhiều thời gian cho các sơ đồ Triết lý của việc sử dụng ngôn ngữ mô tả phần cứng để phát triển phần cứng.điện tử cũng tương tự như triế t lý của

dự án phát triển phần mềm sử dụng ngôn ngữ lập trình cấp cao như c chằng hạn

Các mức cải tiến “có hệ thống” phần cứng điện tử trong quá trình thiết kê' trẽn-xuống được trình bày

ở hình 1.1 Hình này chỉ ra cách thức mà phần mềm tổng hợp trử thành m ắt xích chính trong quá trìn h thiết kẹ trên-xuống

Trang 13

Thiết k ế mạch số với VHDL&Verilog

Hình 1.1: Cải tiến “có hệ thông” phần cứng điện tử trong môi trường thiết kế trên-xuôhg.

phương pháp th iế t k ế trên-xuống làm cho mô hìn h HDL của phần cứng, mô hình này được viết ở mức cao của trừu tượng hàn h vi (hệ thống hoặc giải thuật), giảm ngang qua các mức trung gian đến mức

th ấp (cổng hoặc transistor) như được trìn h bày ở hình 1.2

Trang 14

Chương 1: Mở đầu

RTL code: mã (chương trình) RTL

RTL synthesis: tổng hợp RTL

Test synthesis: tổng hợp kiểm tra

Layout synthesis (ASIC vendor): tổng hợp layout (nhà cung cấp ASIC)

System concept: khái niệm hệ thống

Algorithm: giải thuật

Architecture: kiến trúc

RTL: mức truyền thanh ghi (register transfer level)

Gate: cổng

Increasing behavioral abstraction: tăng trừu tượng hành vi

Increasing detailed realization & complexity: tăng thực hiện chi tiết và độ phức tạp

Thuật ngữ “hành vi” (behavior) biểu thị hành vi của phần cứng mong muốn và độc lập với mức trừu tượng mà phần cứng được mô hình Một thiết kế được mô tả ở mức'Cổng vẫn biểu thị hành vi của ý định phần cứng Khi mô hình phần cứng được chuyển dầri dần đến những mức thấp hơn, mô hình này sẽ trở nên phức tạp và chứa nhiều chi tiết về cấu trúc hơn

Lợi ích của việc mô hình phần cứng ở các mức cao của trừu tượng hành vi là những người th iết k ế không bị tràn ngập bởi một lượng lớn chi tiết không cần thiết và độ phức tạp của công việc thiết k ế được giảm bớt

Cấu trúc phần cứng được bỏ qua khi mô hình phần cứng ở hai mức hành vi cao Tuy nhiên, khi mô hình phần cứng ở mức RTL, ta nhất th iết phải duy trì ý định phần cứng trong đầu ở mọi lúc Hình 1.3 trìn h bày cách thức mà các mức trừu tượng hành vi khác nhau chồng lên nhau giữa những miền th iết k ế khác nhau của trừu tượng thuần túy, phân rã cấu trúc và thực hiện vật lý

Behavioral level of abstraction

Design Model Domain

System ’ * *< ■* * irv

■ Architectural *

Architectural - n Synthesis

Algorithm

m

Verification.Logic

Gate

t _Vérification

Hình 1.3: Miền thiết kế của các mức trừu tượng thiết kế khác nhau

Behavĩoral level of abstraction: mức trừu tượng hành vi

System: (mức) hệ thống

Algorithm: (mức) giải thuật

RTL: mức truyền thanh ghi

Logic: (mức) logic

Gate: (mức) cổng

Design model doSiain: miền của mô hình thiết kế

Abstract: trừu tượng

Structural: cấu trúc

Physical: vật lý

Architectural desígn: thiết kế kiến trúc

Trang 15

6 T hiết k ế mạch số với VHDL&Verilog

Architectural synthesis: tổng hợp kiến trúc

RTL level synthesis: tổng hợp mức RTL

Structural design: thiết kế cấu trúc

Logic design: thiết kế logic

Layout design: thiết kế layout

Layout synthesis: tổng hợp layout

Logic level synthesis: tổng hợp mức logic

Verification: kiểm tra

Luồng th iết k ế ASIC điển hình sử đụng mô phỏng và tổng hợp mức RTL được trìn h bày ở hình 1.4 , Cung các vector kiểm tr a sẽ được sử dụng để kiểm tra các mô hìn h mức RTL và mức n etlist tổng hợp được Mức n etlist tương ứng với mức cổng nhưng cũng có th ể bao gồm các cell macro lớn hơn hoặc thậm chí các cell mega lớn hơn

Bằng cách so sánh các k ết quả mô phỏng ở từng mức, việc kiểm tr a mức n etlist có th ể được tự độnghóa

Hình 1.4: Luồng thiết kế ASIC điển hình sử dụng mô phỏng và phần mềm tổng hợp mức RTL

High level HDL specification: đặc tả HDL mức cao

RTL code design-for-test: thiết kế để kiểm tra chương trình HDL

Simulation vectors: các vector mô phỏng

Simulate RTL code: mô phỏng chương trình mức truyền thanh ghi

Simulation passed?: việc mô phỏng đạt'yêu cầu?

RTL & test synthesis, tổng hợp kiểm tra & mức RTL

Simulate netlist: mô phỏng netlist

Results compare?: so sánh các kết qua?

Vendor audits and sign off design for ASIC manufacture: nhà cung cấp kiểm tra và dừng thiết kế cỊể sản xuất

Trang 16

vi trừu tượng và mô hình cấu trúc phần cứng.

Mô hình hành vi trừu tượng Ngôn ngữ mô tả phần cứng tạo điều kiện dễ dàng cho việc mô tả trừu

tượng hành vi của phần cứng đối với các mục đích đặc tả (chỉ rõ chi tiết kỹ thuật) Hành vi này không

bị chi phôi bởi các khía cạnh cấu trúc hoặc thiết kế của ý định phần cứng

Mô hình cấu trúc phần cứng Cấu trúc phần cứng có khả năng được mô hình trong ngôn ngữ mô tả

phần cứng mà không cần quan tâm đến hành vi của thiết kế

Hành vi của phần cứng có thể được mô hình và được miêu tả ở các mức trừu tượng khác nhau trong suốt quá trình th iết kế Các mô hình mức cao mô tả một cách trừu tượng hoạt động của phần cứng, trong khi đó các mô hình mức càng thấp sẽ bao gồm càng nhiều chi tiết hơn, chẳng hạn như cấu trúc phần cứng suy ra được

1.4.2 Quá trình phát triển của VHDL

1980

Bộ Quốc phòng Mỹ (DOD) muôn thực hiện việc thiết kế mạch tự dẫn chứng, muốn theo đuổi một hệ phương pháp th iết k ế tổng quát và có thể sử dụng lại được với các công nghệ mới Rõ ràng đã có nhu cầu cho một ngôn ngữ lập trìn h chuẩn để mô tả chức năng và cấu trúc của các mạch số đối với việc th iết kế

vi mạch (IC)

DOD tài trợ một dự án thuộc chương trình vi mạch có tốc độ cực nhanh VHSIC (very high speed integrated circuit) để tạo ra ngôn ngữ mô tả phần cứng chuẩn Kết quả là dự án này tạo ra được ngôn ngữ mô tả phần cứng VHSIC hay thường được gọi là VHDL như hiện nay

1983

Việc phát triển VHDL bắt đầu bằng hợp đồng VHSIC với nỗ lực chung của IBM, Texas Instrum ents

và Intermetrics Các công ty này đóng góp những kinh nghiệm của mình về ngôn ngữ cấp cao và kỹ thuật th iết k ế trên-xuống để cùng nhau phát triển ngôn ngữ mới này cũng như các công cụ mô phỏng (simulation tool) kết hợp

VHDL cung cấp cho những nhà thầu của chính phủ phương pháp truyền thông chuẩn, tạo điều kiện

dễ dàng cho các kỹ thuật thiết k ế trên-xuống và đặc biệt quan tâm đến cách thức nâng cấp hệ thống khi công nghệ trở nên lạc hậu

1987

Hai sự kiện có ý nghĩa đã xảy ra Thứ nhất, DOD công bô' rằng tấ t cả mạch điện tử số đều được mô

tả trong VHDL và thứ hai, ủy quyền cho IEEE (Institute of Electrical and Electronics Engineers) phê

duỹệt VHDL th àn h chuẩn 1076 của IEEE Sự thành công của VHDL đã được đảm bảo

Máy bay chiến đấu chiến thuật tiên tiến F-22 là một trong các chương trìn h chủ yếu đầù tiên của chính phủ Mỹ sử dụng các mô tả VHDL cho tấ t cả hệ thống con điện tử trong dự án này Các nhà thầu nhỏ khác nhau đã thiết k ế nhiều hệ thống con khác nhau và do vậy, những giao diện giữa các hệ thống con này là quan trọng và được ghép nối chặt chẽ

Mã VHDL đã tự dẫn chứng và tạo thành nền tảng cho chiến lược th iết k ế trên-xuống Sự thành công của dự án này đã góp phần vào việc củng cố VHDL và hệ phương pháp thiết k ế trên-xuống

Lúc này VHDL đã trở thành chuẩn công nghiệp, các nhà cung cấp phần mềm tự động th iết k ế EDA (electronic design automation) bắt đầu phát triển các công cụ cho EDA với rủi ro ít nhất Tuy nhiên, nhu cầu còn thấp và vốn đầu tư cần có để phát triển các công cụ chất lượng thương mại còn cao nên ít công cụ được phát triển Việc thiếu các công cụ lúc ban đầu này đồng nghĩa với việc VHDL chậm được chấp nhận trong thương mại

1993

Ngôn ngữ VHDL được duyệt lại th àn h chũẩn IEEE 1076 ’93

Trang 17

8 Thíối kê mạch số với VHDL&Verilog

1996

Các công cụ tổng hợp và mô phỏng thương m ại đã sẵn sàng và đều tuân theo chuẩn IEEE 1076 ’93 Điều này cho phềp những người th iế t k ế bắt đầu sử dụng phiên bản chuẩn này trong hệ phương pháp thiết k ế trên-xuông Gói (package) VHDL sử dụng cùng với các công cụ tổng hợp trở th à n h một phần của chuẩn IEEE 1076, cụ th ể đây là chuẩn IEEE 1076.3 Chuẩn này cải thiện đáng kể tín h linh động của các th iế t k ế giữa nhiều công cụ tổng hợp khác nhau của n h à cung cấp Phần khác của chuẩn này, IEEE 1076.4 (VITAL), đã được hoàn tấ t và th iế t lập một chuẩn mới cho việc mô hình các thư viện ASIC

và FPGA trong VHDL Điều này tạo điều kiện th u ận lợi đáng kể cho n hà cung cấp ASIC, n hà cung cấp công cụ EDA và những người th iết kế

1.4.3 Quá trìn h ph át tr iể n của V erilog

1981

Công ty phần mềm CAE tuyên bố rằng phần mềm tự động th iế t k ế (design automation) của Gateway được khám phá bởi Prabhu Goel Một trong những nhân viên đầu tiên của Gateway là Phil Moorby, tác giả đầu tiên của ngôn ngữ mô tả phần cứng GenRad (GHDL) và trìn h mô phỏng HILO

1983

Gateway p hát hành ngôn ngữ mô tả phần cứng Verilog có tên là “Verilog HDL” hoặc đơn thuần là

“Verilog” cùng với trìn h mô phỏng Verilog (Verilog simulator)

T rìn h mô phỏng Verilog-XL hoạt động nhanh, đặc bĩệt là ở mức cổng và có th ể quản lý các

th iế t k ế vượt quá 100000 cổng

Trình mô phỏng Verilog-XL là một trìn h phiên dịch, phần mềm phiên dịch thực th i trực tiếp

m ã nguồn (source code) thay vì biên dịch trước m ã nguồn th àn h m ã đối tượng (object code) trung gian Bản chất phiên dịch của Verilog-XL cung cấp cho những kỹ sư th iế t k ế phần cứng điều mà họ mong muốn và cần đến cùng với phương pháp dễ dàng gỡ rối tương tác các th iế t kế phần cứng của họ Với Verilog-XL, các kỹ sư có th ể làm được nhiều hơn thay vì chỉ mô hình và

mô phỏng, ho còn có th ể khắc phục và sửa chữa một th iế t k ế như th ể họ khắc phục và sửa chữa phần cứng thực sự trê n bo mạch thử nghiệm

1987

Verilog-XL trở nên phổ biến hơn Kích thước th iế t k ế một chip b ắ t đầu vượt quá k hả nắng th ậ t của nhiều sản phẩm trìn h mô phỏng khác Gateway b ắt đầu xông xáo theo đuổi khả năng tá n th àn h xưởng chế tạo ASIC Một công ty khởi đầu khác, Synopsys, cũng b ắt đầu sử dụng ngôn ngữ hành vi Verilog độc quyền dưới dạng đầu vào cho sản phẩm phần mềm tổng hợp của m ình

Cùng thời điểm này IEEE đưa ra chuẩn “VHDL”, thu hú t sự chú ý về các khả năng của “th iế t k ế trên-xuốrig” sử dụng ngôn ngữ mô tả phần cứng h àn h vi và phần mềm tổng hợp T ất cả các yếu tố này dược k ết hợp làm gia tăng việc sử dụng và việc chấp nhận Verilog-XL

Trang 18

Hầu hết các xưởng chế tạo ASIC đều hỗ trợ Verilog và đa sô' sử dụng Verilog-XL làm trìn h mô phỏng Đây là trìn h mô phỏng mà nhà cung cấp chip sẽ sử dụng để đảm bảo rằng chip được sản xuất sẽ thỏa định thời giống như định thời của mô hình đã mô phỏng

sự ưa thích của cá nhân,

tính sẵn sàng của công cụ EDA,

các vấn đề thương mại, kinh doanh và tiếp thị

Các cấu trúc mô hình bằng VHDL và Verilog bao phủ phạm vi có khác nhau qua các mức trừu tượng hành vi được cho ở hình 1.5

System

Vfefflog

VHDL

\' * ■

Gate 8 i f i £ VITAL

ỄBỂÊSik

HDL modeling capability

Hình 1.5: Các khả năng mô hình của HDL.

Behavioral level of abstraction: mức trừu tượng hành vi

System: (mức) hệ thông

Algorithm: (mức) giải thuật

RTL: mức truyền thanh ghi

Gate: (mức) cổng

HDL modeling capability: khẵ năng mô hình của HDL

Trang 19

10 Thiết k ế mạch sô' với VHDL&Veriìeg

B iên dịch

VHDL Nhiều đơn vị th iết k ế (design unit) (các cặp en tity -a rch itectu re) hiện diện trong cùng tập

tin hệ thông (system file) có th ể được biên dịch riêng rẽ nếu ta muốn Tuy nhiên, thực t ế th iế t k ế tố t sẽ duy trì mỗi đơn vị thiết k ế trong tập tin hệ thống riêng

Vcrilog Ngôn ngữ Verilog vẫn bám rễ vào chế độ phiên dịch bẩm sinh Biên dịch là một phương'

tiện làm tăng tốc việc mô phỏng nhưng không làm thay đổi bản chất ban đầu của ngôn ngữ Do vậy, ta cần cẩn thận đối với cả hai, kiểu biên dịch chương trìn h được viết trong một tập tin duy n h ấ t và kiểu biên dịch nhiều tập tin Các kết quả mô phỏng có th ể thay đổi bởi việc đơn thuần thay đổi kiểu biên

K iểu dữ liệ u

VHDL Có rấ t nhiều kiểu dữ liệu (data type) của ngôn ngữ hoặc kiểu dữ liệu do người lập trìn h định

nghĩa được sử dụng Điều này có nghĩa là nhiều hàm chuyển đổi chuyên dụng được cần đến để biến đổi các đối tượng Từ một kiểu này sang m ột kiểu khác Việc lựa chọn các kiểu dữ liệu nào để sử dụng nên được xem xét một cách sáng suốt, đặc biệt là các kiểu dữ liệu liệt kê (enumerated d ata type) Kiểu dữ liệu này làm cho các mô hình dễ viết hơn, dễ đọc hơn và trá n h được các hàm chuyển đổi không cần

th iế t có th ể làm lộn xộn chương trình VHDL có th ể được ưa chuộng hơn do ngôn ngữ này cho phép nhiều kiểu dữ liệu củạ ngôn ngữ và người lập trìn h tự định nghĩa nhiều kiểu dữ liệu

Verilog Khi so sánh với VHDL, các kiểu dữ liệu của Verilog đơn giản hơn, dễ sử dụng và rấ t phù

hợp với việc mô hình cấu trúc phần cứng, tương phản với việc mô hình trừu tượng phần cứng Không giông như VHDL, mọi kiểu dữ liệu được sử dụng trong mô hình Verilog đều được định nghĩa bởi ngôn ngữ Verilog, người sử dụng không định nghĩa kiểu dữ liệu Có nhiều kiểu dữ liệu thực, chẳng hạn như

w ire và kiểu dữ liệu th a n h ghi có tên là reg Một mô hình với tín hiệu có kiểu dữ liệu là một trong các

kiểu dữ liệu thực sẽ có đường dây nối tương ứng trong mạch điện bao hàm mô hìn h được Các đối tượng

có kiểu reg được cập n h ậ t dưới sự điều khiển của luồng thủ tục các cấu trúc bao quanh chúng Verilog

cũng có th ể được ưa chuộng hơn do tín h đơn giản của các kiểu dữ liệu

Tính sử dụng lạ i th iế t k ế

VHDL Các thủ tục (procedure) và hàm (function) có th ể được dặt trong một gói-(package) sao cho

chúng sẵn sàng đối vổi bất kỳ đơn vị th iế t k ế (design unit) nào sử dụng chúng

Verilog Không có khái niệm các gói (package) trong Verilog Các hàm và các thủ tục được sử dụng

bên trong một mô hình phải được định nghĩa trong phát biểu (statem ent) m odule Một cách tổng quát,

để làm cho các ham và thủ tục có thể được truy cập từ nhiều p h át biểu m odule khác nhau, chúng phải

được đặt trong một tập tin hệ thống riêng rẽ và được bao gồm bằng cách sử dụng chỉ dẫn (directive)

‘include của trìn h biên dịch (compiler), ta gọi tắ t là chỉ dẫn trìn h biên dịch ‘include

Tính dễ học

Nêu ta b at đâu mà chưa có kiến thức gì về cả hai ngôn ngữ, có lẽ Verilog là ngôn ngữ d i nắm b ắt và

dê hiêu nhât Điêu này giả định ngôn ngữ chỉ dẫn trìn h biên dịch của Verilog đốì với việc mô phỏng và ngôn ngữ PLI không được bao gồm Nếu các ngôn ngữ này được bao gồm, chúng có th ể được xem như là

VHDL thoạt đầu dường như ít thiên về trực giác với hai lý do chính Thứ n h ất, VHDL được định kiểu rấ t mạnh; một tín h chất làm cho ngôn ngữ này trở th àn h ngôn ngữ m ạnh dối với người lập trìn h

có nhiều kinh nghiệm sau thời gian nghiên cứu lâu dài Thứ hai, có nhiều cách để mô hình cùng một mạch điện, đặc biệt là các mạch điện có cấu -trúc hệ thống th ứ bậc lớn

Chú g iả i th u ậ n và ngược

Một sản phẩm phụ từ Verilog là khuôn dạng trì hoãn chuẩn SDF (Standard Delay Format) SDF là khuôn dạng có mục đích tổng quát được sử dụng để định nghĩa các trì hoãn định thời trong một mạch điện Khuôn dạng này cung cấp đường liên k ết hai chiều giữa các công cụ layout chip với công cụ tổng hợp hoặc công cụ mô phỏng nhằm cung cấp cho ta các biểu diễn định thời chính xác hơn

Cấu trúc m ức cao

VHDL VHDL có nhiều cấu trúc và tín h chất hơn cho việc mô hình mức cao so với Verilog, Các kiểu

Trang 20

Chương 1: Mở dầu

Các phát biểu gói (package statement) nhằm sử dụng lại mô hình

Các phát biểu cấu hình (configuration statement) nhằm cấu hình cấu trúc thiết kế

Các phát biểu sinh (generate statement) nhằm tạo bản sao cấu trúc

Các phát biểu chung (generic statement) cho mô hình tổng quát, những mô hình này có thể được đặc trưng hóa riêng rẽ, chẳng hạn như dộ rộng bít (độ rộng tính bằng bit, sô' bit)

Tất cả các phát biểu này của ngôn ngữ đều hữu dụng trong các mô hình khả tổng hợp

Verilog Ngoài khả năng thông số hóa các mô hình bằng các hằng thông số quá tải (overloading

param eter constant), ta không có tương đương nào đôi với các phát biểu mô hình mức cao của VHDL trong Verilog

Mở rộng ngôn ngữ

Việc sử dụng các mở rộng ngôn ngữ (language extension) sẽ làm cho một mô hình trở nên không chuẩn và rất có khả năng trở nên không linh hoạt ngang qua các công cụ thiết kế khác Tuy nhiên, đôi khi các mở rộng ngôn ngữ được cần đến đế đạt được các kết quả mong muốn

VHDL Ngôn ngữ này có một thuộc tính (attribute) gọi là Toreign cho phép các kiến trúc

(architecture) hoặc chương trình con (subprogram) được mô hình trong ngôn ngữ khác

Verilog Giao diện ngón ngữ lập trình PLI (Programming Language Interface) là cơ chế giao diện

giữa các mô hình Verilog và công cụ phần mềm của Verilog Thí dụ, người thiết kế hoặc nhà cung câp công cụ Verilog chỉ rõ các tác vụ hoặc các hàm do người sử dụng định nghĩa trong ngôn ngữ lập trình c,

kế đến gọi chúng từ mô tả nguồn của Verilog Việc sử dụng các tác vụ hoặc hàm như vậy làm cho mô hình Verilog trở nên không chuẩn và do vậy có thế không khả dụng đối với các công cụ phần mềm của Verilog Việc sử dụng chúng không được khuyến khích

Thư v iệ n

VHDL Thư viện là miền lưu trữ trong môi trường máy chủ dành cho các thực thể (entity), kiến trúc

(architecture), gói (package) và cấu hình (configuration) biên dịch được Thư viện sẽ hữu dụng cho việc quản lý nhiều dự án thiết kế

Verilog Không có khái niệm nào về thư viện trong Verilog Điều này là do nguồn gốc của ngôn ngữ

này là ngôn ngữ phiên dịch

Cấu trúc mức thấp

VHDL Chỉ có các toán tử logic 2-ngõ vào được xây dựng sẵn- trong ngôn ngữ này, chúng là: NOT,

AND, OR, NAND, NOR, XOR và XNOR Việc định thời phải được chỉ ra riêng biệt bằng cách sử dụng

mệnh đề (clause) after Các cấu trúc riêng rẽ được định nghĩa trong IEEE 1076.4 (VITAL) phải được sử

dụng để định nghĩa những mẫu cell cơ bản (cell primitive) của thư viện ASIC và FPGA

Verilog Ban đầu trong ý tưởng, ngôn ngữ Verilog được phát triển cùng với việc mô hình mức cổng

(gate level), do vậy ngôn ngữ này có các cấu trúc rấ t tốt cho việc mô hình ở mức này cũng như cho việc

mô hình những mẫu cell cơ bản của thư viện ASIC và FPGA

Các thí dụ bao gồm những mẫu cell cơ bản do người sử dụng định nghĩa UDP (user.-đeíĩneđ primitive), bảng giá trị (truth table) và khối xác định để chỉ rõ các trì hoãn định thời ngang qua một mô-đun (module)

Quản lý th iế t k ế lớn

VHDL Các phát biểu câu hình (configuration), sinh (generate) và gói (package) cùng với mệnh đề

tổng quát (generic clause) sẽ giúp ta quản lý cấu trúc thiết kế lớn

Verilog Không có các ph át biểu nào trong Verilog giúp ta quản lý các thiết k ế lớn.

Toán tử

Phần lớn các toán tử đều giống nhau trong cả hai ngôn ngữ Verilog có nhiều toán tử đơn nguyên rút gọn (unary réduction operator) rất hữu dụng, các toán tử này không được định nghĩa trước (tiền định nghĩa) trong VHDL Phát biểu lặp vòng (loop) có thể được sử dụng trong VHDL để thực hiện phép toár, tương tự như toán tử đơn nguyên rút gọn của Verilog

VHDL có toán tử mod, toán tử này không tìm thấy trong Verilog

Trang 21

12 Thiết k ế mạch sô' với VHDL&Verilog

Mô h ìn h th ô n g s ố h ó a

VHDL Một mô hình có độ rộng bit cụ th ể có th ể được th ể hiện từ mô hìn h n-bit tổng quát bằng

cách sử dung mệnh đề g e n e ric Mô hình tổng qu át sẽ không được tổng hợp cho đến khi đựợc th ể hiện

cụ th ể và các giá trị của g e n e r ic được cung cấp

Verilog Một mô hình có độ rộng b it cụ th ể có th ể được thể hiện từ mô h ình n-bit tổng quát bằng

cách sử dụng các giá trị thông số quá tải (overloaded param eter value) Mô h ình tổng quát phải định nghĩa giá trị thông số mặc định (default) Điều này có hai nghĩa Trong trường hợp không có giá trị quá tải được chỉ rõ, mô hình vẫn được tổng hợp nhưng sẽ sử dụng các th iế t lập thông số mặc định' (default param eter setting) Ngoài ra, mô hình không cần được th ể hiện cùng với giá trị thông số quá tả i chỉ ra trước khi tổng hợp

S ao c h é p c ấ u tr ú c

VHDL P h át biểu g e n e r a te sẽ tạo bản sao một số th ể hiện (instance) của cùng một đơn vị thiết, k ế

hoặc một* phần nào đó của th iế t k ế và k ết nối một cách thích hợp

Verilog Không có p hảt biểu tương đương với p h á t biểu g e n e r a te trong Verilog.

T ỉn h d à i d ò n g

VHDL Do VHDL là ngôn ngữ được định kiểu r ấ t m ạnh, các mô hình phải được lập trìn h một cách

chính xác theo các kiểu dữ liệu được định nghĩa và tương thích Điều này có thể được xem là một thuận lợi hoặc một b ấ t lợi Tuy nhiên, diều này cũng sẽ có nghĩa là các mô hình thường dài dòng hơn và chương trìn h sẽ dài hơn so với mô hình và chương trìn h tương đương của Verilog

Verilog Các tín hiệu biểu diễn các đối tượng có độ rộng bit khác nhau có th ể dược gán lẫn nhau Các tín hiệu biểu diễn số bit nhỏ hơn sẽ được tự động chèn thêm đến tín hiệu có số b it lớn hơn, không phụ

thuộc vào đây là tín hiệu được gán hay không được gán Các b it không sử dụng sẽ được tối ưu hóa tự động trong quá trìn h tổng hợp Đây là một thuận lợi do ta không cần mô hình một cách quá tường m i n h như trong VHDL, nhưng cũng đồng nghĩa với việc các lỗi mô hình không dự định sẽ không được nhận dạng nhờ vào trin h phân tích (analyzer)

1.5 CÔNG CỤ THIẾT KẾ T ự ĐỘNG

Các công cụ phần mềm được sử dụng để giúp đỡ việc th iế t k ế phần cứng sẽ thuộc một trong hai loại: CAD (Computer Aided Design) hoặc CAE (Computer Aided Engineering) Các công cụ được sử dụng để

th iế t k ế bo mạch k ết hợp với phần cứng sẽ thuộc loại CAD, trong khị dó các công cụ đựợc sử dụng để

th iế t k ế chip sẽ thuộc loại CAE Tuy nhiên, sự phân b iệt này không dược rõ ràng, th í dụ trìn h mô phỏng

có th ể được sử dụng để mô phỏng cả bo mạch lẫn m ạch tích hợp (chip) Chỉ có các cône cu cần cho viêc

th iế t k ế chip được dề cập trong quyển sách này

Trang 22

Chương 1: Mở dầu I®

1.5.1 Mô p h ỏ n g

Mô phỏng là phần chủ yếu và cẩn thiết của quá trình thiết kê bất kỳ sản phẩm điện tử nào; không chỉ các linh kiện ASIC và FPGA Đối với các linh kiện ASIC và FPGA, mô phỏng là quá trìn h kiểm tra các đặc tính thuộc chức năng của mô hình ở bất kỳ mức hành vi nào, nghĩa là từ các mức trừu tượng cao đến các mức thấp, sắp xếp cơ bản cho việc mô phỏng được trình bày ở hình 1.6

1

outputresponses

Hình 1.6: Sắp xếp mô phỏng cơ bản

Input test waveform (vectors): dạng sóng đầu vào kiểm tra (các vector)

Output responses: các đáp ứng đầu ra

Circuit model: mô hình mạch điện

Trong ngữ cảnh này, trình mô phỏng là công cụ phần mềm CAE dùng để mô phỏng hành vi của mô hình phần cứng Các trình mô phỏng sử dụng định thời dược định nghĩa trong mô hình HDL trước kill tổng hợp hoặc định thời từ những cell của thư viện công nghệ đích sau khi tổng hợp Một trình mô phỏng có thể là trìn h mô phỏng chức năng cơ bản, trình mô phỏng phân tích chi tiết định thời động hoặc cả hai Phân tích định thời động được sử dụng trong mô phỏng để đánh giá các trì hoãn định thời ngang qua mô hình chính xác hơn so với việc sử dụng phân tích định thời tĩnh Phân tích định thời tĩnh được sử dụng bởi công cụ tổng hợp trong thời gian tôi ưu hóa bằng cách đơn thuần trích ra các trì hoãn từ những cell của thư viện cóng nghệ Tuy nhiên, phân tích định thời tĩnh sẽ khó khăn đối với:

sơ đồ điều khiển bằng xung clock phức tạp và nhiều xùng clock,

mạch không đồng bộ và giao diện với mạch không đồng bộ,

mạch chốt trong suốt,

việc nhận dạng và bỏ qua các đường dẫn sai

Phân tích định thời động sẽ chính xác hơn như được minh họa ở hình 1.7 Ớ hình 1.7(a), ta đặt Yl

ở mức logic 1 cùng với mọi đường dây khác ở mức logic 0 Nếu tr ì hoãn của Bufl lớn và không rõ ràng đối với trì hoãn của FF1 và FF2, cạnh tăng (rising edge) trên xung clock tạo ra giản đồ thời gian được trìn h bày ở hình 1.7(b) Thuật ngữ “không rõ ràng” trong ngữ cảnh này có nghĩa là trì hoãn của Bufl có

th ể có tầm giá trị rộng được xác định bởi các đặc tính tĩnh lẫn các dặc tính động của mạch điện

Có một rủi ro (hazard) hiển nhiên cho FF2 do cạnh của tín hiệu BufClock có thể xuất hiện trước hoặc sau khi Y1 thay đổi giá trị Tuy nhiên, khi sự không rõ ràng do trì hoãn của Bufl được loại bỏ, cạnh của BufClock sẽ xuất hiện trước và do vậy không còn hazard, Y2 thay đổi đúng đến logic ì như được trìn h bày

Buf1

a) circuit

I _ _ 1 1 .

Y2 _ T—

1 -ISSTVhazard

b) waveforms

Hình 1.7: Thí dụ trình bày sự cần thiết của phân tích định thời động

Circuit: mạch điện

Waveforms: các dạng sóng

Trang 23

!• 24 , Thiết k ế mạch sô' với VHDL&Verilog

1.5.2 Mô phỏng lỗi

Định nghĩa Mô phỏng lỗi là mô phỏng mô hình m ạch số với các tác n h ân kích th ích (vector) đầu

vào cụ thể và với các lỗi sản xuất điển hình được chèn (hay tiêm) vào mô hình Mô phỏng lỗi áp dụng tương tự cho các mạch tích hợp (IC) và bo mạch in (PCB)

Mô phỏng lỗi là cần th iế t vì những lý do sau:

Để nhận dạng các miền của mạch điện sẽ không được kiểm tra về m ặt chức năng bởi các vector kiểm tr a chức năng, nghĩa là một số nú t bên trong có th ể không đổi trạ n g th á i‘trong thời gian kiểm tr a mô phỏng chức năng

Để kiểm tra phẩm chất của các vector kiểm tr a và kh ả năn g của chúng trong việc p h át hiện các khuyết điểm sản xuất tiềm tàng

Để thực hiện việc kiểm tr a bo mạch và chip ngay trê n bo mạch fin-circuit chip) đối vói kiểm tra sản xuất lẫn kiểm tr a sửa chữa

Mô phỏng lỗi đặc biệt quan trọng đối với các linh kiện ASIC Tuy nhiên, mô phỏng lỗi cũng quan trọng đội với các FPGA lập trìn h sử dụng cầu chì và các FPGA lập trìn h dựa trê n RAM tĩnh

Khả năng của các vector kiểm tr a sản xuất để kiểm tr a một linh kiện được gọi là độ phủ lỗi (fault coverage) và được đo theo phần trà m của số lỗi p h át hiện được so với số lỗi tín h toán được, nghĩa là:

số lỗi.phát h iên đươc X 100dộphủ lôi = - , -— -

sô lôi tín h toán được

*

Độ phủ lỗi điển hình khoảng từ 70% đến 99.9%

Một phép đo quan trọng khác tro n g việc p h á t hiện các lin h kiện sản xuất bị lỗi là mức chất lượng trung bình AQL (average quality level), đây là đại lượng đo sản lượng sản xuất Đại lượng này là tỉ số giữa số linh kiện bị khuyết điểm xuất xưởng và tổng số linh kiện xuất xưởng, nghĩa là:

tổng số linh kiện xuất xưởngAQL điển hìn h khoảng từ 0.1% đến 5%

Các đại lượng độ phủ lỗi và AQL cùng nhau xác định sô' chip có lỗi tiềm tàn g không được p h át hiện

H ình 1.8 trìn h bày quan hệ giữa AQL và độ phủ lỗi, trong khi hình 1.9 nh ận dạng phần tră m chip có lỗi không p h át hiện được

H ình 1.10 cung cấp cho ta các con số phần trăm của các chip có lỗi không p h át hiện được

H ình 1.8: Đồ thị thang log của AQL theo độ phủ lỗi

Average quality level (%): mức chất lượng trung bình AQL (%)

Percentage fault coverage: phần trăm độ phủ lỗi

50-70% coverage for 5% AQL: 50-70% độ phủ cho 5% AQL

90% coverage for 3% AQL; 90% độ phủ cho 3% AQL

Trang 24

Chương 1: Mở đầu 15 HD

Faults detected

4 *

Faults undetected t

Actual yield (Y%)

Bad chips

Good chips

Hình 1.9: Số chip có lỗi không phát hiện được suy ra từ AQL và độ phủ lỗi

Actual yield (Y%): sản lượng thực tế (Y;/ó)

Faults detected: các lỗi phát hiện được

Faults undetected: các lỗi không phát hiện được

Bad chips: các chip xấu

Good chips: các chip tốt

Detected faulty chips: số chip có lỗi phát hiện được

Undetected faulty chips: số chip có lỗi không phát hiện được

Fault coverage (F%): độ phủ lỗi (F%)

Faultcoverage

Hình 1.10: Các số phần trăm cho các chip có lỗi không phát hiện được

Fault coverage: độ phủ lỗi

Trang 25

® * Jg Thiết kế mạch sô' với VHDL&Verilog

Mô phỏng lỗi là quá trìn h th iết k ế back-end (sau cùng) r ấ t tập trung và có th ể dẫn đến các trì hoãn không mong muốn khi đưa sản phẩm ra th ị trường Thời gian sống ngắn của nhiều sản phẩm , bao gồm các linh kiện ASIC và FPGA, có nghĩa là chi phí của các tr ì hoãn làm- ngắn lại chi phí sửa chữa, thậm chi đến 5% AQL

Nhu cầu mô phỏng lỗi ngày càng trở nên quan trọng vì một số lý do Một trong những lý do chính là việc phát hiện sớm lỗi sẽ làm giảm các chi phí một cách đáng kể, xem hìn h 1.11 Sự gia tăn g lớn số cổng trong một chip, tỉ số cổng/chân tăng và định thời giảm của công nghệ tra n sisto r dưới micron, tấ t

cả làm tăng nhu cầu mô phỏng lỗi

Một số ưu điểm của việc sử dụng mô phỏng lỗi là:

Tin tưởng hơn rằn g th iế t k ế là đúng

Phương pháp duy n h ấ t để xác m inh chất lượng của vector kiểm tra sản xuất

Đưa ra cảnh báo sớm eác vấn đề của sản xuất

- Phương pháp kiểm tra duy n h ấ t các vi mạch có tỉ số cổng/chân cao

Tin tưởng hơn rằng hệ thống sau cùng sẽ hóạt động

Giảm chi phí và thời gian khi vận hàn h lâu dài

Giữ gìn hìn h ảnh và danh tiếng của công ty

Sửa chữa và thay th ế các đơn vị dễ dàng hơn

Công nghiệp chấp nh ận độ phủ lỗi cho sản lượng tố t là 95% Tuy nhiên, người th iế t k ế chip với các vector kiểm tra cung cấp độ phủ lỗi 95% sẽ không th ể xác định phần trăm các chip có lỗi tiềm tàng không p h át hiện được Lý do cho điều này là những n hà cung cấp chip không muốn tiết lộ các con số về sản lượng của họ

Thí dụ, nếu độ phủ lỗi là 95% nhưng AQL của các n h à sản xuất là 40%, sẽ có 2% số chip có lỗi không được p h át hiện

Hình 1.11: Chi phí tương đối của việc không tìm thấy sám các lõi

Cost of repairing fault: chi phí sửa chữa lỗi

-Các trình, mô phỏng lỗi trước tiên mô phỏng mô hình của một chip không có b ất kỳ lỗi nào; mô hình này được gọi là mô hình không lỗi Các khuyết điểm sản xuất điển h ìn h kê đến được chèn vào mô hình

và việc mô phỏng được thực hiện lại

Nếu các vector đầu ra từ hai lần thực hiện lại mô phỏng là khác nhau, lỗi cá biệt có th ể p h át hiện

được Quá trìn h này tiếp tục bằng cách đưa vào các lỗi khác qua suốt mô hình Do số lỗi tiềm tàng lớn

được cần đến để mõ hình, ta dễ dàng thây tạ i sao thời gian chạy mô phỏng lại r ấ t lâu

Trang 26

Nối tiếp Mô phỏng lỗi nối tiếp là mô phỏng đơn giản nhất Hai bản sao của cùng một mạch điện sẽ

lưu trong bộ nhớ, ta đưa một lỗi vào một trong hai bản sao này, kế đến cả hai mạch diện được mô phỏng

và đầu ra của chúng được so sánh

Song song Mô phỏng lỗi song song sử dụng vài bản sao đầy đủ của mạch điện; một bản sao tốt còn

các bản sao khác sẽ có một lỗi được đưa vào từng bản sao Từng mô hình được mô phỏng đồng thời trên cùng máy hoặc dược phân bố ngang qua nhiều máy Phương pháp giải thuật song song phải tiếp tục cho đến khi từng lỗi song song được phát hiện trong, khi giải thuật nôi tiếp có thể dùng ngay lập tức khi lỗi được phát hiện

Đồng thời Phương pháp giải thuật đồng thời là phương pháp mánh nhất Phương pháp này mô phỏng một mô hình tốt* và một mô hình xấu, với mô hình xấu chứa vài trăm hoặc vài ngàn lỗi được chèn

vào Ớ thời điểm mà việc mô phỏng mô hình tốt và mô hình xấu khác nhau, giải thuật sao chép từng lỗi đến một máy riêng biệt và mô phỏng chúng một cách riêng rẽ Phương pháp này nhanh hơn và cần ít

bộ nhớ hơn so với phương pháp giải thuật nôi tiếp hoặc song song

Theo thông lệ, trìn h mô phỏng lỗi đã mô phỏng các khuyết điểm gây ra các lỗi cản trở logic-0 và lỗi cản trở logic-1 Do tốc độ và định thời tới hạn của chip Silicon được sản xuất với độ rộng kênh của các transistor dưới micron, người ta thêm vào các trình mô phỏng lỗi mới “khả năng thực hiện kiểm tra lỗi trì hoãn”

Vấn đề mạo hiểm là định thời tới hạn từ các mạch tôi uư hóa về thời gian có thể có các trì hoãn dài hơn trong chip sản xuất so với mong đợi Các lỗi trì hoãn cổng lẫn các lỗi trì hoãn đường dẫn đều được xem xét

1.5.3 Tổng hợp mức truyền thanh ghỉ

Định nghĩa Tổng hợp mức truyền thanh ghi là quá trình chuyển đổi mô hình mức truyền thanh ghi của phần cứng, được viết bằng ngôn ngữ mô tả phần cứng ở mức truyền thanh ghi, thành thực hiện mức

cổng cụ th ể sử dụng kỹ thuật tối ưu hóa, hình 1.12

Synthesis = Translation + Optimization

translation

Synthesis: tổng hợp

Translation: chuyển đổi

Optimization: tối ưu hóa

- VHDL / / V e rilo g lf(A = T ) th e n

Y<=Cand D; if (A == 1) Y= c & D;

els e (B = T l then else if (B == 1)

Y = è 11D;

Y < - c or D ; els e else

Y < = C ;

e n d it

Y = C ;

A

Trang 27

Thiết k ế mạch số với VHDL&Verilog

Công cụ phần mềm tổng hợp miic truyền th an h ghi tự động hóa phần này của quá trìn h th iết kế ASIC FPGA và tạo thành liên kết chính trong hệ phương pháp th iế t k ế trên-xuông Hơn nữa, tổng hợp

là phương tiện hiệu quả n h ấ t và nhanh n h ấ t để th iế t k ế và tạo ra các mạch điện Lưu đồ của quá trình tổng hợp điển hình sử dụng công cụ tổng hợp được trìn h bàỵ ở h ìn h 1.13 Lưu dồ này trìn h bày chuyển đểi ban đầu th àn h n etlist không tối ưu hóa Trong thực tế, việc, tối ưu hóa cơ bản mức caỏ được thực hiện nhưng lại trong suốt đối với người sử dụng Điều này cung cấp điểm b ắt đầu trên đường cong diện tích-thờ i gian của việc tối ưu hóa

Hixih 1.13: Luồng quá trình chuyển đổi và tôi ưu hóa sử dụng phần mềm tổng hợp mức RTL

Synthesize (translate): tổng hợp (chuyển đổi)

Constraints: các ràng buộc

Optimize: tối ưu hóa

Area & static timing analysis: phân tích diện tích & định thời tĩnh

Pass: bước

H ình 1.13 trìn h bày một th iế t k ế được tối ưu hóa 3 lần với 3 th iế t lập ràng buộc khác nhau dẫn đến

3 điểm khác nhau trên đường cong diện tích-thời gian Hệ phương pháp tôi ưu hóa điển h ìn h là trước tiên tôi ưu hóa diện tích, k ế đến chỉ tôi ưu hóa về định thời nếu có các ràng buộc định thời chưa thỏa Các khôi có hệ thống th ứ bậc trong một th iế t k ế lớn bình thường được tối ưu hóa b ắt đầu từ các khối mức th ấp theo quá trìn h dưới-lên (bottom-up process)

Việc tổng hợp bao gồm nhiều giai đoạn chuyển đổi và tối ưu hóa Công việc này đưa th iế t k ế đi ngang qua bạ mức (trừu tượng) làm tin h trung gian chính, hình 1.14

Tối ưu hóa tự động xảy ra ở mỗi mức của các mức trung gian này và được hướng dẫn bởi các ràng buộc được người sử dụng định nghĩa Các ràng buộc cung cấp các mục tiêu mà quá trìn h tối ưu hóa và chuyển đổi cần cố gắng thỏa Điển hình, các công cụ tổng hợp đều cho phép những ràng buộc được th iết lập để cho diện tích nhỏ n h ấ t và trì hoãn định thời nhỏ nhất Các ráng buộc về cấp điện và tín h khả kiểm tra cũng có th ể có sẵn H iện nay, các ràn g buộc về layout và đóng gói đã và đang được đưa vào các công cụ tổng hợp

N hỏ nhất và lớn nhất Các từ nhỏ n h ấ t và lổn n h ấ t dược sử dụng là do việc tối ưu hóa bởi một công

cụ tổng hợp là một quá trìn h tự tìm tòi Việc tôì ưu hóa sử dụng các giải th u ật khác nhau trê n cơ sở thử

và sửa sai để tìm một thực hiện mạch điện phù hợp n h ấ t đối với các ràn g buộc Một mạch điện được tối

ưu hóa để có diện tích nhỏ n h ấ t sẽ có diện tích nhỏ n h ấ t dựa trê n nhũng gì mà trìn h tối ưu hóa có th ể tìm được Mạch điện này không phải luôn luôn là mạch tối thiểu tuyệt đối có th ể được sản xuất nếu

th iế t k ế dược xây dựng cẩn th ậ n theo cách thủ công

Trang 28

Chương 1: Mở đầu 10

Hình 1.14: Các quá trình chuyển đổi và tối ưu hóa của phần mềm tổng hợp RTL

RTL level synthesis: tổng hợp mức RTL

Translate: chuyển dổi

Structural representation: biểu diễn cấu trúc

Control-data flow-graph: đồ thị luồng điểu khiển-dữ liệu

Optimize: tối ưu hóa

Logic level: mức logic

Fixed synchronous logic: mạch logic đồng bộ cố định

Boolean equation representation of combinational logic: biểu diễn phương trình logic của mạch logic tổ hợp

Map to target technology: ánh xạ đến công nghệ đích

Gate level: mức cổng

Cells from a technology specific library: các cell từ thư viện công nghệ cụ thể

Netlist: netlist (danh sách các cổng, nút, net và các phương trình logic)

Có sự tương quan giữa diện tích nhỏ n hất và công suất nhỏ nhất Một mạch điện được tôi ưu hóa để cho diện tích nhỏ n h ất thường là mạch tiêu thụ công suất ít nhất ỏ một tần số cho trước Vì lý do này, hầu h ết các công cụ tổng hợp không tối ưu hóa công suất riêng rẽ Người thiết kế có nhiệm vụ chỉ ra chính xác các ràng buộc để dung hòa hai yêu cầu xung đột nhau là diện tích nhỏ nhất và tốc độ nhanh nhất Phiên bản mạch điện được tối ưu hóa để có diện tích nhỏ nhất sẽ không là phiên bản có tốc độ nhanh nhất Tương tự, phiên bản mạch điện được tối ưu hóa để hoạt động ở tốc độ nhanh nhất có thể có

sẽ không được thực hiện để có diện tích nhỏ nhất Tuy nhiên, việc trải rộng các thực hiện diện tích và định thời có th ể có của các mạch diện khác nhau là duy nhất Ta cũng có thể tối ưu hóa một phiên bản mạch điện sao cho diện tích nhỏ nh ất nhưng cũng hoạt động ở tốc độ nhanh nhất

Đến đây, các loại tối ưu hóa xảỹ ra ở từng mức chuyển đổi của việc tổng hợp sẽ được đề cập

1.5.4 Tối ưu hóa mức RTL

Chương trình liên quan đến việc xử lý sẽ được thực hiện trước tiên khi một mô hình được tổng hợp (được biên dịch) Một vài thí dụ như sau:

- Khai triển - các chương trìn h con được khai triển theo dòng

Gộp hằng số — các hằng số được gộp lại với nhau, thí dụ A + 3 + 2 trở thành A + 5

Mỗ vòng lặp - các phát biểu vòng lặp (loop) được mồ ra thành một chuỗi phát biểu riêng rẽ Loại bỏ mã chết - mã không sử dụng (chết) dều được loại bỏ

Trang 29

20 Thiết k ế mạch sô' với VHDL&Verilog

Tôì thiểu hóa bit - th í dụ, mã hóa trạ n g th á i trong VHDL hoặc các phép gán có độ rộng bit khác nhau trong Verilog

Khuôn dạng đồ thị luồng điều khiển-dữ liệu CDFG (control-data flow-graph) thường được sử dụng bởi các công cụ tổng hợp dể biểu diễn ở mức cao n h ấ t nội bộ của một th iế t kế CDFG là phương tiện đồ

họa biểu diễn cấu trúc phần cứng, một th í dụ được trìn h bày ở h ìn h 1.15.

Việc tôx ưu hóa CDFG sẽ tạo thuận lợi cho kỹ th u ậ t tổng hợp (thuộc kiến trúc) ở mức cao và bao gồm các kỹ th u ật tốì ưu hóa mạch logic đồng bộ, chẳng h ạn như: định thời, liên kết tà i nguyên, cấu trúc đường dữ liệu và phân vùng

Hình 1.15: Biểu diễn đồ thị luồng điều khiển-dữ liệu của cấu trúc mức cao

Wait on rising edge of clock: chờ cạnh tăng của xung clock

Select: chọn

Fork: phân nhắnh

Merge: kết hợp

Trang 30

Chương 1: Mở đầu 21

1.5.5 Tôì ưu hóa mức logic

Một khi phần mềm tổng hợp đã chuyển đổi một thiết kế đến mức logic, tấ t cả các phần tử nhớ như flipflop (hay thanh ghi) được cô' định và chỉ có mạch logic tổ hợp được tôi ưu hóa Việc tôi ưu hóa ở mức này bao gồm việc cấu trúc lại các phương trình logic tương ứng với các qui luật của đại sô' logic Do vậy,

mạch logic tổ hợp được tôi ưu hóa trên một cơ sở mịn hơn nhiều so với mạch logic ở mức RTL Các loại

tôi ưu hóa ham logic bao gồm: tôi thiểu hóa, làm phẳng phương trình logic, đặt thừa số chung và tôi ưu hóa phương trình logic Các giải thuật tổng hợp được sử dụng để thực hiện các thao tác này hoạt động trên cơ sở phương trình logic nhiều mức và nhiều ngõ ra Các giải thuật này có nhiều chiều và phức tạp hơn nhiều so với quá trình thủ công sử dụng bìa K (Karnaugh map) hai chiều để tối ưu hóa một phương trình logic riêng rẽ chỉ có một ngõ ra Một thí dụ về điều gì xảy ra trong thời gian tôi ưu hóa mức logic được trìn h bày ở hình 1.16

lo gic level optimization = minimization, equation flattening and factorization

Minimization, for example is where Y = AB + A becomes A.

Hình 1.16: Thí dụ về tối ưu hóa mức logic các phương pháp logic

Factorize: đặt thừa số chung

Map to gates: ánh xạ thành các cổng

Flatten equation?: lain phảng các phương trình logic

Logic level optimization = minimization, equation flattening and factorization: tô’i ưu hóa mức logic = tối thiểu hóa, làm phắng phương trình logic và đặt thừa sô' chung

Minimization, for example is where Y = AB + A becomes A: tối thiểu hóa, thí dụ Y = AB + A trở thành A

Fewer gates: số cổng ít hơn

Làm phảng Việc biến đổi nhiều phương trình logic về dạng tổng các tích hai mức được gọi là làm

phảng Tất cả các sô' hạng trung gian được loại bỏ

Đặt thừa số chung Việc đặt thừa số chung các phương trình logic là quá trình thêm vào các sô' hạng

trung gian Điều này thêm vào cấu true logic kéo theo, làm giảm kích thước của mạch điện và làm giảm các fan-out lớn Việc đặt thừa sô' chung là quá trình thiết kê' đa dạng và phụ thuộc vào các ràng buộc Việc thêm vào cấu trúc sẽ thêm vào các mức logic có khuynh hướng làm cho mạch điện nhỏ hơn nhưng hoạt động chậm hơn

Lưu ý có khả năng một mạch điện được tối ưu hóa để có diện tích nhỏ n hất cũng có các trì hoãn định thời nhỏ nhất

1.5.6 Tối líu hóa mức cổng

Một khi phần mềm tổng hợp đã chuyển đổi một thiết kế đến mức cổng, thông tin về diện tích và dịrih thời được trích ra từ những cell của thư viện công nghệ đích đối với việc tối ưu hóa cục bộ mịn hơn các mẫu cell cơ bản Tối ưu hóa mức cổng là quá trình xem xét diện tích cục bộ của mạch logic chứa vài cell và thử thay thê' chúng bằng các cell khác từ thư viện công nghệ, những cell này thỏa tốt hơn các ràng buộc K ế đến, việc tối ưu hóa xem xét diện tích cục bộ khác có một phần chồng lấp với diện tích cục bộ ban đầu Nếu mức nỗ lực (effort level) cho việc tối ưu hóa như vậy gia tàng, trìn h tối ưu hóa điển hình sẽ xem xét mỗi lần một diện tích cục bộ lớn hơn

Trang 31

22 Thiết k ế mạch sổ với VHDL&Verilog

Đối với ASIC chứa khoảng 50000 đến 100000 cổng tương đương, ta dễ dàng th ấy được các tối ưu hóa như vậy có th ể kéo dài nhiều giờ ra sao Một th í dụ về điều gì xảy ra trong thời gian tối ưu hóa mức cổng được trìn h bày ở hình 1.17

6 equivalent gates

a) Mapped circuit before gate level optimization

transistors = 2 gate equivalent * 0.5

b) Mapped circuit after gate level optimization

Hình 1,17: Thí dụ về tối ưu hóa mức cổng.

Mapped circuit before/after gate level optimization: mạch điện được ánh xạ trước khi/sau khi tối ưu hóa mức cổng Equivalent gate: cổng tương đương

1.5.7 T ống hỢp kiểm tra

Định nghĩa Tổng hợp kiểm tr a là sửa đổi một th iế t k ế chip để làm cho cả chip lẫn hệ thống (PCB)

mà chip hiện diện sẽ dễ kiểm tr a hơn và tạo ra biểu đồ kiểm tra tự động ATPG (automatic te st pattern generation) cho các vector kiểm tra

Qụá trìn h sửa đổi một th iế t k ế để làm cho mạủh điện dễ kiểm tr a hơn được gọi là th iế t k ế để kiểm tra DFT (design for test) Có nhiều kỹ th u ậ t DFT có th ể được thực, hiện trong cả hai: mô hìn h HĐL

Trang 32

Việc sử dụng tổng hợp kiểm tra đối với các kỹ thuật DFT và ATPG sẽ làm giảm thời gian cần có để tạo ra các vector kiểm tra từ vài tháng còn vài ngày Các kỹ thuật DFT điển hình được biết đến ở dạng

“phi th ể thức” thường không được hỗ trợ bởi các công cụ tổng hợp, nhưng lại là k ết quả của các thực tiễn

th iết k ế nghiêm túc Các thí dụ bao gồm: loại bỏ dư thừa, tránh mạch logic không đồng bộ, trán h fan in lớn và tự kiểm tra cài đặt sẵn BIST (built-in self-test), v.v Những tính chất DFT của các công cụ tổng hợp kiểm tra được nhắm vào việc cải thiện tính khả điều khiển tín hiệu và khả năng quan sát các nút mạch bên trong

Các hoạt động được thực hiện bởi tổng hợp kiểm tra sau khi tổng hợp RTL/logic là:

Quét cục bộ đầy đủ

Quét cục bộ một phần

Quét đường biên (boundary scan)

Đôi với ASIC, các tác vụ này thường được thực hiện bởi nhà cung cấp ASIC

Q uét cục bộ

Việc sử dụng các cell quét cục bộ cho phép những công cụ ATPG dễ dàng tạo ra gần 100% độ phủ lỗi trên mạch logic tổ hợp Quét cục bộ là sự thay th ế các mạch chốt và flipflop bằng mạch chốt hoặc flipflop quét tương đương của chúng Mỗi cell quét có.một ngõ vào dữ liệu quét SDI (scan data input), ngõ ra dữ liệu quét SDO (scan data output) và ngõ vào cho phép kiểm tra TE (test enable input) Các nhóm cell này k ế đến được kết nối thành các chuỗi có chiều dài bằng nhau hoặc tương tự Ngõ vào TE được sử dụng để đặt phần tử thằnh ghi (phần tử'nhớ) ở chế độ kiểm tra

Có 3 phần cho chế độ kiểm tra

Thứ nhất, trên các chu kỳ xung clock liên tiếp, dữ liệu được quét từ chân ngõ vào của chip đến ngõ vàd của cell quét đã sần sàng được nhịp xung clock trên cạnh tăng k ế tiếp của tín hiệu xung clock

Thứ hai, dữ liệu đến được quét sẽ dịch theo nhịp xung clock vào trong phần tử th an h ghi

Thứ ba, dữ liệu trên ngõ ra của thanh ghi được quét ngang qua chuỗi quét trên các chu kỳ xung clock liên tiếp đến một chân ngõ ra trên chip

Một th í dụ của quét cục bộ được cho ở hình 1.18 Hình này trìn h bày một mạch tuần tự đồng bộ trước và sau khi chèn vào một chuỗi quét Mạch đồng bộ này sẽ rấ t khó kiểm tra nếu không có các cell quét Với các cell quét, việc truy cập từ các chân của chip đến các cell quét làm giảm vấn đề kiểm tra

th àn h vấh đề mạch logic tổ hợp được dễ dàng giải quyết bởi các công cụ FPGA

Có 3 loại thay th ế quét phụ thuộc vào thư viện công nghệ dang được sử dụng, chúng là SCAN, MUXED và LSSD (level-sensitive scan-design), hình 1.19

SCAN Nếu thư viện công nghệ chứa các cell quét, các cell logic tuần tự sẽ được thay th ế bởi đương

lượng quét của chúng Nhiều nhà cung cấp ASIC cho ta các cell tương đương SCAN mà tổn phí diện tích

và định thời của chúng là tốì thiểu Sự gia tăng phần trăm trong số cổng dưới dạng kết quả của việc thay đổi các flipflop D bằng các đương lượng quét của chúng được trình bày ở hình 1.20

MUXED Mạch ghép kênh được chèn vào trước ngõ vào dữ liệu đến cell tuần tự Đây có th ể là

phương pháp duy nhất có sẵn nếu thư viện ASIC không chứa các cell tương đương quét Điều b ất lợi là tổn phí diện tích của việc sử dụng mạch ghép kênh, nhưng có thể dược giảm bớt trong thời gian tối ưu hóa cùng với mạch logic khác

LSSŨ Cell logic tuần tự được thay th ế bằng cell LSSD tương đương, cell này sử dụng hai xung clock

không chồng lấp (Clock-A và Clock-B) để kích hoạt động quét của mạch điện Các thay th ế LSSD th í dụ

là mạch chốt đôi, nhịp xung clock và xung clock phụ

Trang 33

24 Thiết k ế mạch sô' với VHDL&Verilog

F e e d b a c k

Inputs

Inputs

F e e d b a c k

b) After adding internal scqn

Hình 1.18: Quét cục bộ - được thực hiện tự động bởi.phần mềm tổng hợp kiểm tra

Feedback: hồi tiếp

Combinational logic: mạch logic tổ hợp

Storage elements (flipflops or latches): các phần tử nhớ (flipflop hoặc mạch chốt)

Scan chain: chuỗi quét

Before/after adding internal scan: trước khi/sau khi thêm vào quét cục bộ

Sean ceil replacement

D-tỵpe muxed replacement

D-typeLSSDreplacem ent

Hình 1.19: Các thay thế quét ílipílop loại D

Trang 34

Chương 1: Mở đầu 25Scan cell replacement: thay thế cell quét.

D-type muxed replacement: thay thế flipflop D cố MUX

D-type LSSD replacement: thay thế ílipílop D có LSSD

Hình 1.20: Phần trăm diện tích Silicon tăng khi sử dụng các ct'ỉl quét

Quét cục bộ đầy đủ Mỗi phần tử thanh ghi đơn trong một mạch điọti dược thay thê bằng đương

lượng quét Điều bất lợi của quét cục bộ đầy dủ, điều này thường có nhiều anh hưởng hơn so với sự thuận lợi, là diện tích của chip tăng đáng kể

Quét cục bộ một phần Loại quét này tương tự như quét đáy đủ ngoại trừ chi có một số phần tử

thanh ghi được thay th ế bằng các đương lượng quét Trong trường hợp này, cong cụ tổng hợp kiểm tra

sẽ thực hiện các kiểm tra tính khả điều khiển và khả năng quan sát tren mỗi nút, quyết định một cách thông minh các thanh ghi nào là các thanh ghi loại quét So sánh với quét đấy dủ, tốn phí diện tích Silicon giảm nhưng các công cụ ATPG có nhiệm vụ khó khăn hơn là tạo ra cac vector kiểm tra với gần 100% độ phủ Ngoài ra, ta còn cần nhiều vector kiểm tra hơn

Q u é t đường b iê n

Mục đích của quét đường biên là làm cho PCB trên đó chip hiện diện trỏ nên dễ kiểm tra, không phải chip trở nên dễ kiểm tra Bo mạch in trong ngữ cảnh này có thể là một loại bo mạch bất kỳ, thí dụ cắip bề mặt, liên kết đường dây, v.v Quét đường biên là một chuẩn của IEEE (IEEE 1149) Tát cả cell ngõ vào và ngõ ra của một ASIC đều được thay th ế bằng cell tương đương quét và được nối với nhau để tạo th àn h một chuỗi duy nhất xung quanh chip, và được điều khiển bởi một mạch điều khiển chuyên dụng gọi là mạch điều khiển port truy cập kiểm tra TAP (test access port), hình 1.21

Ỹ # [Bypass ReqTsT

Internal register SCAN chain Internal register

SC AN chain

, • Other Interna! ,

sc a n chains

' Floor plan logic

Hình 1.21: Quét đường biên - được thực hiện tự động bởi phần mềm tổng hợp kiểm tra

Trang 35

26 Thiết k ế mạch sô' với VHDL&Verilog

Test access port (TAP): port truy cập kiểm tra

TAP controller: mạch điều khiển TAP

Identity register: thanh ghi nhận dạng

Instruction register: thanh ghi lệnh

Internal register SCAN chain: chuỗi SCAN thanh ghi nội

Nhà cung cấp ASIC thường có các cell TAP trong th ư viện công nghệ của mình N hũng người thiết

k ế có th ể thực hiện một trong hai việc Một là, th ể hiện các cell liên quan đến quét đường biên bằng chương trìn h HDL và mô phỏng để đảm bảo không ảnh hưởng đến hoạt động của mạch , Hai là, chọn cơ hội rủi ro thấp nh ất m à rủi ro này không ảnh hưởng đến hoạt động của m ạch và đệ cho nh à cung cấp

-1.6 THUẬT NGỮ

Mục này giải thích tóm tắ t hoặc bổ sung các th u ật ngữ sử dụng trong chương 1 này

a lg o rith m ic le v e l (VHDL & Verilog): mức giải thuật

Mức ở đó mô hình HDL được mô tả Mức này mô tả h à n h vi chức nâng phần cứng bằng các tín hiệu

và đáp ứng của ph ần cứng đối với nhiều tác nh ân kích thích khác nhau H ành vi phần cứng được mô

tả theo giải thuật, không quan tâm đến cách thức m à ph ần cứng được thực hiện theo cách cấu trúc,

do vậy không tổng hợp được bởi các công cụ tổng hợp RTL

a lg o rith m ic le v e l s y n th e s is : tổng hợp mức giải thuật

Quá trìn h biến đổi mô hìn h HDL được mô tả ở mức giải th u ậ t đến mức RTL hoặc xuống đến mức cổng Việc tổng hợp này bao gồm các quá trìn h như là lập biểu thời gian, cấp p h á t tà i nguyên, liên kết tài nguyên v.v

a p p lic a tio n -sp e c ific in t e g r a t e d c irc u it: mạch tích hợp ứng dụng cụ thể

Chip m à các giai đoạn sản xuất ban đầu độc lập với th iế t k ế và quá trìn h tạo m ặt n ạ sau cùng phụ thuộc vào th iế t kế

a u to m a tic t e s t p a t t e r n g e n e r a t o r (ATPG): trìn h tự dộng tạo biểu đồ kiểm tra

Tự động tạo ra các vector kiểm tra sản xuất nhờ vào công cụ phần mềm CAE

b e h a v io r: h àn h vi

Cách thức m à một mô hìn h HDL hoạt động H ành vi của một mô hình là như nhau b ất kể mức trừu tượng ở đó hàn h vi được mô hình, chẳng h ạn như mức giải thuật, mức RTL, mức luồng dữ liệu, mức logic và mức cổng

b u ỉỉt- ỉn s e lf-te s t (BIST): tự kiểm tr a cài đ ặt sẵn

Mạch phụ được th êm vào m ột mạch điện cho phép m ạch điện này tự kiểm tra

c e ll '

Mạch logic chức năng trong th ư viện cell được định nghĩa bởi n hà sản xuất ASIC hoặc FPGA

c e ll lib r a ry : th ư viện chức năng

Tên chung của m ột tập các mạch logic chức năng dược định nghĩa bởi n h à sản xuất ASIC hoặc FPGA Thư viện cell định nghĩa loại cell có th ể được sử dụng trong việc th iế t k ế một linh kiện cụ thể Các công cụ tổng hợp và mô phỏng sẽ sử dụng thông tin trong thư viện cell khi mô phỏng và tổng hợp một mô hình th iết kế

c o n tro l-d a ta flo w -g ra p h (CDFG): đồ th ị luồng dữ liệu-điều khiển

CDFG biểu diễn hàn h vi của th iế t kế, không phải cấu trúc mạch Các công cụ tổng hợp RTL và giải thuật đều có th ể sử dụng kỹ th u ật CDFG Công cụ tổng hợp giải th u ật sẽ quản lý CDFG khi thực hiện việc lập biểu thời gian, cấp p hát và phân vùng cấu trúc mức cao, v.v

d e s ig n fo r t e s t (DFT): th iết k ế để kiểm tra

DFT là quá trìn h th iế t k ế và th êm vào phần cứng phụ tro n g mô hìn h HĐL hoặc mạch k ết hợp tổng hợp được nhằm muc.'dich cải th iệ n k hả năng của các vector kiểm tr a sản xuất để kích thích tấ t cả nút mạch và giám, ạ^fc ;các khuyết điểm tiềm tàng của chip sản xuất

Trang 36

Chương,1: Mở đầu 27

eq uation flattening: làm phẳng phương trình.

Quá trình tối ưu hóa mạch logic này lấy một nhóm phương trình có thứ bậc dạng tổng các tích và kết hợp chúng với nhau Một cách tổng quát, quá trình này bị ép buộc đế ngăn ngừa điều mà ta gọi

là sự bùng nổ tổ hợp

eq u ivalen t gates: các cổng tương đương.

Thuật ngữ “các cổng tương đương” được sử dụng để hướng dẫn việc so sánh kích thước các mạch điện Kích thước của một cổng tương đương được ám chỉ bởi kích thước của một cổng NAND 2-ngõ vào Một cổng NAND 2-ngõ vào được chuẩn hóa thành đương lượng của một cổng tương đương và tấ t

cả cell khác trong thư viện đều được gán kích thước cổng tương đương liên quan đến cổng NAND 2- ngõ vào Kích thước tương đương tổng của một mạch điện là thông số thường được trình tổng hợp sử dụng khi thực hiện tối ưu hóa diện tích ở mức cổng

factorization: đặt thừa số chung.

Quá trình được thực hiện bởi trình tôi ưu hóa nhằm nhận dạng và loại bỏ một hoặc nhiều thừa sô' chung khỏi một tập có một hoặc nhiều phương trình logic để tạo thành một tập phương trình nhiều mức Các phương trình này biểu thị mạch logic, do vậy việc đặt thừa số chung có nghĩa là sử dụng chung mạch logic, điều.này sẽ làm giảm diện tích Việc làm giảm diện tích này có th ể phải trả giá bằng việc tăng trì hoãn ngang qua mạch logic do độ sâu của mạch logic từ ngõ vào đến ngõ ra sẽ tăng Việc đặt thừa số chung hai phương trình logic sau sẽ tạo ra bôn phương trình logic

field program m able gate array (FPGA): dải cổng lập trình được dạng trường.

Chip FPGA có thể được lập trình theo dạng trường cho một ứng dụng cụ thể Toàn bộ ‘quá trình sản xuất chip độc lập với mạch cụ thể sẽ được thực hiện, do vậy sẽ tổng quát hơn và rẻ hơn so với các linh kiện cell chuẩn Các cổng logic được sắp xếp theo cách có cấu trúc và cô' định trên đê' silicon Điều này có nghĩa là m ật độ mạch sẽ không cao bằng các linh kiện cell chuẩn

flipflop

Một linh kiện (cell) nhớ hoạt động theo cạnh xung,

full can: quét đầy đủ.

Ở nơi mà mỗi flipflop và mạch chốt trong một thiết kê' được đổi chỗ bằng flipflop hoặc mạch chốt loai quét để cải thiện tính có thể truy cập các nút bên trong đối với các vector kiểm tra sản xuất và khả năng quan sát các nút đối vói việc giám sát những khuyết điểm sản xuất có thể có Quét đầy đủ làm cho việc viết (nghĩa là tạo) các vector kiểm tra sản xuất sẽ Lgắn và dễ hơn đáng kể so với khi

ta quét một phần hoặc không quét

Vector kiểm tra sản xuất quét đầy đủ được tự động tạo ra một cách dễ dàng bởi các công cụ tổng hợp kiểm tra Số các vector kiểm tra giảm so với sô 'vector kiểm tra cần có khi ta quét một phần hoặc không quét, nghĩa là chu kỳ kiểm tra/chip sẽ ngắn lại Trong nhiều trường hợp, quét đầy đủ có thể

r ấ t đắt do diện tích thêm vào trên chip Silicon,

functional te st vectors: các vector kiểm tra chức năng.

Tác nhân kích thích đầu vào sử dụng trong thời gian mô phỏng để xác minh rằng mô hình HDL hoạt động như mong muốítt

g a te a rra y : dải cổng

Một ASIC trong đó nhà sản xuất chê' tạo trước những linh kiện “không tùy thuộc vào khách hàng” chứa dải các cell cơ bản chưa kết nối, được tổ chức thành nhiều nhóm Người th iết kê' chỉ ra chức năng của linh kiện dựa vào những cell từ thư viện cell và liên kết nối chúng N hà sản xuất kê' đến

Trang 37

2 8 Thiết k ế mạch số với VHDL&Verilog

chế tao linh kiện này bằng cách tạo ra cáe m ặt n ạ dùng để tạo th àn h các lớp kim loại nhằm hình

gate level: mức cổng.

Mô hình hành vi mức thấp của mạch điện được mô tả theo các cell cổng mẫu cơ bản từ thư viện công nghệ cụ th ể hoặc có th ể từ thư viện cổng tổng quát độc lập với công nghệ

gate le v e l optim ization: tối ưư hóa mức cổng.

Tối ưu hóa thực hiện trên mô h ình mạch điện được mô tả ở mức cổng,

hardw are d escrip tio n lan gu age (HDL): ngôn ngữ mô tả phần cứng.

Ngôn ngữ phần mềm máy tín h được sử dụng cho các mục đích mô hình mạch phần cứng,

latch: mạch chốt.

Linh kiện (cell) nhớ hoạt động theo mức logic,

library (VHDL): thư viện.

Đây là thư viện th iế t k ế của VHĐL, tạo điều kiện dễ dàng cho việc lưu giữ các đơn vị th iế t k ế đã phân tích của VHDL Những thư viện th iế t k ế được phàn th àn h hai nhóm: thư viện làm việc và thư viện tà i nguyên Thư viện làm việc là thư viện chứa các đơn vị th iế t k ế’đã biên dịch Chỉ có một thư viện làm việc trong thời gian biên dịch th iế t kế Thư viện nguồn là thư viện được tham chiếu bên trong m ột đơn vị th iế t k ế khi đơn vị th iế t k ế này được biên dịch Một số thư viện nguồn có th ể được tham chiếu từ một dơn vị th iết kế

lo g ic optim ization: tối ưu hóa logic.

Bao gồm các bước tối thiểu hóa nhiều mức theo quy ước, đ ặt thừa sô' chung và làm phẳng phương trìn h logic để thỏa các yêu cầu (các ràng buộc) diện tích, định thời và có th ể cấp điện theo cách tốt nhất

lo g ic synthesis: tổng hợp logic.

Quá trìn h tối ưu hóa các phương trìn h ở mức logic, ánh xạ chúng đến thư viện công nghệ cụ thể các

call và k ế đến tối ưu hóa ở mức cổng bằng cách sử dụng thông tin định thời và diện tích từ những cell trong thư viện công nghệ

m acro c e ll

Các cell có kích thước trúng bình như là mạch cộng, mạch so sánh, mạch đếm, mạch giải mã, v.v

m an ufacturin g te st vectors: các vector kiểm tr a sản xuất.

Tác-nhân kích thích “mọi khí a cạnh” 'được sử dụng để kiểm tra về m ặt v ật lý các chip đã sản xuất, các vector này được th iế t k ế để kiểm tr a và p h át hiện gần như 100% chip

m eg a c e ll

Các cell có kích thước lớn chẳng hạn như bộ vi xử lý, bộ vi điều khiển,

m inim ization: tối thiểu hóa.

Quá tr ìn h tối thiểu hóa sô' literal (chữ) trong một hoặc nhiều phương trìn h logic Việc tôi thiểu hóa một hàm ngõ ra liên quan đến bìa Karnaugh m à mục đích là làm đơn giản và làm giảm số th àn h phần tích trong một phương trìn h logic Việc tối thiểu hóa thường được thực hiện bởi trìn h tối ưu hóa logic bằng cách sử dụng việc tôi thiểu hóa nhiều hàm ngõ ra có nhiều mức để nhận được tối thiêu hóa toàn cục một mạch logic tổ hợp Việc tôi thiểu hóa nhiều mức bao gồm cả việc làm phảng phương trìn h logic

n e tỉỉst

Tập tin chứa sự mô tả một th iế t k ế ở mức cell trong VHDL, Verilog hoặc EDIF, v.v Mức cell cũng

là mức cổng nếu tấ t cả cell đều là cell mức cổng Một tập tin n e tlist chứa danh sách các cell, thường

từ một thư viện công nghệ cụ th ể và nh ận biết cách thức những cell này được liên k ế t nối

optim ization: tối ưu hóa.

Thuật ngữ tổng quát được sử dụng để mô tả quá trìn h cải th iện câu hình m ang tín h cấu trúc của một

mô hình mạch điện đôi _yới các ràng buộc cho trước về diện tích, định thời hoặc có th ể cấp điện

Trang 38

Chương 1: Mở đầu 29

overloading (VHDL): quá tải.

Mô tả quá trình sử dụng cùng tên đối với hai hay nhiều chương trình con

Nếu chúng có cùng phạm vi, chúng sẽ được phân biệt bằng việc có các literal (chữ) liệt kê khác nhau

hoặc loại chương trình con khác nhau (function hoặc procedure).

partial scan: quét một phần.

Mạch điện trong đó một số flipflop và mạch chốt có lựa chọn được đổi chỗ cho flipflop hoặc mạch chốt loại quét để cải thiện tính có thể truy cập các nút bên trong đối với các vector kiểm tra sản xuất và khả năng quan sát các nút đối vội việc giám sát những khuyết điểm sản xuất có thế’ có Quét một phần là sự thỏa hiệp giữa quét đầy đủ và việc duy trì diện tích ở mức tối thiểu thích hợp

prim itives: các cell mẫu cơ bản.

Các cổng logic đơn giản chẳng hạn như BUF (buffer), NOT, AND, NAND, OR, NOR, XOR và XNOR cùng với các flipflop và mạch chốt Các cell mẫu cơ bản như vậy được tìm thấy trong thư viện công nghệ cụ thể ASIC hoặc FPGA

reduction operator (Verilog): toán tử rút gọn.

Toán tử hoạt động trên tấ t cả bit của một bus nhiều bít và tạo ra kết quả đơn bit Thí dụ:

reg [5:0] A;

regY;

Y = & A;

register: thanh ghi.

Linh kiện nhớ chứa nhiều hơn một mạch chót hoặc flipflop, tấ t cả được nhịp từ cùng một nguồn xung clock

reg ister transfer level: mức truyền thanh ghi.

Mô hình mạch điện được mô tả trong HDL, sẽ suy ra các linh kiện nhớ

resource allocation: cấp phát tài nguyên.

Quá trình được thực hiện bởi các công cụ tổng hợp mức giải thuật (mức cao), gán từng phần hoạt động của th iế t'k ế cho một mảng phần cứng cụ thể

resource sharing: dùng chung tài nguyên.

Quá trình thực hiện bời các công cụ tổng hợp RTL cho phép nhiều mạch logic chức năng (tài nguyên) cụ th ể được dùng chung Thí dụ, nếu hai phép cộng độc lập được yêu cầu trong một mạch điện và chúng không cần thực hiện định thời, một mạch cộng vật lý có thế được sử dụng và các ngõ vào đến mạch cộng, các ngõ ra từ mạch cộng sẽ được ghép kênh thích hợp Thao tác này được phần mềm tổng hợp tự động thực hiện khi có sự hướng dẫn của người sử dụng

RTL synthesis: tổng hợp RTL.

Quá trình biến đổi mô hình HDL được mô tả ở mức truyền thanh ghi_ (RTL) đến mức logic và rồi đến mức cổng, thực hiện tối ưu hóa mạch logic tổ hợp ở từng giai đoạn Tổng hợp mức truyền thanh ghi không tối ưu hóa (cộng thêm hoặc bỏ bót) các thanh ghi Định nghĩa của tổng hợp RTL bao gồm tổng hợp mức logic, tối ưu hóa mức logic và tối ưu hóa mức cổng

source code: mã nguồn hay chương trình nguồn.

Các cấu trúc HDL cùng nhau tạo thành mô hình hành vi phần cứng và dược lưu giữ trong một tập tin hệ thống trên máy tính,

standard cell: cell chuẩn.

ASIC không giống như dải cổng, không sử dụng khái niệm ce ll cơ bản và không có th àn h phần nào

được chế tạo trước N hà sản xuất chip tạo ra các mặt :.ạ tùy thuộc khách hàng cho mỗi giai đoận của việc sản xuất chip Điều này cho phép mỗi mạch chức năng được tạo ra sẽ sử dụng số tối thiểu transistor trong một layout hiệu quả hơn so với FPGA

Trang 39

Thiết k ế mạch sô' với VHDL&Verilog

s tru c tu ra l level: mức cấủ trúc

Mức ở đó mô hình HDL mô tả phần cứng như là sự sắp xếp các th à n h phần được liên k ết nối

synthesis: tổng hợp.

Thuật ngữ chung được sử dụng để mô tả quá trìn h biến đổi mô h ìn h th iế t k ế được mô tả trong HDL

từ mức trừu tượng hành vi đến mức h àn h vi th ấp hơn, chi tiế t hơn

tech n ology library: thư viện công nghệ.

Thư viện các cell có sẵn để sử dụng trong một loại linh kiện cụ th ể ASIC hoặc FPGA

te s t harness: công cụ kiểm tra.

Cũng còn đưọc gọi là te s t b en ch trong VHDL và t e s t fix tu re trong Verilog Một công cụ kiểm tra

trong mô hình HDL được sử dụng để xác m inh h àn h vi đúng của mô hìn h phần cứng Công cụ kiểm tra bình thường dược viết trong cùng ngôn ngữ HDL như mô h ìn h phần cứng sẽ được kiểm tra Một công cụ kiểm tr a sẽ:

Thể hiện một hoặc nhiều trường hợp của mô hìn h phần cứng được kiểm tra

Tạo ra tác nh ân kích thích đầu vào mô phỏng (vector kiểm tra) cho mô hìn h được kiểm tra.Đặt tác nh ân kích thích đầu vào này đến mô h ìn h được kiểm tra và đốì chiếu các đáp ứng ngõ

ra (vector ngõ ra)

So sánh các đáp ứng ngõ ra với các giá trị kỳ vọng và có th ể tự động chỉ ra đ ạt hay không đạt

te s t vectors: các vector kiểm tra.

(xem fu n ctio n a l te s t v e cto rs và m an u factu rin g te s t vectors),

te s t synthesis: tổng hợp kiểm tra.

Sửa đổi mạch điện dể làm cho mạch dễ kiểm tr a hơn và tự dộng tạo ra các vector kiểm tra Những

th í dụ về cách thức mạch điện được sửa đổi bao gồm các kỹ th u ậ t quét đường biên, quét đầy đủ hoặc quét một phần bên trong và tự kiểm tr a cài đ ặt sẵn

V eriB est syn th esis: phần mềm tổng hợp VeriBest.

Bộ công cụ tổng hợp được cung cấp bởi VeriBest Incorporated

VHĐL in itia tiv e to w a rd ASIC lib ra ries (VITAL)

Thường viết tắ t là VITAL, đây là một consortium công nghiệp nhằm mục đích tạo ra m ột chuẩn để viết mô h ìn h các cell trong thư viện công nghệ có th ể sử dụng được với VHDL Chuẩn này được chấp thuận bởi IEEE th à n h IEEE 1076.4

Trang 40

Chương 2: Ràng buộc tổng hợp I«

ra nhưng vẫn có cùng chức năng

Không có chuẩn công nghiệp nào về cách thức chỉ ra các ràng buộc, do vậy khuôn dạng có th ể khác nhau đối với những công cụ tổng hợp khác nhau Các ràng buộc điển hình được th iết lập thông qua giao diện đồ họa người sử dụng hoặc thông qua dòng lệnh Chương này bao gồm cú pháp lệnh của các công cụ tổng hợp VeriBest

Các ràng buộc thuộc một trong hai loại sau:

Ràng buộc toàn cục

Ràng buộc cụ thể mạch điện

Ràng buộc mặc định toàn cục Một khi các ràng buộc toàn cục đã được th iết lập, chúng áp dụng

ngang nhau đến mọi th iết k ế một cách mặc định, nghĩa là chúng không cần được định nghĩa một cách tường minh cho từng thiết k ế riêng biệt Các ràng buộc thí dụ là:

Yếu tô' xử lý thư viện

- Tải ngõ vào và ngõ ra

- Ràng buộc fan-out cực đại ở ngõ vào

- Khả năng kích ngõ vào

- Thời gian đến của tín hiệú ngõ vào

- Ràng buộc khả năng kích ngõ ra

- Ràng buộc thời gian đến của tín hiệu ngõ ra

- Tần số xung clock tối thiểu

3) Công suất

- Công suất cực đại

Ngày đăng: 17/02/2021, 09:32

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w