Initial commit
This commit is contained in:
54
05-Morse/Morse/hdl/charToMorseController_studentVersion.vhd
Normal file
54
05-Morse/Morse/hdl/charToMorseController_studentVersion.vhd
Normal file
@ -0,0 +1,54 @@
|
||||
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;
|
6
05-Morse/Morse/hdl/characterRegister_studentVersion.vhd
Normal file
6
05-Morse/Morse/hdl/characterRegister_studentVersion.vhd
Normal file
@ -0,0 +1,6 @@
|
||||
ARCHITECTURE studentVersion OF characterRegister IS
|
||||
BEGIN
|
||||
|
||||
charOut <= (others => '0');
|
||||
|
||||
END ARCHITECTURE studentVersion;
|
9
05-Morse/Morse/hdl/envelopeRetreiver_studentVersion.vhd
Normal file
9
05-Morse/Morse/hdl/envelopeRetreiver_studentVersion.vhd
Normal file
@ -0,0 +1,9 @@
|
||||
library Common;
|
||||
use Common.CommonLib.all;
|
||||
|
||||
ARCHITECTURE studentVersion OF envelopeRetreiver IS
|
||||
BEGIN
|
||||
|
||||
morseEnvelope <= '0';
|
||||
|
||||
END ARCHITECTURE studentVersion;
|
7
05-Morse/Morse/hdl/morseToCharDecoder_studentVersion.vhd
Normal file
7
05-Morse/Morse/hdl/morseToCharDecoder_studentVersion.vhd
Normal file
@ -0,0 +1,7 @@
|
||||
ARCHITECTURE studentVersion OF morseToCharDecoder IS
|
||||
BEGIN
|
||||
|
||||
charValid <= '0';
|
||||
charOut <= (others => '0');
|
||||
|
||||
END ARCHITECTURE studentVersion;
|
11
05-Morse/Morse/hdl/symbolLengthCounter_studentVersion.vhd
Normal file
11
05-Morse/Morse/hdl/symbolLengthCounter_studentVersion.vhd
Normal file
@ -0,0 +1,11 @@
|
||||
library Common;
|
||||
use Common.CommonLib.all;
|
||||
|
||||
ARCHITECTURE studentVersion OF symbolLengthCounter IS
|
||||
BEGIN
|
||||
|
||||
symbolValid <= '0';
|
||||
symbolValue <= '0';
|
||||
symbolDuration <= (others => '0');
|
||||
|
||||
END ARCHITECTURE studentVersion;
|
28
05-Morse/Morse/hdl/toneGenerator_studentVersion.vhd
Normal file
28
05-Morse/Morse/hdl/toneGenerator_studentVersion.vhd
Normal file
@ -0,0 +1,28 @@
|
||||
library Common;
|
||||
use Common.CommonLib.all;
|
||||
|
||||
ARCHITECTURE studentVersion OF toneGenerator IS
|
||||
|
||||
constant toneCounterBitNb: positive := requiredBitNb(toneDivide-1);
|
||||
signal toneCounter: unsigned(toneCounterBitNb-1 downto 0);
|
||||
constant toneMin : natural := (2**toneCounterBitNb - toneDivide) / 2;
|
||||
constant toneMax : natural := toneMin + toneDivide;
|
||||
|
||||
BEGIN
|
||||
|
||||
divide: process(reset, clock)
|
||||
begin
|
||||
if reset = '1' then
|
||||
toneCounter <= to_unsigned(toneMin, toneCounter'length);
|
||||
elsif rising_edge(clock) then
|
||||
if toneCounter = toneMax then
|
||||
toneCounter <= to_unsigned(toneMin, toneCounter'length);
|
||||
else
|
||||
toneCounter <= toneCounter + 1;
|
||||
end if;
|
||||
end if;
|
||||
end process divide;
|
||||
|
||||
tone <= toneCounter(toneCounter'high);
|
||||
|
||||
END ARCHITECTURE studentVersion;
|
61
05-Morse/Morse/hdl/unitCounter_studentVersion.vhd
Normal file
61
05-Morse/Morse/hdl/unitCounter_studentVersion.vhd
Normal file
@ -0,0 +1,61 @@
|
||||
library Common;
|
||||
use Common.CommonLib.all;
|
||||
|
||||
ARCHITECTURE studentVersion OF unitCounter IS
|
||||
|
||||
signal unitCounter: unsigned(requiredBitNb(unitCountDivide)-1 downto 0);
|
||||
signal unitCountDone: std_ulogic;
|
||||
signal unitNbCounter: unsigned(unitnB'range);
|
||||
signal unitNbCountDone: std_ulogic;
|
||||
|
||||
BEGIN
|
||||
-- count unit base period
|
||||
countUnitDuration: process(reset, clock)
|
||||
begin
|
||||
if reset = '1' then
|
||||
unitCounter <= (others => '0');
|
||||
elsif rising_edge(clock) then
|
||||
if unitCounter = 0 then
|
||||
if (startCounter = '1') or (unitNbCounter > 0) then
|
||||
unitCounter <= unitCounter + 1;
|
||||
end if;
|
||||
else
|
||||
if unitCountDone = '0' then
|
||||
unitCounter <= unitCounter + 1;
|
||||
else
|
||||
unitCounter <= (others => '0');
|
||||
end if;
|
||||
end if;
|
||||
end if;
|
||||
end process countUnitDuration;
|
||||
|
||||
unitCountDone <= '1' when unitCounter = unitCountDivide
|
||||
else '0';
|
||||
-- count unit period number
|
||||
countPeriods: process(reset, clock)
|
||||
begin
|
||||
if reset = '1' then
|
||||
unitNbCounter <= (others => '0');
|
||||
elsif rising_edge(clock) then
|
||||
if unitNbCounter = 0 then
|
||||
if startCounter = '1' then
|
||||
unitNbCounter <= unitNbCounter + 1;
|
||||
end if;
|
||||
else
|
||||
if unitNbCountDone = '0' then
|
||||
if unitCountDone = '1' then
|
||||
unitNbCounter <= unitNbCounter + 1;
|
||||
end if;
|
||||
else
|
||||
unitNbCounter <= (others => '0');
|
||||
end if;
|
||||
end if;
|
||||
end if;
|
||||
end process countPeriods;
|
||||
|
||||
unitNbCountDone <= '1' when (unitNbCounter = unitNb) and (unitCountDone = '1')
|
||||
else '0';
|
||||
|
||||
done <= unitNbCountDone;
|
||||
|
||||
END ARCHITECTURE studentVersion;
|
@ -0,0 +1 @@
|
||||
DIALECT atom VHDL_2008
|
@ -0,0 +1 @@
|
||||
DIALECT atom VHDL_2008
|
@ -0,0 +1 @@
|
||||
DIALECT atom VHDL_2008
|
@ -0,0 +1 @@
|
||||
DIALECT atom VHDL_2008
|
@ -0,0 +1 @@
|
||||
DIALECT atom VHDL_2008
|
@ -0,0 +1 @@
|
||||
DIALECT atom VHDL_2008
|
@ -0,0 +1 @@
|
||||
DIALECT atom VHDL_2008
|
@ -0,0 +1 @@
|
||||
DIALECT atom VHDL_2008
|
@ -0,0 +1 @@
|
||||
DIALECT atom VHDL_2008
|
@ -0,0 +1 @@
|
||||
DIALECT atom VHDL_2008
|
@ -0,0 +1 @@
|
||||
DIALECT atom VHDL_2008
|
@ -0,0 +1 @@
|
||||
DIALECT atom VHDL_2008
|
@ -0,0 +1 @@
|
||||
DIALECT atom VHDL_2008
|
@ -0,0 +1 @@
|
||||
DIALECT atom VHDL_2008
|
@ -0,0 +1 @@
|
||||
DIALECT atom VHDL_2008
|
@ -0,0 +1 @@
|
||||
DIALECT atom VHDL_2008
|
@ -0,0 +1 @@
|
||||
DIALECT atom VHDL_2008
|
@ -0,0 +1 @@
|
||||
DIALECT atom VHDL_2008
|
@ -0,0 +1 @@
|
||||
DIALECT atom VHDL_2008
|
@ -0,0 +1 @@
|
||||
DIALECT atom VHDL_2008
|
3
05-Morse/Morse/hds/_chartomorse._epf
Normal file
3
05-Morse/Morse/hds/_chartomorse._epf
Normal file
@ -0,0 +1,3 @@
|
||||
DEFAULT_ARCHITECTURE atom struct
|
||||
DEFAULT_FILE atom char@to@morse/struct.bd
|
||||
TOP_MARKER atom 0
|
2
05-Morse/Morse/hds/_chartomorsecontroller._epf
Normal file
2
05-Morse/Morse/hds/_chartomorsecontroller._epf
Normal file
@ -0,0 +1,2 @@
|
||||
DEFAULT_ARCHITECTURE atom studentVersion
|
||||
DEFAULT_FILE atom charToMorseController_studentVersion.vhd
|
2
05-Morse/Morse/hds/_enveloperetreiver._epf
Normal file
2
05-Morse/Morse/hds/_enveloperetreiver._epf
Normal file
@ -0,0 +1,2 @@
|
||||
DEFAULT_FILE atom envelopeRetreiver_studentVersion.vhd
|
||||
DEFAULT_ARCHITECTURE atom studentVersion
|
3
05-Morse/Morse/hds/_morsedecoder._epf
Normal file
3
05-Morse/Morse/hds/_morsedecoder._epf
Normal file
@ -0,0 +1,3 @@
|
||||
DEFAULT_FILE atom morse@decoder/struct.bd
|
||||
DEFAULT_ARCHITECTURE atom struct
|
||||
TOP_MARKER atom 1
|
3
05-Morse/Morse/hds/_morseencoder._epf
Normal file
3
05-Morse/Morse/hds/_morseencoder._epf
Normal file
@ -0,0 +1,3 @@
|
||||
DEFAULT_ARCHITECTURE atom struct
|
||||
DEFAULT_FILE atom morse@encoder/struct.bd
|
||||
TOP_MARKER atom 1
|
2
05-Morse/Morse/hds/_morsetochardecoder._epf
Normal file
2
05-Morse/Morse/hds/_morsetochardecoder._epf
Normal file
@ -0,0 +1,2 @@
|
||||
DEFAULT_FILE atom morseToCharDecoder_studentVersion.vhd
|
||||
DEFAULT_ARCHITECTURE atom studentVersion
|
2
05-Morse/Morse/hds/_symbollengthcounter._epf
Normal file
2
05-Morse/Morse/hds/_symbollengthcounter._epf
Normal file
@ -0,0 +1,2 @@
|
||||
DEFAULT_FILE atom symbolLengthCounter_studentVersion.vhd
|
||||
DEFAULT_ARCHITECTURE atom studentVersion
|
2
05-Morse/Morse/hds/_tonegenerator._epf
Normal file
2
05-Morse/Morse/hds/_tonegenerator._epf
Normal file
@ -0,0 +1,2 @@
|
||||
DEFAULT_ARCHITECTURE atom studentVersion
|
||||
DEFAULT_FILE atom toneGenerator_studentVersion.vhd
|
0
05-Morse/Morse/hds/_unitcounter._epf
Normal file
0
05-Morse/Morse/hds/_unitcounter._epf
Normal file
3809
05-Morse/Morse/hds/char@to@morse/struct.bd
Normal file
3809
05-Morse/Morse/hds/char@to@morse/struct.bd
Normal file
File diff suppressed because it is too large
Load Diff
1722
05-Morse/Morse/hds/char@to@morse/symbol.sb
Normal file
1722
05-Morse/Morse/hds/char@to@morse/symbol.sb
Normal file
File diff suppressed because it is too large
Load Diff
9218
05-Morse/Morse/hds/char@to@morse@controller/fsm.sm
Normal file
9218
05-Morse/Morse/hds/char@to@morse@controller/fsm.sm
Normal file
File diff suppressed because it is too large
Load Diff
1933
05-Morse/Morse/hds/char@to@morse@controller/symbol.sb
Normal file
1933
05-Morse/Morse/hds/char@to@morse@controller/symbol.sb
Normal file
File diff suppressed because it is too large
Load Diff
1654
05-Morse/Morse/hds/character@register/symbol.sb
Normal file
1654
05-Morse/Morse/hds/character@register/symbol.sb
Normal file
File diff suppressed because it is too large
Load Diff
1609
05-Morse/Morse/hds/envelope@retreiver/symbol.sb
Normal file
1609
05-Morse/Morse/hds/envelope@retreiver/symbol.sb
Normal file
File diff suppressed because it is too large
Load Diff
5645
05-Morse/Morse/hds/morse@decoder/struct.bd
Normal file
5645
05-Morse/Morse/hds/morse@decoder/struct.bd
Normal file
File diff suppressed because it is too large
Load Diff
1759
05-Morse/Morse/hds/morse@decoder/symbol.sb
Normal file
1759
05-Morse/Morse/hds/morse@decoder/symbol.sb
Normal file
File diff suppressed because it is too large
Load Diff
4641
05-Morse/Morse/hds/morse@encoder/struct.bd
Normal file
4641
05-Morse/Morse/hds/morse@encoder/struct.bd
Normal file
File diff suppressed because it is too large
Load Diff
1675
05-Morse/Morse/hds/morse@encoder/symbol.sb
Normal file
1675
05-Morse/Morse/hds/morse@encoder/symbol.sb
Normal file
File diff suppressed because it is too large
Load Diff
1824
05-Morse/Morse/hds/morse@to@char@decoder/symbol.sb
Normal file
1824
05-Morse/Morse/hds/morse@to@char@decoder/symbol.sb
Normal file
File diff suppressed because it is too large
Load Diff
1744
05-Morse/Morse/hds/symbol@length@counter/symbol.sb
Normal file
1744
05-Morse/Morse/hds/symbol@length@counter/symbol.sb
Normal file
File diff suppressed because it is too large
Load Diff
1528
05-Morse/Morse/hds/tone@generator/symbol.sb
Normal file
1528
05-Morse/Morse/hds/tone@generator/symbol.sb
Normal file
File diff suppressed because it is too large
Load Diff
1672
05-Morse/Morse/hds/unit@counter/symbol.sb
Normal file
1672
05-Morse/Morse/hds/unit@counter/symbol.sb
Normal file
File diff suppressed because it is too large
Load Diff
Reference in New Issue
Block a user