55 lines
3.0 KiB
VHDL
55 lines
3.0 KiB
VHDL
|
ARCHITECTURE studentVersion OF charToMorseController IS
|
||
|
|
||
|
signal isA, isB, isC, isD, isE, isF, isG, isH,
|
||
|
isI, isJ, isK, isL, isM, isN, isO, isP,
|
||
|
isQ, isR, isS, isT, isU, isV, isW, isX,
|
||
|
isY, isZ,
|
||
|
is0, is1, is2, is3, is4, is5, is6, is7,
|
||
|
is8, is9 : std_ulogic;
|
||
|
|
||
|
BEGIN
|
||
|
------------------------------------------------------------------------------
|
||
|
-- conditions for morse units
|
||
|
isA <= '1' when std_match(unsigned(char), "1-0" & x"1") else '0';
|
||
|
isB <= '1' when std_match(unsigned(char), "1-0" & x"2") else '0';
|
||
|
isC <= '1' when std_match(unsigned(char), "1-0" & x"3") else '0';
|
||
|
isD <= '1' when std_match(unsigned(char), "1-0" & x"4") else '0';
|
||
|
isE <= '1' when std_match(unsigned(char), "1-0" & x"5") else '0';
|
||
|
isF <= '1' when std_match(unsigned(char), "1-0" & x"6") else '0';
|
||
|
isG <= '1' when std_match(unsigned(char), "1-0" & x"7") else '0';
|
||
|
isH <= '1' when std_match(unsigned(char), "1-0" & x"8") else '0';
|
||
|
isI <= '1' when std_match(unsigned(char), "1-0" & x"9") else '0';
|
||
|
isJ <= '1' when std_match(unsigned(char), "1-0" & x"A") else '0';
|
||
|
isK <= '1' when std_match(unsigned(char), "1-0" & x"B") else '0';
|
||
|
isL <= '1' when std_match(unsigned(char), "1-0" & x"C") else '0';
|
||
|
isM <= '1' when std_match(unsigned(char), "1-0" & x"D") else '0';
|
||
|
isN <= '1' when std_match(unsigned(char), "1-0" & x"E") else '0';
|
||
|
isO <= '1' when std_match(unsigned(char), "1-0" & x"F") else '0';
|
||
|
isP <= '1' when std_match(unsigned(char), "1-1" & x"0") else '0';
|
||
|
isQ <= '1' when std_match(unsigned(char), "1-1" & x"1") else '0';
|
||
|
isR <= '1' when std_match(unsigned(char), "1-1" & x"2") else '0';
|
||
|
isS <= '1' when std_match(unsigned(char), "1-1" & x"3") else '0';
|
||
|
isT <= '1' when std_match(unsigned(char), "1-1" & x"4") else '0';
|
||
|
isU <= '1' when std_match(unsigned(char), "1-1" & x"5") else '0';
|
||
|
isV <= '1' when std_match(unsigned(char), "1-1" & x"6") else '0';
|
||
|
isW <= '1' when std_match(unsigned(char), "1-1" & x"7") else '0';
|
||
|
isX <= '1' when std_match(unsigned(char), "1-1" & x"8") else '0';
|
||
|
isY <= '1' when std_match(unsigned(char), "1-1" & x"9") else '0';
|
||
|
isZ <= '1' when std_match(unsigned(char), "1-1" & x"A") else '0';
|
||
|
is0 <= '1' when std_match(unsigned(char), "011" & x"0") else '0';
|
||
|
is1 <= '1' when std_match(unsigned(char), "011" & x"1") else '0';
|
||
|
is2 <= '1' when std_match(unsigned(char), "011" & x"2") else '0';
|
||
|
is3 <= '1' when std_match(unsigned(char), "011" & x"3") else '0';
|
||
|
is4 <= '1' when std_match(unsigned(char), "011" & x"4") else '0';
|
||
|
is5 <= '1' when std_match(unsigned(char), "011" & x"5") else '0';
|
||
|
is6 <= '1' when std_match(unsigned(char), "011" & x"6") else '0';
|
||
|
is7 <= '1' when std_match(unsigned(char), "011" & x"7") else '0';
|
||
|
is8 <= '1' when std_match(unsigned(char), "011" & x"8") else '0';
|
||
|
is9 <= '1' when std_match(unsigned(char), "011" & x"9") else '0';
|
||
|
|
||
|
morseOut <= '0';
|
||
|
startCounter <= '0';
|
||
|
unitNb <= (others => '-');
|
||
|
|
||
|
END ARCHITECTURE studentVersion;
|