2008年12月 1日

はてなブックマークに追加   第4章 マイクロプロセッサ 4.4 通常のBCD 変換器LED 表示

4.4 通常のBCD 変換器LED 表示

 これまでに論理設計で作ったBCD 変換器とLED 表示器を手続きにしてライブラリを作ります。このライブラリから手続きを引用してふたつの論理設計をひとつにまとめます。
 

続きを読む> 「第4章 マイクロプロセッサ 4.4 通常のBCD 変換器LED 表示」 »

2008年11月28日

はてなブックマークに追加   第4章 マイクロプロセッサ 4.3 通常の3 桁表示器

4.3 通常の3 桁表示器

 BCD の3 桁を7 セグメントLED にダイナミック・ドライブで表示するための表示器です。図4.15 のように桁の切り替えはSCLK で行いますが、桁と桁の間に全消灯の期間を設けています。

FIG67.jpg
図4.15 7 セグメントLED 表示器ダイナミック・ドライブの実行

続きを読む> 「第4章 マイクロプロセッサ 4.3 通常の3 桁表示器」 »

2008年11月27日

はてなブックマークに追加   第4章 マイクロプロセッサ 4.2 通常のBCD 変換器

4.2 通常のBCD 変換器

 リスト58 は、8 ビットの値をBCD の3 桁の値にする変換器の変換部分です。
◆100 の位
 adata は8 ビットなので100 で除算した場合は0?2 の値になります。p は100 の位を求める計算の結果を代入しています。
◆10 の位 
 10 の位の計算は、adata を10 で除算した値から100 の位の値を10 倍して減算します。t は10 の位を求める計算の結果を代入しています。
◆1 の位 
 adata を10 で除算した余りが1 の位の値になります。rは1 の位を求める計算の結果を代入しています。
◆100 の位の値の10 倍 
 10 の位を計算するのに100 の位の値の10 倍の値が必要ですが、この計算はp × 10 = p × 8 + p × 2 です。
 
  • 2 進数のp × 8 はp を上位に3 ビット移動した値です。
  • 2 進数のp × 2 はp を上位に1 ビット移動した値です。
  • p の10 倍はp>>3+p>>1 になります。
 
 s は100 の位の値の10 倍の値を求める計算の結果を代入しています。
◆計算の終了 
 本論理では8 ビットの記憶式の除算器を使っています。この行程の終了が変換の終了を示します。変換の終了を示すのにq の計算の終了を示すq.8 をACK に代入しています。

リスト58 BCD 変換器
logicname bcdconv

entity main
input RESET; { 初期化}
input REQ; { 変換要求}
input ADATA[8]; { データ}
output BCD0P[4]; { BCD 第1 桁}
output BCD1P[4]; { BCD 第2 桁}
output BCD2P[4]; { BCD 第3 桁}
output ACK;

bitn adata[8]; { データ仲介}
bitn p[8]; { 100 の位計算}
bitn q[8]; { 10 の位計算a}
bitn r[8]; { 1 の位}
bitn s[8]; { p の10 倍}
bitn t[8]; { 10 の位計算b }

  BCD0P=r.0:3;
  BCD1P=t.0:3;
  BCD2P=p.0:3;
  ACK=q.8;

  adata=ADATA;

  if (!RESET&!REQ)
    p=adata/100; { 100 の位の計算}
  endif

  if (!RESET&!REQ)
    q=adata/10; { 10 の位の計算a }
  endif

  if (!RESET&!REQ)
    r=adata%10; { 1 の位の計算}
  endif

  s=p>>3+p>>1; { p の10 倍}

  t=q-s.0:7; { 10 の位の計算b }

ende

続きを読む> 「第4章 マイクロプロセッサ 4.2 通常のBCD 変換器」 »

2008年11月19日

はてなブックマークに追加   第4章 マイクロプロセッサ 4.1 LED の点灯の移動(4.1.3 プロセッサの組み込み、4.1.4 追加命令のマクロ、4.1.5 デバイス)

4.1.3 プロセッサの組み込み
 図4.1 の動きをするリスト40 のプログラムを実行するためのプロセッサを組み込みます。PPUSAMPLE0.L を抜粋して説明しますので、全部は PPUSAMPLE0_L.pdfを見てください。
 プロセッサの基本部分にはレジスタは1本もありません。フラグも基本命令の論理演算の結果を記憶するフラグがありますが、条件分岐で利用できるだけで直接参照することはできません。組み込みに当たっては、レジスタを1本とフラグを1本と必要な命令を2 個作ります。

続きを読む> 「第4章 マイクロプロセッサ 4.1 LED の点灯の移動(4.1.3 プロセッサの組み込み、4.1.4 追加命令のマクロ、4.1.5 デバイス)」 »

2008年11月12日

はてなブックマークに追加   第4章 マイクロプロセッサ 4.1 LED の点灯の移動(4.1.2 プロセッサ基本論理)

4.1.2 プロセッサ基本論理
 プロセッサの基本部分の論理を抜粋して説明します。全部は PPU_L.pdfを見てください。

◆プログラム・カウンタ
 リスト43 はプログラム・カウンタの論理です。プログラム・カウンタは、分岐命令がなければregPC=regPC+1 になります。分岐命令があればregPC=jmpcode になります。割り込みがあったときはregPC.0:7=PORT0IN になります。
 プログラム・カウンタの動きは、図4.7 のADDRESS を見てください。

続きを読む> 「第4章 マイクロプロセッサ 4.1 LED の点灯の移動(4.1.2 プロセッサ基本論理)」 »

2008年11月10日

はてなブックマークに追加   第4章 マイクロプロセッサ 4.1 LED の点灯の移動(4.1.1 プロセッサ)

4.1 LED の点灯の移動

 LED の点滅が図4.1 のように右に行ったり左に行ったりするものを、リスト40 のプログラムで動かすチップを作りたいと思います。プログラムの意味は、図4.2 のフローチャートに示します。

FIG57.jpg
図4.1 LED の移動点灯

続きを読む> 「第4章 マイクロプロセッサ 4.1 LED の点灯の移動(4.1.1 プロセッサ)」 »

2008年10月31日

はてなブックマークに追加   第3章 言語による論理設計 3.7 マイクロプロセッサ(2)

3.7.7 プログラム・カウンタ
 本プロセッサはすべての命令を1CLK で実行するので、プログラム・カウンタを停止する制御はありません。リスト34 のcodepoint がプログラム・カウンタです。なにもなければひとつずつ増えていきますが、分岐条件と合ったときはcodepoint にcoded が記憶されます。

リスト34 プログラム・カウンタ

続きを読む> 「第3章 言語による論理設計 3.7 マイクロプロセッサ(2)」 »

2008年10月28日

はてなブックマークに追加   第3章 言語による論理設計 3.7 マイクロプロセッサ(1)

3.7 マイクロプロセッサ

 マイクロプロセッサが独立していて周辺とアドレス・バスやデータ・バス、I/O を通じてつながっている今までの姿と違ったマイクロプロセッサの姿について考えてみます。
 ここでは、メモリのデータを小さい順番に並び替えるプログラムを実行する専用のプロセッサの論理を部分的に抜粋して説明します。論理譜と検証の全部は次のファイルを参照してください。

   ・論理譜: LDL08H06A.pdf
   ・検証: SIM08H06A.pdf

続きを読む> 「第3章 言語による論理設計 3.7 マイクロプロセッサ(1)」 »

2008年10月23日

はてなブックマークに追加   第3章 言語による論理設計 3.6 データ操作

3.6 データ操作

 チップ内のメモリのデータを小さい順番に並び替える論理を部分的に抜粋して説明します。論理譜と検証の全部は、次のファイルを参照してください。

続きを読む> 「第3章 言語による論理設計 3.6 データ操作」 »

2008年10月21日

はてなブックマークに追加   第3章 言語による論理設計 3.5 除算器

3.5 除算器
 除数を12、被除数を3456 として図3.31 に筆算の計算をしてみます。計算は1 桁ずつ押し出されていく被除数と除数を比較して、押し出された被除数が除数よりも大きいか同じときは押し出された被除数から除数の整数倍を負にならない範囲で減算します。いくつ整数倍したかが商になります。被除数は4 桁なのでこの行程は4 回必要です。

続きを読む> 「第3章 言語による論理設計 3.5 除算器」 »


PDFアーカイブ

カレンダ

2008年12月
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30 31

おすすめ書籍

最近のコメント

会社案内
情報セキュリティおよび個人情報の取り扱いについて

コメントとトラックバックは、spamを予防するために、編集担当が公開の作業をするまで非公開になっています。
コメントはそれぞれ投稿した人のものです。