##// END OF EJS Templates
Renamed the SPW_Light test directory from Validation_SPW_light to Test_SPW_Light....
Renamed the SPW_Light test directory from Validation_SPW_light to Test_SPW_Light. Added Test ADC RHF1401

File last commit:

r686:ea8efb0bdfd4 Simu-LFR-FM
r687:88431f3070cd Simu-LFR-FM
Show More
spw_receiver.vhd
82 lines | 2.1 KiB | text/x-vhdl | VhdlLexer
LIBRARY ieee;
USE ieee.std_logic_1164.ALL;
USE ieee.numeric_std.ALL;
LIBRARY std;
USE std.textio.ALL;
ENTITY spw_receiver IS
GENERIC(
FNAME : STRING := "output.txt"
);
PORT(
end_of_simu : IN STD_LOGIC;
timestamp : IN integer;
clk : IN STD_LOGIC;
rxread : out STD_LOGIC;
rxflag : in STD_LOGIC;
rxdata : in STD_LOGIC_VECTOR(7 DOWNTO 0);
rxvalid : in STD_LOGIC;
rxhalff : out STD_LOGIC
);
END spw_receiver;
ARCHITECTURE beh OF spw_receiver IS
FILE output_file : TEXT OPEN write_mode IS FNAME;
SIGNAL message_ongoing : STD_LOGIC := '0';
SIGNAL message_timestamp : INTEGER;
BEGIN
-----------------------------------------------------------------------------
-- Data orginization in the output file :
-----------------------------------------------------------------------------
-- Exemple of output.txt file :
-- Data_1
-- Data_2
-- ...
-- Data_N
-- TIME= TimeStamp_when_Data_1_was_received
-- Data_N+1
-- Data_N+2
-- ...
-- Data_M
-- TIME= TimeStamp_when_Data_N+1_was_received
-- Data_M+1
-- Data_M+2
-- ...
-- Data_K
-- TIME= TimeStamp_when_Data_M+1_was_received
-----------------------------------------------------------------------------
-- TimeStamp : integer. Waiting time (in ns) before to send the following message
-- Data : integer(0 to 255). A part of the message.
-----------------------------------------------------------------------------
PROCESS(clk,end_of_simu)
VARIABLE line_var : LINE;
BEGIN
IF end_of_simu = '1' THEN
file_close(output_file);
rxread <= '0';
ELSIF clk'EVENT AND clk = '1' THEN
rxread <= '1';
IF rxvalid = '1' THEN
IF rxflag = '1' THEN
write(line_var, "TIME= " & INTEGER'IMAGE(message_timestamp));
message_ongoing <= '0';
ELSE
IF message_ongoing = '0' THEN
message_ongoing <= '1';
message_timestamp <= TimeStamp;
END IF;
write(line_var, INTEGER'IMAGE(to_integer(UNSIGNED(rxdata))));
END IF;
writeline(output_file, line_var);
END IF;
END IF;
END PROCESS;
END beh;