使用脈衝偵測電路設計邊緣觸發正反器

Verilog

基本語法

型態

全域變數

基本元件

多樣的寫法

指定

assign

always

initial

運算式

分枝

迴圈

模組

函數

Task

陣列

輸出入

觀察

真值表

測試程式

訊息顯示

注意事項

模擬程序

硬體工程

程式範例

Xor

Xor3

全加器

加法器

加減器

快速加法器

乘法器

ALU

閂鎖器

脈衝偵測

計數器

多工器

暫存器群

記憶體

延遲問題

浮點數

狀態機

程式計數器

CPU0-Mini

CPU0

pipeline

工具

QuartusII

Icarus

Veritek

訊息

相關網站

參考文獻

最新修改

簡體版

English

脈衝偵測電路

ptd.jpg

D 型正反器

300px-D-Type_Transparent_Latch.svg.png

Verilog 程式:ptd.v

`timescale 10ns/1ns

module ptd(input clk, output ppulse);

not g1(nclkd, clk);
nand g2(npulse, nclkd, clk);
not g3(ppulse, npulse);

endmodule

module enLatch(input S, R, en, output Q, Qbar);

nand gen1(S1, en, S);
nand gen2(R1, en, R);
nand g1(Q, S1, Qbar);
nand g2(Qbar, R1, Q);

endmodule

module main;
reg clk, D;
wire en, Q, Qbar, Dbar;

ptd ptd1(clk, en);
not not1(Dbar, D);
enLatch latch1(D, Dbar, en, Q, Qbar);

initial
begin
  clk = 0;
  D = 0;
end

always #1 begin
  $monitor("%4dns monitor: clk=%d en=%d D=%d Q=%d Qbar=%d", 
           $stime, clk, en, D, Q, Qbar);
end

always #20 begin
  clk = clk + 1;
end

always #40 begin
  D = D + 1;
end

initial #100 $finish;

endmodule

Icarus 執行結果

D:\ccc101\Verilog>iverilog ptd.v -o ptd

D:\ccc101\Verilog>vvp ptd
   1ns monitor: clk=0 en=0 D=0 Q=x Qbar=x
   2ns monitor: clk=0 en=0 D=0 Q=x Qbar=x
   3ns monitor: clk=0 en=0 D=0 Q=x Qbar=x
   4ns monitor: clk=0 en=0 D=0 Q=x Qbar=x
   5ns monitor: clk=0 en=0 D=0 Q=x Qbar=x
   6ns monitor: clk=0 en=0 D=0 Q=x Qbar=x
   7ns monitor: clk=0 en=0 D=0 Q=x Qbar=x
   8ns monitor: clk=0 en=0 D=0 Q=x Qbar=x
   9ns monitor: clk=0 en=0 D=0 Q=x Qbar=x
  10ns monitor: clk=0 en=0 D=0 Q=x Qbar=x
  11ns monitor: clk=0 en=0 D=0 Q=x Qbar=x
  12ns monitor: clk=0 en=0 D=0 Q=x Qbar=x
  13ns monitor: clk=0 en=0 D=0 Q=x Qbar=x
  14ns monitor: clk=0 en=0 D=0 Q=x Qbar=x
  15ns monitor: clk=0 en=0 D=0 Q=x Qbar=x
  16ns monitor: clk=0 en=0 D=0 Q=x Qbar=x
  17ns monitor: clk=0 en=0 D=0 Q=x Qbar=x
  18ns monitor: clk=0 en=0 D=0 Q=x Qbar=x
  19ns monitor: clk=0 en=0 D=0 Q=x Qbar=x
  20ns monitor: clk=1 en=0 D=0 Q=0 Qbar=1
  21ns monitor: clk=1 en=0 D=0 Q=0 Qbar=1
  22ns monitor: clk=1 en=0 D=0 Q=0 Qbar=1
  23ns monitor: clk=1 en=0 D=0 Q=0 Qbar=1
  24ns monitor: clk=1 en=0 D=0 Q=0 Qbar=1
  25ns monitor: clk=1 en=0 D=0 Q=0 Qbar=1
  26ns monitor: clk=1 en=0 D=0 Q=0 Qbar=1
  27ns monitor: clk=1 en=0 D=0 Q=0 Qbar=1
  28ns monitor: clk=1 en=0 D=0 Q=0 Qbar=1
  29ns monitor: clk=1 en=0 D=0 Q=0 Qbar=1
  30ns monitor: clk=1 en=0 D=0 Q=0 Qbar=1
  31ns monitor: clk=1 en=0 D=0 Q=0 Qbar=1
  32ns monitor: clk=1 en=0 D=0 Q=0 Qbar=1
  33ns monitor: clk=1 en=0 D=0 Q=0 Qbar=1
  34ns monitor: clk=1 en=0 D=0 Q=0 Qbar=1
  35ns monitor: clk=1 en=0 D=0 Q=0 Qbar=1
  36ns monitor: clk=1 en=0 D=0 Q=0 Qbar=1
  37ns monitor: clk=1 en=0 D=0 Q=0 Qbar=1
  38ns monitor: clk=1 en=0 D=0 Q=0 Qbar=1
  39ns monitor: clk=1 en=0 D=0 Q=0 Qbar=1
  40ns monitor: clk=0 en=0 D=1 Q=0 Qbar=1
  41ns monitor: clk=0 en=0 D=1 Q=0 Qbar=1
  42ns monitor: clk=0 en=0 D=1 Q=0 Qbar=1
  43ns monitor: clk=0 en=0 D=1 Q=0 Qbar=1
  44ns monitor: clk=0 en=0 D=1 Q=0 Qbar=1
  45ns monitor: clk=0 en=0 D=1 Q=0 Qbar=1
  46ns monitor: clk=0 en=0 D=1 Q=0 Qbar=1
  47ns monitor: clk=0 en=0 D=1 Q=0 Qbar=1
  48ns monitor: clk=0 en=0 D=1 Q=0 Qbar=1
  49ns monitor: clk=0 en=0 D=1 Q=0 Qbar=1
  50ns monitor: clk=0 en=0 D=1 Q=0 Qbar=1
  51ns monitor: clk=0 en=0 D=1 Q=0 Qbar=1
  52ns monitor: clk=0 en=0 D=1 Q=0 Qbar=1
  53ns monitor: clk=0 en=0 D=1 Q=0 Qbar=1
  54ns monitor: clk=0 en=0 D=1 Q=0 Qbar=1
  55ns monitor: clk=0 en=0 D=1 Q=0 Qbar=1
  56ns monitor: clk=0 en=0 D=1 Q=0 Qbar=1
  57ns monitor: clk=0 en=0 D=1 Q=0 Qbar=1
  58ns monitor: clk=0 en=0 D=1 Q=0 Qbar=1
  59ns monitor: clk=0 en=0 D=1 Q=0 Qbar=1
  60ns monitor: clk=1 en=0 D=1 Q=1 Qbar=0
  61ns monitor: clk=1 en=0 D=1 Q=1 Qbar=0
  62ns monitor: clk=1 en=0 D=1 Q=1 Qbar=0
  63ns monitor: clk=1 en=0 D=1 Q=1 Qbar=0
  64ns monitor: clk=1 en=0 D=1 Q=1 Qbar=0
  65ns monitor: clk=1 en=0 D=1 Q=1 Qbar=0
  66ns monitor: clk=1 en=0 D=1 Q=1 Qbar=0
  67ns monitor: clk=1 en=0 D=1 Q=1 Qbar=0
  68ns monitor: clk=1 en=0 D=1 Q=1 Qbar=0
  69ns monitor: clk=1 en=0 D=1 Q=1 Qbar=0
  70ns monitor: clk=1 en=0 D=1 Q=1 Qbar=0
  71ns monitor: clk=1 en=0 D=1 Q=1 Qbar=0
  72ns monitor: clk=1 en=0 D=1 Q=1 Qbar=0
  73ns monitor: clk=1 en=0 D=1 Q=1 Qbar=0
  74ns monitor: clk=1 en=0 D=1 Q=1 Qbar=0
  75ns monitor: clk=1 en=0 D=1 Q=1 Qbar=0
  76ns monitor: clk=1 en=0 D=1 Q=1 Qbar=0
  77ns monitor: clk=1 en=0 D=1 Q=1 Qbar=0
  78ns monitor: clk=1 en=0 D=1 Q=1 Qbar=0
  79ns monitor: clk=1 en=0 D=1 Q=1 Qbar=0
  80ns monitor: clk=0 en=0 D=0 Q=1 Qbar=0
  81ns monitor: clk=0 en=0 D=0 Q=1 Qbar=0
  82ns monitor: clk=0 en=0 D=0 Q=1 Qbar=0
  83ns monitor: clk=0 en=0 D=0 Q=1 Qbar=0
  84ns monitor: clk=0 en=0 D=0 Q=1 Qbar=0
  85ns monitor: clk=0 en=0 D=0 Q=1 Qbar=0
  86ns monitor: clk=0 en=0 D=0 Q=1 Qbar=0
  87ns monitor: clk=0 en=0 D=0 Q=1 Qbar=0
  88ns monitor: clk=0 en=0 D=0 Q=1 Qbar=0
  89ns monitor: clk=0 en=0 D=0 Q=1 Qbar=0
  90ns monitor: clk=0 en=0 D=0 Q=1 Qbar=0
  91ns monitor: clk=0 en=0 D=0 Q=1 Qbar=0
  92ns monitor: clk=0 en=0 D=0 Q=1 Qbar=0
  93ns monitor: clk=0 en=0 D=0 Q=1 Qbar=0
  94ns monitor: clk=0 en=0 D=0 Q=1 Qbar=0
  95ns monitor: clk=0 en=0 D=0 Q=1 Qbar=0
  96ns monitor: clk=0 en=0 D=0 Q=1 Qbar=0
  97ns monitor: clk=0 en=0 D=0 Q=1 Qbar=0
  98ns monitor: clk=0 en=0 D=0 Q=1 Qbar=0
  99ns monitor: clk=0 en=0 D=0 Q=1 Qbar=0
 100ns monitor: clk=1 en=0 D=0 Q=0 Qbar=1

Facebook

Unless otherwise stated, the content of this page is licensed under Creative Commons Attribution-NonCommercial-ShareAlike 3.0 License