]> jspc29.x-matter.uni-frankfurt.de Git - trb3sc.git/commitdiff
add temperature sensor in ECP5 to tools
authorJan Michel <michel@physik.uni-frankfurt.de>
Tue, 8 Aug 2023 10:46:26 +0000 (12:46 +0200)
committerJan Michel <michel@physik.uni-frankfurt.de>
Tue, 8 Aug 2023 10:46:26 +0000 (12:46 +0200)
code/trb3sc_tools.vhd

index 32ee2ae3209e21475347d116a24a972847b947be..9ac4aeb460d1a67d0af8bb998e6b36ec091bd1fa 100644 (file)
@@ -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
 ---------------------------------------------------------------------------