96wmD)硬件述语言 Chinapub.com 下载 Display与 Write:十进制数 sdisplayb与$ writeb:二进制数 display与$ write:八进制数 Sdisplayh与 Writer:十六进制数 可以用如下代码序列输出特殊字符: n换行 1t制表符 \字符\ ooo值为八进制值ooo的字符 告号字符告 例如: Display("simulation time is st"sme display(stime,": R=8b, Q=sb sb",R,s,Q, QB)i //因为没有指定格式,时间按十进制显示 Write("simulation time is: )i Write("st\n", stime) 述语句输出stme、R、S、Q和QB等值的执行结果如下: simulation time is 10:R=1,S=0,Q=0,QB=1 simulation time i 2.探测任务 探测任务有: Strobe Sstrobeb Sstrobeh strobed 这些系统任务在指定时间显示模拟数据,但这种任务的执行是在该特定时间步结束时才 显示模拟数据。“时间步结束”意味着对于指定时间步内的所有事件都已经处理了。 e(posedge Rst) Strobe("the flip-flop value is sb at time st",time 当Rst有一个上升沿时, Strobe任务输出Q的值和当前模拟时间。下面是Q和 Stime的一些 值的输出。这些值在每次Rst的上升沿时被输出。 The flip-flop value is 1 at time The flip-flop value is o at time The flip-flop value is 1 at time 其格式定义与显示和写入任务相同 探测任务与显示任务的不同之处在于:显示任务在遇到语句时执行,而探测任务的执行 要推迟到时间步结束时进行。下面的例子有助于进一步区分这两种不同任务 begin Display("After first assignment, cool has value b'b,) strobe("When strobe is executed, cool has value wb2 Cool Display("After second assignment, cool has value abaI$ d i s p l a y与$ w r i t e :十进制数 $ d i s p l a y b与$ w r i t e b :二进制数 $ d i s p l a y o与$ w r i t e o :八进制数 $ d i s p l a y h与$ w r i t e h :十六进制数 可以用如下代码序列输出特殊字符: \n 换行 \t 制表符 \\ 字符\ \" 字符” \OOO 值为八进制值O O O的字符 %% 字符% 例如: $d i s p l a y("Simulation time is %t",$t i m e) ; $d i s p l a y( $t i m e,":R=%b,Q=%b,QB=%b", R,S,Q,QB); / /因为没有指定格式,时间按十进制显示。 $w r i t e("Simulation time is:); $w r i t e( " % t \ n " , $t i m e) ; 上述语句输出$ t i m e、R、S、Q和Q B等值的执行结果如下: Simulation time is 10 10:R=1, S=0, Q=0, QB=1 Simulation time is 10 2. 探测任务 探测任务有: $s t r o b e $s t r o b e b $s t r o b e h $s t r o b e o 这些系统任务在指定时间显示模拟数据,但这种任务的执行是在该特定时间步结束时才 显示模拟数据。“时间步结束”意味着对于指定时间步内的所有事件都已经处理了。 a l w a y s @ (p o s e d g e R s t ) $s t r o b e("the flip-flop value is %b at time %t",Q,$ t i m e) ; 当R s t有一个上升沿时, $s t ro b e任务输出Q的值和当前模拟时间。下面是 Q和$t i m e的一些 值的输出。这些值在每次R s t的上升沿时被输出。 The flip-flop value is 1 at time 17 The flip-flop value is 0 at time 24 The flip-flop value is 1 at time 26 其格式定义与显示和写入任务相同。 探测任务与显示任务的不同之处在于:显示任务在遇到语句时执行,而探测任务的执行 要推迟到时间步结束时进行。下面的例子有助于进一步区分这两种不同任务。 i n t e g e r C o o l; i n i t i a l b e g i n Cool = 1; $d i s p l a y("After first assignment,Cool has value %d", C o o l) ; $s t r o b e("When strobe is executed,Cool has value %d", C o o l) ; C o o l = 2; $d i s p l a y("After second assignment,Cool has value %d", C o o l) ; e n d 96 Verilog HDL 硬件描述语言 下载