From c007025b48ae31dec1f60598c48373a0b15da679 Mon Sep 17 00:00:00 2001 From: Jan Michel Date: Tue, 8 Aug 2023 12:46:26 +0200 Subject: [PATCH] add temperature sensor in ECP5 to tools --- code/trb3sc_tools.vhd | 34 ++++++++++++++++++++++++++++++++++ 1 file changed, 34 insertions(+) diff --git a/code/trb3sc_tools.vhd b/code/trb3sc_tools.vhd index 32ee2ae..9ac4aeb 100644 --- a/code/trb3sc_tools.vhd +++ b/code/trb3sc_tools.vhd @@ -90,6 +90,20 @@ signal debug_rx, debug_tx : std_logic; signal debug_status : std_logic_vector(31 downto 0); signal additional_reg_i : std_logic_vector(31 downto 0) := x"00000000"; signal control_reg_i : std_logic_vector(15 downto 0); +signal dtrout : std_logic_vector(7 downto 0) := x"00"; --temperature in ECP5 + + +attribute syn_black_box: boolean ; +component dtr + generic ( + dtr_temp : integer := 25); + port ( + startpulse : in std_logic := 'x'; + dtrout7,dtrout6,dtrout5,dtrout4,dtrout3,dtrout2,dtrout1,dtrout0 : out std_logic := 'x' + ); +end component; +attribute syn_black_box of dtr : component is true; + begin @@ -460,6 +474,7 @@ proc_add_reg : process begin busctrl_tx.data(additional_reg_i'left downto 0) <= additional_reg_i; else busctrl_tx.data(control_reg_i'left downto 0) <= control_reg_i; + busctrl_tx.data(31 downto 24) <= dtrout; end if; busctrl_tx.ack <= '1'; elsif busctrl_rx.write = '1' then @@ -474,6 +489,25 @@ end process; ADDITIONAL_REG <= additional_reg_i; +--------------------------------------------------------------------------- +-- ECP5 Temperature Diode +--------------------------------------------------------------------------- +gen_temperature : if FPGA_TYPE = 5 generate + THE_DTR : DTR + port map ( + STARTPULSE => busctrl_tx.ack, + DTROUT0 => dtrout(0), + DTROUT1 => dtrout(1), + DTROUT2 => dtrout(2), + DTROUT3 => dtrout(3), + DTROUT4 => dtrout(4), + DTROUT5 => dtrout(5), + DTROUT6 => dtrout(6), + DTROUT7 => dtrout(7) + ); +end generate; + + --------------------------------------------------------------------------- -- HEADER_IO --------------------------------------------------------------------------- -- 2.43.0