Khai báo hàm:

Một phần của tài liệu tổng quan về hệ điều hành và thiết kế sequential logic using udp dùng verilog (Trang 30)

Kh i báo hàm là chỉ r t n hàm, chiều rộng củ hàm giá trị trả về, đối số hàm dữ liệu vào, các biến (reg) dùng trong hàm, và th m số cục bộ củ hàm, số nguy n củ hàm.

1. Cú pháp:

Function [msb:lsb] tên hàm; Input [msb:lsb]biến vào; Reg [msb:lsb]biến reg;

Parameter [msb:lsb] th m số; Integer [msb:lsb] số nguy n;

… các lệnh…

Endfunction

XI. Ứ NĂN L N N

Chốt dữ liệu (l tches): đƣợc suy nếu một biến, một trong các bit không đƣợc gán trong các nhánh củ một lệnh if. Chốt dữ liệu cũng đƣợc suy r từ lệnh c se nếu một biến đƣợc gán chỉ trong một vài nhánh.

Hoàn thiện mã c thể đọc đƣợc dùng lệnh if để tổng hợp chốt vì thật kh để chỉ định rõ ràng. Theo lý thuyết, một sự xác lập hợp lí n n đƣợc suy r từ mã Verilog.

Cú pháp:

If… else if… else và c se.

I. Thanh ghi Edge_triggered, flip_flop, bộ đếm:

Một th nh ghi (flip_flop) đƣợc suy luận bằng việc dùng xung kích cạnh l n

hoặc xuống trong d nh sách sự kiện củ lệnh khối lw ys.

Cú pháp:

Always @(posedge clk or posedge reset1 or nesedge reset2) Begin

If (reset1) begin

Các chỉ định reset

end

else if (reset2) begin

Các chỉ định reset End Else begin Các chỉ định reset End II. Bộ đa cộng:

Đƣợc suy r bởi việc gán một biến mà giá trị mỗi biến khác nh u trong mỏi nhánh củ lệnh if hoặc c se. C thể tránh các chỉ định và mọi nhánh c thể tồn tại bằng việc sử dụng ngoài những nhánh mặc định. Chú ý rằng chốt sẽ đƣợc tạo r nếu một biến không đƣợc gán cho các điều kiện nhánh c thể tồn tại.Để hoàn thiện mã c thể đọc đƣợc, dùng lệnh c se để tạo mẫu đ cộng l n.

III. Bộ cộng, trừ:

Toán tử cộng trừ trong bộ cộng trừ mà c chiều rộng phụ thuộc vào chiều rộg củ toán tử l n hơn.

IV. Bộ đệm 3 trạng thái:

Bộ đệm b trạng thái đƣợc suy r nếu biến đƣợc gán theo điều kiện giá trị tổng trở c o Z dùng một trong các toán tử: if, c se,…

V. Các linh kiện khác:

Hầu hết các cổng logic đƣợc suy r từ việc dùng những toán hạng tƣơng ứng củ chúng. Nhƣ một sự lự chọn một cổng hoặc một thành phần c thể đƣợc giải thích rõ ràng bằng ví dụ cụ thể và sử dụng các cổng cơ sở ( nd, or, nor, inv…) miễn là bằng ngôn ngữ Verilog.

PHẦN 3: MỘT SỐ VÍ DỤ

1.VÍ DỤ 1

a.Chương trình tính NOR các bít của biến vào module vdcong(in,out);

input[3:0] in; output out; assign out= ~|in; endmodule

2.ví dụ

.chuơng trình cơng 2 biến 4 bít

3. ví dụ 3

4. ví dụ 4

5.ví dụ 5

b.mơ phỏng

6.ví dụ 6

7. ví dụ 7

PHẦN 4:THIẾT KẾ SEQUENTIAL LOGIC USING UDP DÙNG VERILOG

//CÁC PHƢƠN P ÁP T T

// ÚN T Ó T Ể DÙN Á P ƢƠN P ÁP S U D LACTH

1 primitive latch_udp(q, clock, data) ; 2 output q; reg q ;

3 input clock, data; Table 4 // clock data q q+ 0 1 : ? : 1 ; 0 0 : ? : 0 ; 1 ? : ? : - ; // - = no change 5 endtable 6 endprimitive D Flip Flop 1 //-------------------------------------- ---------------

2 // Design Name : dff_udp 3 // File Name : dff_udp.v 4 // Function : D Flip Flop

5 // Coder : Deepak Kumar Tala

6 //-------------------------------------- ---------------

7 primitive dff_udp (q,clk,d); 8 input clk,d;

9 output q; 10 reg q; 11 table 12 // clk d : q : q+ 13 r 0 : ? : 0 ; 14 r 1 : ? : 1 ; 15 f ? : ? : - ; 16 ? * : ? : - ; 17 endtable 18 endprimitive SR Flip Flop 1 primitive srff_udp (q,s,r); 2 output q; 3 input s,r; 4 5 reg q; 6 7 initial q = 1'b1; 8 9 table 10 // s r q q+ 11 1 0 : ? : 1 ; 12 f 0 : 1 : - ; 13 0 r : ? : 0 ; 14 0 f : 0 : - ; 15 1 1 : ? : 0 ; 16 endtable 17 18 endprimitive

JK Flip Flop

1 //-------------------------------------- ---------------

2 // Design Name : jkff_udp 3 // File Name : jkff_udp.v

4 // Function : JK Flip Flop Using UDP 5 // Coder : Deepak Kumar Tala

6 //-------------------------------------- --------------- 7 primitive jkff_udp (q,clk,j,k); 8 input clk,j,k; 9 output q; 10 reg q; 11 table 12 // clk j k : q : q+ 13 r 0 0 : ? : - ; 14 r 0 1 : ? : 0 ; 15 r 1 0 : ? : 1 ; 16 r 1 1 : 0 : 1 ; 17 r 1 1 : 1 : 0 ; 18 f ? ? : ? : - ; 19 ? * ? : ? : - ; 20 ? ? * : ? : - ; 21 endtable 22 endprimitive

ết lu n

Việc giảng dạy phƣơng pháp thiết kế sử dụng Verilog là rất cần thiết đối v i sinh vi n điện tử viễn thông - công nghệ thông tin. Đối v i sinh vi n thì việc triển kh i nghi n cứu và ứng dụng củ Verilog đã trình bày ở tr n quả thực rất c ý nghĩ . Hiệu quả củ vấn đề không phải chỉ là nắm bắt đƣợc những tiến bộ m i củ kho học n i chung, công nghệ chế tạo phần cứng n i ri ng mà chính Verilog sẽ là một phƣơng thức hỗ trợ giảng dạy thật hữu hiệu, n sẽ giúp cho các môn học vi xử lý, kiến trúc máy tính, trở n n b t trìu tƣợng hơn. Hiện n y Verilog đã và đ ng đƣợc sử dụng rất phổ biến trong các phịng thực hành thí nghiệm Điện tử-Viễn thông ở các trƣờng đại học tr n thế gi i, và đ ng đƣợc nhiều công ty điện tử - viễn thông - tin học sử dụng để thiết kế, phát triển các sản phẩm củ mình.. Các mơn học phƣơng pháp thiết kế sử dụng Verilog sẽ tr ng bị cho sinh vi n một phƣơng pháp thiết kế các hệ thống số ti n tiến từ đ sinh vi n c thể phân tích và thiết kế đƣợc các thiết bị, hệ thống điện tử số ứng dụng trong ngành điện tử - viễn thông c hiệu quả c o. Do thời làm bài tập c hạn và những hạn chế không tránh khỏi củ việc hiểu biết các vấn đề dự tr n lý thuyết là chính n n bài tập củ nh m em chắc chắn không tránh khỏi những thiếu s t. Chung em rất mong c đƣợc những ý kiến đánh giá, g p ý củ các thầy và các bạn để bài tập củ chúng em th m hoàn thiện.

S u thời gi n làm bài tập. Chúng em đã rút r đƣợc rất nhiều kinh nghiệm cho bản thân, đ cũng là nhờ vào sự chỉ dậy nhiệt tình củ các thầy cơ và sự giúp đỡ củ các bạn.

Chúng em xin chân thành cảm ơn !

T i liệu tham khảo

1.Verilog Digital System Design 2.Introduction of Verilog

3.Cadence Verilog –XL Reference Manual

4.Synopsys HDL Compiler for Verilog Reference Manual 5.Diglad 10k10 Mannual 6.www.Syncad .com 7.TimingTool.com 8.www.maia-eda.net 9.http://tailieu.vn/xem-tai-lieu/tom-tat-bai-giang-verilog.174162.html 10. http:// www.eej.ulst.ac.uk/guide/guide.html 11. http:// www.eej.ulst.ac.uk/guide/syntax.html 12. http:// www.eej.ulst.ac.uk/tutor/Vhdnotes.html 13. VHDL : Active Tutorial ALDEC Cooperation 14.http:// www.xilinx.com

Một phần của tài liệu tổng quan về hệ điều hành và thiết kế sequential logic using udp dùng verilog (Trang 30)

Tải bản đầy đủ (PDF)

(51 trang)