ISE Fundamentals of Digital Logic with VHDL Design

静的ハザード / 非公式訳

pp.576-578 9.6.1 静的ハザード 図9.62aに、静的ハザードの発生する回路を示します。今この回路がx1=x2=x3=1であるとします。このときf=1です。さてこの状態からx1が1から0に変化したとします。それでもやはり論理だけを考えればこの回路はf=1を保ってしかる…

ハザード、ヒゲ / 非公式訳

/hǽzɚd | -zəd/ p.557 9.6 ハザード 非同期順序回路は、望ましくないグリッチが信号に生じないようにすることが大切です。設計者は、グリッチの原因として考えられることを把握し、回路の状態が変化してもグリッチの生じないようにしなければなりません。回…

7.2 シンプルなプロセッサー / 非公式訳

pp.408-413 7.2 シンプルなプロセッサー 図7.2に示したのと同じようなディジタルシステムをもう一例、図7.9に示します。4つのnビットレジスタ(R0~R3)がトライステートドライバーを介してバスに接続されています。各レジスタへは、nビットのData入力から外部…

シンプルなステートマシンの例 / ミーリータイプ

pp.341-343 2クロック続けて入力wが1のとき出力zを1にする。それ以外はzは0。 シンプルなステートマシンの例 / ムーアタイプ / 別の記述法 -の続き。今度はミーリータイプに書き換える。これだとステートが2つで済む。 library ieee; use ieee.std_logic_116…

シンプルなステートマシンの例 / ムーアタイプ / 別の記述法

pp.337-338 前回と同じステートマシンを別の方法で記述する。processを2つに分ける。最初のprocessには組み合わせ回路として状態テーブルを記述する。2つ目のprocessにはDフリップフロップを記述する。 library ieee; use ieee.std_logic_1164.all; entity s…

シンプルなステートマシンの例 / ムーアタイプ

pp.311-334 仕様: 2クロック続けて入力wが1のとき出力zが1になる。それ以外はzは0。 ステートマシン: 初期状態はA。 w=1が1回検出されると状態Bへ遷移。次のクロックでw=0なら状態Aへ戻る。 状態Bにいるときにw=1が検出されると(すなわち2回連続してw=1が検…

clocked into

p.315 The most straightforward choice is to use D-type flip-flops, because in this case the values of Y1 and Y2 are simply clocked into the flip-flops to become the new values of y1 and y2. 非公式訳: 一番手っ取り早いのはDフリップフロップを…

ムーアタイプ、ミーリータイプ、有限状態マシン

p.310 非公式訳 図6.1は、順序回路の出力が別の組み合わせ回路によって生成されることを示しています。つまり出力は、フリップフロップの現在の状態と最初の入力信号との函数であるということです。出力は必ず現在の状態に依存しますが、必ずしも最初の入力…

SRラッチ

pp. 232-234 最も基本的なラッチ回路である。.sofファイルしか書き込めなかった。原因は分からない。 youtu.be

演算子の優先順位 / 非公式訳

pp.214-215 非公式訳 演算子の優先順位 演算子はカテゴリーによって優先順位が異なります。カテゴリーの同じ演算子は、優先順位が同じであり、記述された式の左から右へ向かって順番に評価されます。演算の順番を明示したいときは積極的に括弧を使うよう習慣…

BCD加算器 / 1桁

p.159-163 10進数1桁同士の加算器を作る。使うライブラリーが違う以外はほぼテキストのままである。 シミュレーション結果: library ieee; use ieee.std_logic_1164.all; use ieee.numeric_std.all; entity adder_bcd_1_digit is port ( x: in std_logic_vec…

単精度浮動小数点形式 / 非公式訳

pp.157-158 単精度浮動小数点形式 図3.30aに単精度浮動小数点数を表現するための形式を示します。左端のビットが符号ビットSです。0は正の数を、1は負の数をそれぞれ表します。8ビットの指数部Eと23ビットの假数部Mとがあります。指数の底は2です。非常に大…

乗算回路 / 符号なし / 筆算の手順を実装する

pp.154-155 Figure 3.28の手順をそのままVHDLで表現する。いわゆる筆算の手順である。ライブラリーによる乗算も実行して比較できるようにする。Figure 3.28はリップルキャリーアダーを使っているが今回は、「nビット加算器 / キャリールックアヘッドアダー /…

nビット加算器 / キャリールックアヘッドアダー / シミュレーション

nビット加算器 / キャリールックアヘッドアダー / キャリーの遅延を見る -の続き。シミュレーターで動かなかったので書き直した。生成される回路は同じである。 ファイル一式: https://github.com/ti-nspire/VHDL_for_Quartus_Prime/tree/main/n_bits_adder_…

nビット加算器 / キャリールックアヘッドアダー / キャリーの遅延を見る

pp.138-143 nビット加算器 / キャリールックアヘッドアダー -の続き 8ビット幅のキャリールックアヘッドアダーを作ってキャリーの遅延を見てみる。xは全部1、yは全部0にして、FGからキャリーインとしてパルスを入力する。 library ieee; use ieee.std_logic_…

nビット加算器 / キャリールックアヘッドアダー

pp.138-143 nビット加算器 / リップルキャリーアダー / キャリーの遅延する様子を見る -の続き もちろん普通はロジック回路を組むようなことはせずにただ+演算子を使って足し算をするだけである。 上の式から分かるように、p、gを生成する手段としてandゲー…

算術オーバーフロー / 非公式訳

p.137 非公式訳: 算術オーバーフローを検出するのには別の方法があります。もっと直観的な方法です。オーバーフローが生じるのは、加数の符号が両方とも同じであるのにその符号と加算結果の符号とが異なっている場合です。X=X3X2X1X0、Y=Y3Y2Y1Y0が4ビットの…

1の補数の加算 / 非公式訳

pp.128-129 非公式訳: 1の補数表現の利点の1つは、正の数の全ビットを反転するだけで負の数が得られることです。図3.8に、2つの数を加算するときのプロセスを示します。正負符号の組み合わせとして考えられる4通りすべてについて検討します。図の上半分に示…

2の補数を見つけるためのルール / 非公式訳

訳註: 反転して1を足す、という操作のことである。 p.127 非公式訳: 或数の2の補数は、元の数の各ビットを右から左へ順に調べていって下の操作を行えば見つかります。 0である限りそのまま残す。 最初に見つかった1もそのまま残す。 それ以降は残りの全ビッ…

符号つき数字

p.124 非公式訳: 十進数は、最上位桁の左側に+記号または-記号をつけて符号を示します。二進数は左端ビットで符号を示します。正数は左端ビットが0、負数は左端ビットが1です。したがって符号つき数字は、図3.7に示したように左端ビットで符号を表現し、残り…

identityとpropertyと

Fundamentals of Digital Logic with VHDL Design ISE, p.32 To enable us to deal with a number of variables, it is useful to define some two- and three-variable algebraic identities. For each identity, its dual version is also given. These id…