Verilogの基本システムタスク

システムタスク モニタータスク モニタータスク$monitorは、指定されたパラメータを継続的に監視し、パラメータの値が変化したときにその値を表示します。フォーマットは$displayや$writeと同様です。パラメータには$timeシステム関数を使用できます。 // 例: D, Clk, Qの値を監視 initial begin $monitor("At %t, D=%b, Clk=%b and Q is %b", $time, D, C ...

8月8日 21:30 投稿

高速加算器とALUの設計と実装

先行キャリ加算器の設計 加算器の性能向上にはキャリ信号の先行計算が有効です。キャリ・ルックアヘッド加算器(Carry Lookahead Adder)は、生成信号(Gi)と伝播信号(Pi)を用いて高速な加算を実現します。 キャリ先行原理 各ビット位置iにおける生成信号と伝播信号は以下のように定義されます: Gi = Ai & Bi Pi = Ai ^ Bi キャリ信号は再帰的に表現できます: C1 = G0 | ( ...

8月6日 11:24 投稿

UART通信におけるRS232送信モジュールの実装

UART送信モジュールの設計概要 UART通信の送信モジュールをVerilog HDLで実装する際の主要な構成要素: /* 標準的なボーレート設定: 4800, 9600, 14400, 115200 bps 50MHzシステムクロック時のカウント値: (1/4800) * 10^9 /20 -1 = 10416 (1/9600) * 10^9 /20 -1 = 5207 (1/14400) * 10^9 /20 -1 = 3471 (1/115200)* 10^9 /20 -1 = 433 */ module uart_transmitter ( ...

7月30日 22:39 投稿

デジタル集積回路設計:基礎概念からVerilogHDLによる論理設計まで

1. デジタルIC設計の基礎概念1.1 抽象化と階層化の意義集積回路設計では、複雑系を管理するために抽象化と階層化の概念を導入する。一般的に、システムレベル、モジュールレベル、ゲートレベル、回路レベル、デバイスレベルの5つの層に分割して設計が進められる。この階層化がもたらす主な利点は以下の通りである:設計の生産性が向上し、大規模回路の構築が可能になる。設 ...

7月28日 21:57 投稿

2対4デコーダとエンコーダ回路のVerilog設計手法

2対4デコーダの論理構成 2ビットの選択信号に基づき、4本の出力線の中から1本のみをアクティブレベルに切り替える組合せ回路です。制御信号が非アクティブの場合は全出力がリセットされます。 module dec_2to4 ( input wire enable_ctrl, input wire [1:0] addr_sel, output reg [3:0] led_drv ); always @(*) begin if (enable_ctrl) be ...

7月12日 23:31 投稿

FPGAにおけるリセットアーキテクチャと設計手法

リセット方式の分類と特徴 FPGA設計におけるリセット戦略は、回路の信頼性とタイミング収束に直接影響を与える重要な要素です。一般的に、リセット方式は「同期リセット」と「非同期リセット」の2つに大別されます。 同期リセット (Synchronous Reset): リセット信号のアサートおよびリリースがクロックのエッジに同期して行われます。タイミング解析が容易であり、メタス ...

7月12日 23:12 投稿

VivadoとVerilogを用いたMinisysプラットフォームのデジタル回路開発入門

開発環境と目的 Vivadoの開発フロー(設計入力、シミュレーション、論理合成、配置配線、デバイス書き込み)を習得し、Minisys実験ボードの基本的な操作方法を理解することを目的とします。また、Verilog HDLを用いたテキスト入力による論理回路の記述方法を習得します。 実装する回路 24ビットDIPスイッチの入力をそのまま24ビットLEDへ伝達するパススルー回路 ゲートレ ...

7月6日 18:40 投稿

デジタル集積回路の設計課題:順序論理とメモリの実装例

1. 基礎概念問題 1.1 ミーリ状態機械とムーア状態機械の特性と相互関係について説明してください。 ムーア状態機械:出力が現在の状態のみに依存する状態機械。 ミーリ状態機械:出力が現在の状態だけでなく入力にも依存する状態機械。 ミーリ機械とムーア機械は相互に変換可能です。任意のミーリ機械に対して等価なムーア機械が存在し、そのムーア機械の状態数は対応 ...

6月18日 23:06 投稿

デジタル回路における分周クロックのエッジ検出手法

システムの基幹クロックを分周して利用する際、その分周されたクロック信号の特定のタイミング、特に立ち上がりエッジを正確に識別し、それをフラグ信号として利用する必要が生じることがあります。このフラグ信号は、後続のデジタル回路の動作を分周クロックに同期させるために不可欠です。分周比が設計時に既知である場合でも、設計の柔軟性を高め、将来的な分周比の変更 ...

6月18日 00:03 投稿

Verilogで実装するエッジ検出回路:HDLbitsの3つの課題を用いた設計原理と実践的最適化

エッジ検出回路は、デジタルICおよびFPGA設計における基本かつ重要な構成要素であり、同期制御、イベント捕捉、状態遷移トリガなど、多様な用途で不可欠です。本稿では、HDLbits平台上の代表的な3つの課題(edgedetect、edgedetect2、dualedge)を軸に、エッジ検出の論理的根拠、合成可能な実装手法、および実務で直面する課題への対応策を体系的に解説します。 1. 単一エ ...

6月7日 16:58 投稿