quartus call&designDフリップフロップ-シミュレーションとタイミング波の検証

目次

1. Quartus-IIでゲート回路を備えたDフリップフロップを設計し、シミュレーションとタイミング波形の検証を実行します
。2。シミュレーションとタイミング波形の検証のためにQuartus-IIでDフリップフロップ回路を直接呼び出し、2で実行します。 。比較;
3。シミュレーション検証のためにQuartus-IIでVerilog言語でDフリップフロップを作成します

1つは、Dフリップフロップを認識します

Dフリップフロップは、メモリ機能と2つの安定状態を備えた情報記憶装置であり、さまざまな構成时序电路的最基本逻辑单元があり、デジタル論理回路の重要なユニット回路でもあります
Dフリップフロップ时钟脉冲CP的前沿(正跳变0→1)发生翻转フリップフロップの2番目の状態は、CPパルスの立ち上がりエッジの前のD端子の状態に依存し次态=Dます。したがって、設定0と設定1の2つの機能があります。回路はCP = 1の間にブロッキング効果があるため、CP = 1の間に、D端子のデータ状態が変化します。これはフリップフロップの出力状態には影響しません。
Dフリップフロップは広く使用されており、デジタル信号レジスタ、シフトレジスタ、周波数分割、波形発生器などとして使用できます。

1.構造

Dフリップフロップ(データフリップフロップまたは遅延フリップフロップ)は4つのNANDゲートで構成され、そのうちG1とG2が基本的なRSフリップフロップを構成します。レベルトリガーのマスタースレーブトリガーが機能する場合、入力信号を立ち上がりエッジの前に追加する必要があります。CPのハイレベル中に入力に干渉信号があると、フリップフロップの状態が間違っている可能性があります。エッジトリガーを使用すると、CPトリガーエッジの直前に入力信号を追加できます。このようにして、入力端子が妨害される時間が大幅に短縮され、妨害される可能性が低減される。エッジDフリップフロップは、サステインブロッキングエッジDフリップフロップとも呼ばれます。エッジDフリップフロップは、2つのDフリップフロップを直列に接続することで形成できますが、最初のDフリップフロップのCPはNOTゲートで反転する必要があります。

2.機能

機能表の
ここに画像の説明を挿入
タイミング図
ここに画像の説明を挿入

Dフリップフロップの簡単な紹介です。Dフリップフロップの詳細については、以下のリンクを参照してください
。Dフリップフロップ

2.デザインDフリップフロップとタイミング検証

1.プロジェクトを作成します

ファイル->新しいプロジェクトウィザード
ここに画像の説明を挿入
でプロジェクト名を編集し、[次へ]をクリック
ここに画像の説明を挿入
して適切なチップとそのシリーズ選択ます
ここに画像の説明を挿入

次の
ここに画像の説明を挿入
プロジェクトが直接作成されたら、[完了]をクリックします
ここに画像の説明を挿入

2.ボックスファイルを作成します

[新規]をクリックして、
ここに画像の説明を挿入
赤いボックスの署名選択ます。nand2、2つの入力NANDゲートを選択し、4つのnand2と1つのnotゲートを順番に追加します追加後、接続ツールを選択すると、接続効果は図のようになります(double-マウスをクリック)ピン名を変更可能)回路図を保存
ここに画像の説明を挿入

ここに画像の説明を挿入

ここに画像の説明を挿入

ここに画像の説明を挿入

ここに画像の説明を挿入

![ここに画像の説明を挿入](https://img-blog.csdnimg.cn/20210331223257691.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0LFF_color=

ここに画像の説明を挿入

3.回路図ファイルをコンパイルします

回路図を
ここに画像の説明を挿入
コンパイルするインターフェイス
ここに画像の説明を挿入
RTLビューアをコンパイルし、ハードウェア回路
ここに画像の説明を挿入
図を表示する回路
ここに画像の説明を挿入

4.vwmウェーブファイルを作成します


ここに画像の説明を挿入

ここに画像の説明を挿入
示すように、アイコンvwm操作を選択します。ノードまたはバス
ここに画像の説明を挿入
エフェクト表示の追加
ここに画像の説明を挿入
入力信号clkの編集、クロック信号の生成
ここに画像の説明を挿入
マウスでD、Q信号Q_nを選択し、編集します(マウスの左ボタンを選択してダブルクリックすると、値)
ここに画像の説明を挿入

5.タイミング波形シミュレーション

コンパイル
ここに画像の説明を挿入

エラーが発生しました
ここに画像の説明を挿入
。modelsim
ここに画像の説明を挿入
ここに画像の説明を挿入
エラーレポートソリューションを接続します。
ここに画像の説明を挿入
ここに画像の説明を挿入
結果を図に示します。
ここに画像の説明を挿入
シミュレーション結果
ここに画像の説明を挿入

3つ目は、Dフリップフロップとタイミング検証を呼び出す

1.ボックスファイルを作成します

プロジェクトの作成方法は上記と同じです
。Dトリガーを呼び出して
ここに画像の説明を挿入
ピンを接続すると、図のようになります(Ctrl +マウスホイールでトリガーピンをズームできます)。
ここに画像の説明を挿入

2.回路図をコンパイルします

ハードウェア図を表示
ここに画像の説明を挿入
コンパイル
ここに画像の説明を挿入

3.vwm波形ファイルとシミュレーションを作成します

波形
ここに画像の説明を挿入
タイミングシミュレーション結果
ここに画像の説明を挿入

第4に、Dフリップフロップとタイミング検証を実現するためのVerilog言語

1.Verilogファイルを書き込む

最初にプロジェクトを
作成します。方法は上記と同じです。Verilogファイルを作成し、file-newをクリックして
ここに画像の説明を挿入
、次のコード貼り付けます。

//demo是文件名
module demo(d,clk,q);
    input d;
    input clk;
    output q;

    reg q;

    always @ (posedge clk)//我们用正的时钟沿做它的敏感信号
    begin
        q <= d;//上升沿有效的时候,把d捕获到q
    end
endmodule

ここに画像の説明を挿入
保存してコンパイルします
ここに画像の説明を挿入

2.生成された回路図を表示します

ここに画像の説明を挿入

3.タイミングシミュレーションをテストします

コードは以下のように表示されます

//测试代码
`timescale 1ns / 1ns

module demo_tb;
    reg clk,d;
    wire q;

    demo u1(.d(d),.clk(clk),.q(q));

    initial
    begin
        clk = 1;
        d <= 0;
        forever
        begin
            #60 d <= 1;//人为生成毛刺 
            #22 d <= 0;
            #2  d <= 1;
            #2  d <= 0;
            #16 d <= 0;//维持16ns的低电平,然后让它做周期性的循环
        end
    end

    always #20 clk <= ~clk;//半周期为20ns,全周期为40ns的一个信号
endmodule


ここに画像の説明を挿入
シミュレーションレンダリングを保存してコンパイルします
ここに画像の説明を挿入

5、要約および参考資料

1.まとめ

Dフリップフロップとタイミングシミュレーションのプロセス中、Dフリップフロップの基本的な機能は、リセット信号が1の場合、CLKの立ち上がりエッジによってQ値が変化することです。このことから、サブステート方程式はQ n + 1 = Dであると結論付けることができます。

2.参考資料

Quartus IIのシミュレーションツールを使用しています
のQuartus II-入力回路図とシミュレーション
steps.docxのQuartus-II13.1 Dフリップフロップおよびタイミングシミュレーションを達成するための3つの方法

おすすめ

転載: blog.csdn.net/QWERTYzxw/article/details/115359118