さてやっとこさ VHDL
やっと VHDL を書く環境(体制)に戻った。なにをするか?究極の目的はプロセッサーを作る環境。オペコードとコンパイラを総合的に用意する。
中心となる技術は Lisp と C++ になるだろう。ってことで早速 Lisp で VHDL を書いてみる。
(:vhdl (:library IEEE) (:use IEEE.std_logic_1164.all) (:entity HALF_ADDR (:port (:port-declare a :in :std_logic) (:port-declare b :in :std_logic) (:port-declare s :out :std_logic) (:port-declare co :out :std_logic))) (:architecture (:vhdl-symbol |DATAFLOW of HALF_ADDR|) (:signal c :std_logic) (:signal d :std_logic) (:architecture-body (:<= c (:or a b)) (:<= d (:nand a b)) (:<= co (:not d)) (:<= s (:and c d)))))
これをパージングして(もうパージングされているが、、、)VHDL を出力する(まわりくどいだけ)のが当面の目標か。
そんでもって、以前作った Lisp の回路シミュレータ(ってほどのものではない。単に SICP のパクリ。common lisp 版) にかませると一応シミュレートできたりするはずだ。
うまく構造化すれば LUT 対応もできるはずなので、そうすると今度は FPGA のプリミティブに当てはめるということもできる(理論的にはできる)はずだ。