CPLDの回路図ファイルをWin98上のProjectNavigator4.2からXP上のWebPackISE8.2iに
持ってきたら74系TTLのモデルライブラリが無くなっているらしく歯抜けになってしまいました。
いずれVHDLで記述するつもりだったので機能モジュールごとに書き換えてこれをシンボル化しました。
はじめはこのモジュール同志を回路図で結線してますが動作が確認できたらマッピングして
全VHDL化する予定。
以下はキースキャンの例です。
architecture Behavioral of keyscan is
signal CNT_TMP:std_logic_vector(1 downto 0);
function encode5 (KDATA:in std_logic_vector) return std_logic_vector is
begin
case KDATA(4 downto 0) is
when "00001" => return("000");
when "00010" => return("001");
when "00100" => return("010");
when "01000" => return("011");
when "10000" => return("100");
when others => return("XXX");
end case;
end encode5;
begin
process(CLK,RST) begin
if(RST = '1') then
CNT_TMP <="00";
elsif(CLK'event and CLK = '1') then
if(CNT_TMP = "10") then
CNT_TMP <= "00";
else
CNT_TMP <= CNT_TMP + '1';
end if;
end if;
case CNT_TMP is
when "00" => LINE <= "001";
when "01" => LINE <= "010";
when "10" => LINE <= "100";
when others => LINE <= "XXX";
end case;
end process;
process(KEY,CLK) begin
if(CLK'event and CLK = '1') then
if(KEY /="00000") then
DATA <= "000" & CNT_TMP & encode5(KEY);
end if;
end if;
end process;
GS<=or_reduce(KEY);
end Behavioral;