フラット表示 | 前のトピック | 次のトピック |
投稿者 | スレッド |
---|---|
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 |
投稿するにはまず登録を | |