ログイン
ユーザ名:

パスワード:


パスワード紛失

新規登録
Main Menu
Tweet
Facebook
Line
:-?
フラット表示 前のトピック | 次のトピック
投稿者 スレッド
webadm
投稿日時: 2006-3-18 13:44
Webmaster
登録日: 2004-11-7
居住地:
投稿: 3093
回路図入力してみた結果
先の真理値表から簡易的に導き出した論理式をそのまま回路図入力して仕様である真理値表と同じ結果が得られるか確認してみた。

MAX+PLUSIIに入力したジャンケン装置の回路図

簡単に検証するために6つの入力にそれぞれクロックをベースにしてカウンター値を与えてすべての組み合わせ(64通り)についてシミュレーションしてみた。

MAX+PLUSIIによるジャンケン装置のシミュレーション結果

一応OAKIKO,KACHI1,KACHI2はそれぞれ64通りの中で3通りだけが1を出力しそれ以外は0を出力している。おのおの1を出力する際の入力条件は仕様である真理値表と一致しているのが確認できる。よく見るとヒゲが所々に出ているが、これは複数の信号が同時期に変化する際に入力信号が変化中にたまたま出力1となる条件を満たしてしまう非同期回路につきまとう現象である。

MAX+PLUSIIが入力した回路図をどのようにFPGAにマッピングしているかはreportファイル(.rpt)を見るとかかれている。良く見ると入力した回路とは似てもにつかぬものが合成されていることが確認できる。実際に論理が等価であることはシミュレーション結果を見れば一目瞭然。

MAX+PLUSIIのFPGAマッピングレポート

以下にFPGAにマッピングされた論理式を抜粋、!、&、#をそれぞれNOT,AND,ORに読み替えるば良い。

-- Node name is 'KACHI1'
-- Equation name is 'KACHI1', type is output
KACHI1 = _LC1_B2;

-- Node name is 'KACHI2'
-- Equation name is 'KACHI2', type is output
KACHI2 = _LC2_B1;

-- Node name is 'OAIKO'
-- Equation name is 'OAIKO', type is output
OAIKO = _LC1_B1;

-- Node name is '~9~1'
-- Equation name is '~9~1', location is LC3_B2, type is buried.
-- synthesized logic cell
_LC3_B2 = LCELL( _EQ001);
_EQ001 = !CHOKI2 & !PAA1 & PAA2;

-- Node name is ':9'
-- Equation name is '_LC4_B2', type is buried
_LC4_B2 = LCELL( _EQ002);
_EQ002 = CHOKI1 & !GOO1 & !GOO2 & _LC3_B2;

-- Node name is '~11~1'
-- Equation name is '~11~1', location is LC2_B2, type is buried.
-- synthesized logic cell
_LC2_B2 = LCELL( _EQ003);
_EQ003 = !CHOKI2 & !GOO1 & GOO2 & PAA1
# CHOKI2 & GOO1 & !GOO2 & !PAA1;

-- Node name is ':11'
-- Equation name is '_LC1_B2', type is buried
_LC1_B2 = LCELL( _EQ004);
_EQ004 = _LC4_B2
# !CHOKI1 & _LC2_B2 & !PAA2;

-- Node name is '~31~1'
-- Equation name is '~31~1', location is LC7_B1, type is buried.
-- synthesized logic cell
_LC7_B1 = LCELL( _EQ005);
_EQ005 = !CHOKI2 & GOO1 & !PAA1 & PAA2
# CHOKI2 & !GOO1 & PAA1 & !PAA2;

-- Node name is ':31'
-- Equation name is '_LC2_B1', type is buried
_LC2_B1 = LCELL( _EQ006);
_EQ006 = !CHOKI1 & !GOO2 & _LC7_B1
# _LC6_B1;

-- Node name is ':32'
-- Equation name is '_LC6_B1', type is buried
_LC6_B1 = LCELL( _EQ007);
_EQ007 = CHOKI1 & !GOO1 & _LC4_B1;

-- Node name is '~43~1'
-- Equation name is '~43~1', location is LC5_B1, type is buried.
-- synthesized logic cell
_LC5_B1 = LCELL( _EQ008);
_EQ008 = !CHOKI1 & !CHOKI2 & PAA1 & PAA2
# CHOKI1 & CHOKI2 & !PAA1 & !PAA2;

-- Node name is ':43'
-- Equation name is '_LC1_B1', type is buried
_LC1_B1 = LCELL( _EQ009);
_EQ009 = !GOO1 & !GOO2 & _LC5_B1
# _LC3_B1;

-- Node name is '~44~1'
-- Equation name is '~44~1', location is LC4_B1, type is buried.
-- synthesized logic cell
_LC4_B1 = LCELL( _EQ010);
_EQ010 = !CHOKI2 & GOO2 & !PAA1 & !PAA2;

-- Node name is ':44'
-- Equation name is '_LC3_B1', type is buried
_LC3_B1 = LCELL( _EQ011);
_EQ011 = !CHOKI1 & GOO1 & _LC4_B1;

もう人間が目で確認できるレベルでは無くなってしまっている。それはもうデザインツールのバグが無い限り不要である。
フラット表示 前のトピック | 次のトピック

題名 投稿者 日時
   デザインのウォーミングアップから webadm 2006-3-18 13:43
   » 回路図入力してみた結果 webadm 2006-3-18 13:44
     HDLで入力してみた結果 webadm 2006-3-18 22:02
     ウォーミングアップ後のもろもろの感想 webadm 2006-3-18 23:11

投稿するにはまず登録を
 
ページ変換(Google Translation)
サイト内検索