Hiển thị giá trị địa chị 41 bit và time

Một phần của tài liệu Tổng quan về verilog (Trang 66 - 72)

a. Hiển thị thông tin

hiển thị giá trị địa chị 41 bit và time

hiển thị giá trị địa chị 41 bit và time

reg [0:40] virtual_addr;// reg [40:0] virtual_addr

$display( “tai thoi gian %d dia chi virtual adress la : %h”, $time,virtual_adr ) ;

Task hệ thống và chỉ thị trình biên dịch

// hiển thị ký tự x

// hiển thị giá trị bus 4 bit 10xx trong hệ nhi phận Reg [3:0] bus;

$display( “gia tri bus la : %b”,bus ); // xuat : gia tri bus la 10xx

// hiển thị tên cấp bậc của thực thể p1

// mức cao nhất module là top khơng có đối số.

$display( “this string is displayed from %m level of hierarchy :” );

--this string is displayed from top.p1 level of hierachy

Task hệ thống và chỉ thị trình biên dịch

// hiển thị ký tự đặc biệc,dịng mới và % $display( “hien thi %%” );

--- hien thi %

$display(“ da \n dong: ”); ---da

Task hệ thống và chỉ thị trình biên dịch

b.Giám sát thông tin

verilog cung cấp 1 cơ chế để giám sát 1 tín hiệu khi giá

trị nó thay đổi. Đó là task $monitor usage: $monitor( p1,p2,p3,…pn );

tham số p1,p2,..pn có thể là biến,tên tín hiệu hoặc là chuỗi trích dẫn. Định danh trong task display hoàn toàn tương tự đối với task monitor. $monitor giám sát giá trị của biến, hoặc tín hiệu ( các tham số của

module ) và hiển thị tất cả chúng trong list bất cứ khi

nào giá trị của 1 hoặc 1 số biến thay đổi. Không như $display,$monitor cần chỉ 1 lần.

Task hệ thống và chỉ thị trình biên dịch

chỉ có 1 monitor list đựơc dùng tại 1 thời điểm nếu có nhiều hơn $monitor statement trong mô

phỏng của bạn. và $monitor statement đầu tiên sẽ đựơc dùng.

$monitoron; $monitoroff;

$monitoron task bắt đầu sự giám sát và

$monitoroff kết thúc sự giám sát trong suốt quá

trình mơ phỏng. sự giám sát được bật tại thời điểm bắt đầu mơ phỏng và có thể được điểu khiển trong suốt quá trình mơ phỏng

Task hệ thống và chỉ thị trình biên dịch

// giám sát thời gian và giá trị tín hiệu clock và reset

// clock thay đổi trạng thái mỗi 5 đơn vị time và reser mỗi 10 đơn vị thời gian

Intital

Begin

$monitor( $time,” gia tri cua tin hieu clock = %b reset = %b”, clock,reset ” );

End

/* hiển thị :

--- 0 gia tri cua tin hieu clock = 0 reset 1 = 1 --- 5 gia tri cua tin hieu clock = 1 reset 1 = 1 --- 10 gia tri cua tin hieu clock = 0 reset 1 = 0*/

Task hệ thống và chỉ thị trình biên dịch

Một phần của tài liệu Tổng quan về verilog (Trang 66 - 72)

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

(173 trang)