+ All Categories
Home > Documents > Quoc Cuong

Quoc Cuong

Date post: 01-May-2023
Category:
Upload: independent
View: 0 times
Download: 0 times
Share this document with a friend
39
2008 dce Verilog - HDL Thiết kế lun vi Verilog Thiết kế lun vi Verilog Chapter 4: Verilog ©2008, Pham Quoc Cuong
Transcript

2008dce

Verilog - HDL

Thiết kế luận lý với VerilogThiết kế luận lý với Verilog

Chapter 4: Verilog ©2008, Pham Quoc Cuong

09 Nội dung chínhg

200

• Giới thiệu về HDLs và verilogổ

erin

g • Mô hình cấu trúc cho mạch luận lý tổ hợp• Mô phỏng luận lý kiểm chứng thiết kế và

gine

e Mô phỏng luận lý, kiểm chứng thiết kế và phương pháp luận kiểm tra

ễ ề

Eng • Thời gian trễ truyền lan

• Mô hình bảng sự thật cho mạch luận lý tổ

uter

Mô hình bảng sự thật cho mạch luận lý tổ hợp và tuần tự với Verilog

omp

Co

Chapter 4: Verilog ©2008, Pham Quoc Cuong 23/10/2009

09 Nội dung chínhg

200

• Giới thiệu về HDLs và verilogổ

erin

g • Mô hình cấu trúc cho mạch luận lý tổ hợp• Mô phỏng luận lý kiểm chứng thiết kế và

gine

e Mô phỏng luận lý, kiểm chứng thiết kế và phương pháp luận kiểm tra

ễ ề

Eng • Thời gian trễ truyền lan

• Mô hình bảng sự thật cho mạch luận lý tổ

uter

Mô hình bảng sự thật cho mạch luận lý tổ hợp và tuần tự với Verilog

omp

Co

Chapter 4: Verilog ©2008, Pham Quoc Cuong 33/10/2009

09 Giới thiệu HDLsg

200

• HDLs (Hardware Description Languages)

erin

g Không là một ngôn ngữ lập trình Tựa C

gine

e ự Thêm những chức năng mô hình hóa, mô

phỏng chức năng

Eng phỏng chức năng

Verilog vs. VHDLCá b ớ thiết kế bằ HDL

uter

• Các bước thiết kế bằng HDL Mô tả mạch từ khóa

omp Biên dịch để kiểm tra cú pháp (syntax) Mô phỏng để kiểm tra chức năng của mạch

Co

Chapter 4: Verilog ©2008, Pham Quoc Cuong 43/10/2009

Mô phỏng để kiểm tra chức năng của mạch

09 Phương pháp luận thiết kế HDLg

200

erin

g

Đặc tả bằng HDL Cấu trúc/hành vi của mạch

gine

eEn

g

Mô phỏng

ể ế ế ầ

Tổng hợp

Á

uter

Kiểm tra: thiết kế đã đúng yêu cầu chưa?Chức năng: Hành vi I/OMức thanh ghil (Kiến trúcl)Mức luận lý (Cổng)

Ánh xạ đặc tả thành các hiện thực

omp Mức luận lý (Cổng)

Mức transistor (Điển tử)Timing: Waveform Behavior

Co

Chapter 4: Verilog ©2008, Pham Quoc Cuong 53/10/2009

09Mô hình cấu trúc và mô hình hành vi trong HDLs

g 20

0 HDLs• Cấu trúc (Structural) chỉ tra cấu trúc phần cứng

thật sự của mạch

erin

g thật sự của mạch Mức trừu tượng thấp

• Các cổng cơ bản (ví dụ and, or, not)

gine

e g ( ụ , , )• Cấu trúc phân cấp thông qua các module

Tương tự lập trình hợp ngữ

Eng • Hành vi (Behavioral) chỉ ra hoạt động của mạch

trên các bits

uter

Mức trừu tượng cao hơn• Biểu diễn bằng các biểu thức (ví dụ out = (a & b) | c)

Không phải tất cả các đặc tả hành vi đều tổng

omp • Không phải tất cả các đặc tả hành vi đều tổng

hợp được Không sử dụng: + * / % > >= < <= >> <<

Co

Chapter 4: Verilog ©2008, Pham Quoc Cuong 63/10/2009

Không sử dụng: + - / % > >= < <= >> <<

09 Những nguy hiểm trong thiết kế Verilogg

200

• Chương trình tuần tự, bộ tổng hợp có thể sẽ phải thêm nhiều chi tiết phần cứng

erin

g phải thêm nhiều chi tiết phần cứng Cần một bộ priority encoder

• Nếu chương trình song song có thể có những

gine

e • Nếu chương trình song song, có thể có những trạng thái không xác định Nhiều khối “always”, khối nào thực thi trước?

Eng Nhiều khối always , khối nào thực thi trước?

• Tạo ra nhiều trạng thái không dự dịnh trướcif (x == 1) out = 0;

uter

if (x 1) out 0;if (y == 1) out = 1; // else out retains previous state?

R-S latch!

omp • Không tính trước được số phần tử phần cứng x = x + 1 có thể cần RẤT NHIỀU phần tử phần cứng

Co

Chapter 4: Verilog ©2008, Pham Quoc Cuong 73/10/2009

09 Lịch sử phát triển HDLsg

200

• ISP (circa 1977) – dự án nghiên cứu CMU (Carnegie Mellon University) Mô phỏng nhưng không tổng hợp

• Abel (circa 1983) được phát triển bởi Data-I/O

erin

g • Abel (circa 1983) – được phát triển bởi Data-I/O Mục tiêu dùng cho các thiết bị luận lý khả lập trình Không tốt cho máy trạng thái

• Verilog (circa 1985) – phát triển bởi Gateway (now Cadence)

gine

e g ( ) p y ( ) Đặc tả được đưa ra từ 1985 Ban đầu được phát triển cho mô phỏng, tương tự C và Pascal Hiệu quả và dễ viết Berkeley phát triển công cụ tổng hợp vào thập niên 80

Eng Berkeley phát triển công cụ tổng hợp vào thập niên 80

Được IEEE chuẩn hóa• Verilog standardized (Verilog-1995 standard)• Verilog-2001 standard

uter

• VHDL (circa 1987) - DoD sponsored standard Dưa trên VHSIC phát triển bởi DARPA Tương tự như Ada (Nhấn mạnh vào tái sử dụng và bảo trì) Ngữ nghĩa mô phỏng rõ ràng

omp Ngữ nghĩa mô phỏng rõ ràng

Rất tổng quát nhưng dài dòng Được IEEE chuẩn hóa

• VHDL standardized (’87 and ’93)ấ

Co

Chapter 4: Verilog ©2008, Pham Quoc Cuong 83/10/2009

Cấu trúc nghiêm ngặt

09 Verilog HDLg

200

• Verilog là một ngôn ngữ lớn Có nhiều tính năng cho tổng hợp và mô phỏng phần cứng

erin

g g g ợp p g p g Có thể biểu diễn những đặc trưng mức thấp

• Transistor Có thể hoạt động như ngôn ngữ lập trình

gine

e Có thể hoạt động như ngôn ngữ lập trình• Cấu trúc lặp• Cấu trúc điều khiển….

Eng • Các công cụ mô phỏng chấp nhận toàn bộ khái niệm

của Verilog• Các công cụ tổng hợp chỉ chấp nhận một phần các khái

uter

• Các công cụ tổng hợp chỉ chấp nhận một phần các khái niệm của Verilog

• Chỉ tập trung nghiên cứu một phần

omp ập g g ộ p Sử dụng ở một mức thích hợp Tập trung trên những cấu trúc tổng hợp được

Tậ t t á h hữ ấ t ú â lỗi khi tổ hCo

Chapter 4: Verilog ©2008, Pham Quoc Cuong 93/10/2009

Tập trung tránh những cấu trúc gây lỗi khi tổng hợp

09 Nội dung chínhg

200

• Giới thiệu về HDLs và verilogổ

erin

g • Mô hình cấu trúc cho mạch luận lý tổ hợp

gine

e ợp• Mô phỏng luận lý, kiểm chứng thiết kế và

phương pháp luận kiểm tra

Eng phương pháp luận kiểm tra

• Thời gian trễ truyền lan

uter

g y• Mô hình bảng sự thật cho mạch luận lý tổ

hợp và tuần tự với Verilog

omp hợp và tuần tự với Verilog

Co

Chapter 4: Verilog ©2008, Pham Quoc Cuong 103/10/2009

09 Mô hình mạch tổ hợpg

200

• Một mô hình Verilog của một mạch tóm tắt các mô tả chức năng bằng góc nhìn cấu trúc hay

erin

g mô tả chức năng bằng góc nhìn cấu trúc hay hành vi trên những mối quan hệ ngõ vào-ngõ ra

• Một mô hình cấu trúc là một cấu trúc kết nối

gine

e Một mô hình cấu trúc là một cấu trúc kết nối (netlist) chứa Các cổng

Eng Các cổng

Các khối chức năng• Một mô hình hành vi là

uter

Một mô hình hành vi là Các biểu thức Boolean đơn giản Mô hình chuyển đổi mức thanh ghi (Register Transfer

omp

y g ( gLevel – RTL)

Một giải thuật

Co

Chapter 4: Verilog ©2008, Pham Quoc Cuong 113/10/2009

09 Mô hình cấu trúc mạch tổ hợpg

200

• Thiết kế cấu trúc tương tự như tạo ra một sơ đồ

erin

g tự như tạo ra một sơ đồ (schematic)

• Schematic

gine

e

Hình biểu diễn cổng logic, Ngõ vào ra,

Eng Các đường kết nối giữa

các cổng.

• Mô hình cấu trúc HDL

uter

• Mô hình cấu trúc HDL Danh sách các cổng cơ

bản và kết nối giữa chúng

omp Các phát biểu chỉ ra ngõ vào-ra

Co

Chapter 4: Verilog ©2008, Pham Quoc Cuong 123/10/2009

09 Verilog primitivesg

200

• Primitives là các đối tượng cơ bản có thể được sử dụng trong thiết kế

erin

g g• 26 đối tượng chức năng được định nghĩa trước

t t

gine

e

n-inputn-output3-states

and buf

Eng and buf

nand notor bufif0 nand (y, a, b, c);

output kết thúc phát biểu

uter

or bufif0nor bufif1xor notif0

keyword nameinput

omp xnor notif1

nand N1(y, a, b, c);Ngõ ra là phần tử đầu tiên trong

Co

Chapter 4: Verilog ©2008, Pham Quoc Cuong 133/10/2009

instance name (optional)

Ngõ ra là phần tử đầu tiên trong danh sách các ngõ vào-ra

09 Mô hình cấu trúc trong Verilogg

200

• Module Tên module và đi theo module module_name (port_list);

erin

g Tên module và đi theo sau là danh sách các ngõ vào-ra (port)

Danh sách đặc tả loại

_ (p _ )//Declarations:

reg, wire, parameter,input output inout

gine

e Danh sách đặc tả loại port (input/output)

Danh sách các dây nối, á biế ử d bê

input, output, inout,function, task, …

//Statements:

Eng các biến sử dụng bên

trong module (optional) Danh sách các kết nối

Initial statementAlways statementModule instantiation

uter

Danh sách các kết nối giữa các cổng và các module khác bên trong

endmodule

Module instantiationGate instantiationUDP instantiation

omp endmodule Continuous assignment

endmodule

Co

Chapter 4: Verilog ©2008, Pham Quoc Cuong 143/10/2009

09 Ví dụg

200

Module ports

erin

g

port modes

Module ports

gine

e

Internal wires

I t ti t d i iti

Eng Instantiated primitives

uter

om

pC

o

Chapter 4: Verilog ©2008, Pham Quoc Cuong 153/10/2009

09 Module portsg

200

• Giao tiếp với “môi trường” bên ngoàiKiể ủ t ết đị h hiề t ề dữ

erin

g • Kiểu của port quyết định chiều truyền dữ liệu

gine

e

Một chiều (Unidirectional)• input

Eng • output

Hai chiều (Bidirectional)

uter

• inout

• Kiểu của module port phải được khai báo

omp

p p ợtường minh và không cần theo thứ tự xuất hiện trong port list

Co

Chapter 4: Verilog ©2008, Pham Quoc Cuong 163/10/2009

ệ g p

09 Quy tắt trong Verilogg

200

• Phân biệt chữ hoa thường (Case sensitive)Id tifi A Z 0 9 ‘ ’ à ‘$’

erin

g • Identifier: a-z, A-Z, 0-9, ‘_’ và ‘$’• Tên biến không được bắt đầu bằng ‘$’ hay ký số

gine

e

và có thể tối đa là 1024 ký tự• Một phát biểu được kết thúc bằng ‘;’

Eng ộ p ợ g ;

• Chú thích ‘//’ một dòng chú thích

uter

// một dòng chú thích /*…*/ chú thích nhiều dòng

• Các identifiers có phạm vi nhất định

omp • Các identifiers có phạm vi nhất định

• Có thể viết các phát biểu trên một dòng hay hiề dòC

o

Chapter 4: Verilog ©2008, Pham Quoc Cuong 173/10/2009

nhiều dòng

09 Thiết kế từ trên xuống (top-down)g

200

• Hệ thống phức tạp được phân chia thành nhữngđơn vị chức năng nhỏ hơn

erin

g ị g Dễ thiết kế Dễ kiểm tra

ồ ỗ ế

gine

e • Các module lồng nhau trong Verilog hỗ trợ thiếtkế từ trên xuốngM d l th khả đế d l khá đ i là

Eng • Module tham khảo đến module khác được gọi là

module “cha”, module được module khác thamkhảo đến gọi là module “con”

uter

khảo đến gọi là module con• Độ sâu của các module lồng nhau không giới

hạn

omp • Mỗi module con phải có tên duy nhất trong

phạm vi module cha (trừ các primitives)

Co

Chapter 4: Verilog ©2008, Pham Quoc Cuong 183/10/2009

09 Binary full adderg

200

a sumc_in sumM2

a b c_in

erin

g

Half_addera sum

Half_adderb c_outa

c_outw1

w2

w3

gine

e b c_outb

M1

w2

Eng

uter

om

pC

o

Chapter 4: Verilog ©2008, Pham Quoc Cuong 193/10/2009

09 Thiết kế phân cấp và tổ chức mã nguồng

200

• Top-level module là module ở cấp cao hất

erin

g nhất• Module ở mức thấp nhất

gine

e p Chứa các primitives Các module không phân chia nhỏ hơn

Eng Các module không phân chia nhỏ hơn

• Tất cả các module được đặt trong một hay

uter

nhiều tập tin khác nhau• Công cụ mô phỏng tích hợp các module

omp • Công cụ mô phỏng tích hợp các module

từ các tập tin

Co

Chapter 4: Verilog ©2008, Pham Quoc Cuong 203/10/2009

09 Mạch cộng 16-bit ripple carryg

200

a[15:0] b[15:0] c_in

erin

g

Add_rca_16

gine

e

sum[15:0]c_out

Eng

c_in

a[3:0]a[7:4]a[11:8]a[15:12] b[3:0]b[7:4]b[11:8]b[15:12]

uter

Add_rca_4 Add_rca_4 Add_rca_4 Add_rca_4

omp M4 M3 M2 M1c_out

c_in4c_in8c_in12

Co

Chapter 4: Verilog ©2008, Pham Quoc Cuong 213/10/2009

sum[15:12] sum[11:8] sum[7:4] sum[3:1]

09 Cây phân cấp mạch cộng 16-bit ripple carryg

200

Add_rca_16

M1 M2 M3 M4

erin

g

Add_rca_4 Add_rca_4 Add_rca_4 Add_rca_4M1 M2 M3 M4

... ... ...

gine

e

Add full Add fullAdd full Add fullM1 M2 M3 M4

Eng _ __ _

M3M2M1

... ... ...

uter

Add_halforAdd_half

omp

or xoror xor

Co

Chapter 4: Verilog ©2008, Pham Quoc Cuong 223/10/2009

Cây phân cấp thiết kế mạch cộng 16 bit ripple carry

09 Hiện thực mạch cộng 16-bit ripple carryg

200

erin

ggi

nee

Eng

uter

om

pC

o

Chapter 4: Verilog ©2008, Pham Quoc Cuong 233/10/2009

09 Vectors trong Verilogg

200

• Một vector được biểu diễn bằng ngoặc vuôngchứa dãy liên tiếp các bit

erin

g chứa dãy liên tiếp các bit sum[3:0] vector sum kích thước 4 bit

Bi ái hấ là MSB

gine

e • Bit trái nhất là MSB• Bit phải nhất là LSB

Eng

• Có thể truy xuất từng bit hay từng dãy bit trongvector

uter

sum[1] bit thứ 2 từ phải sang của sum sum[2:1] bit thứ 2 và 3 từ phải sang của sum

omp sum[2:1] bit thứ 2 và 3 từ phải sang của sum

• sum[4] giá trị x (không xác định)Có thể gán so sánh 2 vector với nhauC

o

Chapter 4: Verilog ©2008, Pham Quoc Cuong 243/10/2009

• Có thể gán, so sánh 2 vector với nhau

09 Cấu trúc liên kết (connectivity)g

200

• Wire Thiết lập các liên kết giữa các đối tượng thiết kế

erin

g Thiết lập các liên kết giữa các đối tượng thiết kế Giá trị được quyết định trong quá trình mô phỏng bởi

cái mà nó được nối vàoKiể i

gine

e • Kiểu wire Khai báo bằng từ khóa wire

• wire y out

Eng • wire y_out

Các biến sử dụng không khai báo• Các ngõ vào và ra mặc định là kiểu wire (trừ khi

uter

g ặ ị (được khai báo kiểu khác)

• Kết nối giữa port hình thức và port thực tế

omp Theo thứ tự trong danh sách các port .tên_hình_thức (tên_thực_tế)

• half adder ( b(b) Cout(w2) a(a) sum(w1));

Co

Chapter 4: Verilog ©2008, Pham Quoc Cuong 253/10/2009

• half_adder (.b(b), .Cout(w2), .a(a), .sum(w1));

09 Nội dung chínhg

200

• Giới thiệu về HDLs và verilogổ

erin

g • Mô hình cấu trúc cho mạch luận lý tổ hợp• Mô phỏng luận lý kiểm chứng thiết kế

gine

e Mô phỏng luận lý, kiểm chứng thiết kế và phương pháp luận kiểm tra

ễ ề

Eng • Thời gian trễ truyền lan

• Mô hình bảng sự thật cho mạch luận lý tổ

uter

Mô hình bảng sự thật cho mạch luận lý tổ hợp và tuần tự với Verilog

omp

Co

Chapter 4: Verilog ©2008, Pham Quoc Cuong 263/10/2009

09 Các giá trị luận lý trong Verilogg

200

• Verilog sử dụng 4 giá trị luận lý 1 True

0 F lx z

a 0 1

a

by

erin

g 0 False x Không xác định z tổng trở cao

x x x

a

b

y

1

x z x z x z x z

gine

e x x xy

Eng

uter

x x z

s0

a

s1

x x za

xb

omp x

z z x

b

out3

x

x x

xout5

out6

Co

Chapter 4: Verilog ©2008, Pham Quoc Cuong 273/10/2009

z z x

z z x x

out4

out1x xxout2

09 Phương pháp luận kiểm trag

200

• Kiểm tra mạch thực hiện đúng chức năng Kiểm tra ngẫu nhiên phức tạp và không chính xác

erin

g Kiểm tra ngẫu nhiên phức tạp và không chính xác Cần lập kế hoạch kiểm tra tỉ mỉ

• Kiểm tra mạch lớn

gine

e • Kiểm tra mạch lớn Kiểm tra tất cả các trường hợp

• Mạch cộng 16 bit cần kiểm tra 223 trường hợp

Eng Mạch cộng 16 bit cần kiểm tra 2 trường hợp

• Kiểm tra phân cấp half_adder full adder

uter

full_adder Add_rca_4 cần kiểm tra 29 trường hợp Chọn một số trường hợp để kiểm tra kết nối của các

Add rca 4 trong Add rca 16

omp Add_rca_4 trong Add_rca_16

• Kiểm tra theo chiều ngược so với cây phân cấp thiết kế

Co

Chapter 4: Verilog ©2008, Pham Quoc Cuong 283/10/2009

thiết kế

09 Mô phỏng luận lýg

200

• Xây dựng các testbench đưa vào

StimulusGenerator

erin

g testbench đưa vào mạch và hiển thị dạng sóng của kết quả unit under test

gine

e sóng của kết quả• Bộ mô phỏng

ể ồ

unit_under_test(UUT)

Eng Kiểm tra mã nguồn

Báo lỗiResponse

Monitor

uter

Mô phỏng hành vi của mạch thông qua các tín hiệu vào trong

Người sử dụng hay phần mềm

omp tín hiệu vào trong testbench

Co

Chapter 4: Verilog ©2008, Pham Quoc Cuong 293/10/2009

Không có lỗi cú pháp Mạch thực thi đúng kết quả

09 Sinh tín hiệu để kiểm trag

200

• Một hành vi (behavior) Tập hợp các phát biểu được thi trong quá trình mô phỏng (các

erin

g ập ợp p ợ g q p g (phát biểu thủ tục)

Được gán giá trị mô phỏng giống như là được điểu khiển bởi phần cứng

gine

e phần cứng• Initial khai báo hành vi một lượt (single-pass)• begin … end

Eng g

Chứa danh sách các phát biểu của hành vi Thời gian thực thi các phát biểu thủ tục tùy thuộc vào thứ tự và

thời gian trễ truyền

uter

thời gian trễ truyền Các phát biểu được thực thi từ trên xuống, từ trái sang phải

• # <integer> <statement>

omp Điều khiển trễ truyền Các phát biểu phía sau phải đợi

Co

Chapter 4: Verilog ©2008, Pham Quoc Cuong 303/10/2009

09 Khuôn mẫu cho testbenchg

200

module t_module ();reg …;

Tên module UUTKhai báo kiểu thanh ghi để chứa

erin

g g ; ggiá trị cho các biến ngõ vào của UUT

Khai báo kiểu wire cho các ngõ ra

gine

e wire …;parameter time_out = 100;UUT name U1 (port list);

Khai báo kiểu wire cho các ngõ ra của UUT

Khai báo các tham số

Eng UUT_name U1 (port_list);

initial $monitor();Tín hiệu được xuất ra dạng textKết thú ô hỏ thời i

uter

initial #time_out $finishinitial

Kết thúc mô phỏng sau thời gian time_out

omp begin … end

endmodule

Xây dựng các tín hiệu ngõ vào cho U1

Co

Chapter 4: Verilog ©2008, Pham Quoc Cuong 313/10/2009

endmodule

09 Ví dụg

200

erin

ggi

nee

Eng

uter

om

pC

o

Chapter 4: Verilog ©2008, Pham Quoc Cuong 323/10/2009

09 Kích thước sốg

200

• Chỉ ra số lượng bit dùng để lưu trữ sốf bit ‘ b l

erin

g • <num_of_bit> ‘ <base> <value> 8’b1000_0001

gine

e

3’d2987 16’h24ce

Eng 3’o7

• Những số không khai báo kích thước được hiểu

uter

g gở dạng integer (thông thường 32 bits)

• Mặc định các số ở dạng decimal

omp Mặc định các số ở dạng decimal

• Không phân biệt hoa thường trong khai báo sốDấ “ ” đ ợc bỏ q aC

o

Chapter 4: Verilog ©2008, Pham Quoc Cuong 333/10/2009

• Dấu “_” được bỏ qua

09 Nội dung chínhg

200

• Giới thiệu về HDLs và verilogổ

erin

g • Mô hình cấu trúc cho mạch luận lý tổ hợp• Mô phỏng luận lý kiểm chứng thiết kế và

gine

e Mô phỏng luận lý, kiểm chứng thiết kế và phương pháp luận kiểm tra

ễ ề

Eng • Thời gian trễ truyền lan

• Mô hình bảng sự thật cho mạch luận lý tổ

uter

Mô hình bảng sự thật cho mạch luận lý tổ hợp và tuần tự với Verilog

omp

Co

Chapter 4: Verilog ©2008, Pham Quoc Cuong 343/10/2009

09 Thời gian trễ truyềng

200

• Ngõ vào thay đổi ngõ ra không thay đổi ngay lập tức

erin

g

• Các phần tử cơ bản của verilog có thời gian trễ là 0

gine

e

• Các vi mạch thực tế được sản xuất dựa trên các thư viện chuẩn được định nghĩa trướcN ời thiết kế hỉ tâ đế tí h đú đắ

Eng • Người thiết kế chỉ quan tâm đến tính đúng đắn

của mạch• Sử dụng các công cụ tổng hợp để hiện thực các

uter

• Sử dụng các công cụ tổng hợp để hiện thực các thiết kế thỏa mãn các ràng buộc thời gian

• ‘timescale <time unit base>/<precision base>

omp timescale <time_unit base>/<precision base> Chỉ thị biên dịch Chỉ ra đơn vị thời gian và độ chính xác thời gian trễ

Co

Chapter 4: Verilog ©2008, Pham Quoc Cuong 353/10/2009

g g Phải được khai báo trước khi các module

09 Ví dụ `timescaleg

200

erin

ggi

nee

Eng

uter

om

pC

o

Chapter 4: Verilog ©2008, Pham Quoc Cuong 363/10/2009

09 Các loại trễ lan truyềng

200

• Trễ quán tính (inertial delay) tpd

erin

g p

t t

gine

e

tpd

t t

Eng

• Trễ truyền (transport delay)t t

uter

Gây ra do các dây nối 0.033ns/1cm

omp Có thể bỏ qua wire #2 long wire

Co

Chapter 4: Verilog ©2008, Pham Quoc Cuong 373/10/2009

wire #2 long_wire

09 Nội dung chínhg

200

• Giới thiệu về HDLs và verilogổ

erin

g • Mô hình cấu trúc cho mạch luận lý tổ hợp• Mô phỏng luận lý kiểm chứng thiết kế và

gine

e Mô phỏng luận lý, kiểm chứng thiết kế và phương pháp luận kiểm tra

ễ ề

Eng • Thời gian trễ truyền lan

• Mô hình bảng sự thật cho mạch luận lý

uter

Mô hình bảng sự thật cho mạch luận lý tổ hợp và tuần tự với Verilog

omp

Co

Chapter 4: Verilog ©2008, Pham Quoc Cuong 383/10/2009

09 Bảng sự thật trong Verilogg

200

• tableN õ hải ó kiể ô h ớ ( l )

erin

g • Ngõ ra phải có kiểu vô hướng (scalar)• Dùng kí hiệu ‘?’ thay cho 0, 1, x

gine

e

• Thứ tự các cột trong <input_list> tương ứng với thứ tự trong khai báo input của module

Eng ự g p

• Mạch tổ hợp <input list>:<output>

uter

<input_list>:<output>• Mạch tuần tự

<i t li t> < t t > < t t/ t t t >

omp <input_list>:<state>:<output/next_state> Ngõ ra phải được khai báo kiểu thanh ghi

Dù kí hiệ ‘ ’ biể diễ õ khô th đổiCo

Chapter 4: Verilog ©2008, Pham Quoc Cuong 393/10/2009

Dùng kí hiệu ‘-’ biểu diễn ngõ ra không thay đổi


Recommended