]> jspc29.x-matter.uni-frankfurt.de Git - trbnet.git/commitdiff
changing handler_ipu as work-around of Synplify K2015 bug
authorJan Michel <j.michel@gsi.de>
Tue, 20 Oct 2015 16:46:18 +0000 (18:46 +0200)
committerJan Michel <j.michel@gsi.de>
Tue, 20 Oct 2015 16:46:18 +0000 (18:46 +0200)
special/handler_ipu.vhd

index b09f8db314aa2d6dc92cee55c8b86ef522c0c959..7f1dc780d11fd021d3c9e1332a6858d4fae9e716 100644 (file)
@@ -341,16 +341,31 @@ assert    (
 -- Compare Event Information
 ---------------------------------------------------------------------------
 
-  PROC_COMPARE_NUMBER : process(CLOCK)
+--   PROC_COMPARE_NUMBER : process(CLOCK)
+--     begin
+--       if rising_edge(CLOCK) then
+--         if current_state = IDLE then
+--           error_sync <= '0';
+--         elsif dat_fifo_valid_read = '1' then
+--           if DAT_HDR_DATA_IN(3 downto 0) /= DAT_DATA_FLAGS_IN(dat_fifo_number*4+3 downto dat_fifo_number*4+0) then
+--             error_sync <= '1';
+--           end if;
+--         end if;
+--       end if;
+--     end process;
+
+  PROC_COMPARE_NUMBER : process
     begin
-      if rising_edge(CLOCK) then
-        if current_state = IDLE then
-          error_sync <= '0';
-        elsif dat_fifo_valid_read = '1' then
-          if DAT_HDR_DATA_IN(3 downto 0) /= DAT_DATA_FLAGS_IN(dat_fifo_number*4+3 downto dat_fifo_number*4+0) then
-            error_sync <= '1';
-          end if;
-        end if;
+      wait until rising_edge(CLOCK);
+      if current_state = IDLE then
+        error_sync <= '0';
+      elsif dat_fifo_valid_read = '1' and  (
+          DAT_HDR_DATA_IN(0) /= DAT_DATA_FLAGS_IN(dat_fifo_number*4+0) or
+          DAT_HDR_DATA_IN(1) /= DAT_DATA_FLAGS_IN(dat_fifo_number*4+1) or
+          DAT_HDR_DATA_IN(2) /= DAT_DATA_FLAGS_IN(dat_fifo_number*4+2) or
+          DAT_HDR_DATA_IN(3) /= DAT_DATA_FLAGS_IN(dat_fifo_number*4+3)
+          ) then
+        error_sync <= '1';
       end if;
     end process;