CPU実験室

誰も見向きもしない古いCPUをいじって動かしてみようというプロジェクトです

背照LEDの制御

イメージ 1

CPLD内のLEDスキャンレジスタを外部バスからアクセスできるようにして
H8側から見ると5ビットのレジスタが3個見えるようになっています。
この状態でH8のプログラムで背照LEDをランダムに明滅させました。

architecture Behavioral of LEDSCAN is
signal REG0,REG1,REG2 : std_logic_vector(4 downto 0);

begin
process ( WR,RST ) begin
 if(RST = '1') then
  REG0 <="00000";
  REG1 <="00000";
  REG2 <="00000";
 elsif ( WR'event and WR = '1' ) then
  case ADDR is
   when "10" => REG2 <= DATA;
   when "01" => REG1 <= DATA;
   when others => REG0 <= DATA;
  end case;
 end if;
end process;

SEG <= REG0 when LINE = "100" else
    REG1 when LINE = "010" else
    REG2;

end Behavioral;

大昔のSF映画やアニメのコンピュータの表現にマトリックス状のランプの明滅が
よく出てきますがそんな感じです。
あれが実際あるとするとアドレスやデータバス、レジスタの内容をリアルタイムに
表示してるのかもしれませんが、
あったとしても読み取れないだろうし、もしかしたらCPUがホールドせず動いていることの
確認だけだったりして?