AR# 38524


MIG Spartan-6 - Debug signals are only added to first port in the user interface


When creating a MIG design with more than one user port with "Debug Signal for Memory Controller" enabled, the read and write debug signals are only added to the first port, even if that port is unidirectional. 

This means that it is possible to map the read debug signals to a port that only supports write and vice versa.

 For example, if you select P2 for write, and P3 for read, the read and write debug signals are only added to port P2 which means that the read debug signals have no driver since port P2 supports only supports writes.  


In order to map debug signals correctly when the first user port is unidirectional, you need to modify the example_top.v or example_top.vhd file and modify where the debug signals are mapped. 

If the first port is read only, the write debug signals should not be mapped to that port but to the next port that supports writes.

If the first port is write only, the read debug signals should not be mapped to that port but to the next port that supports reads.  

Below is an example for corrected VHDL where user port 2 is set to write and user port 3 is set to read. 

The incorrect mapping is commented out.

gen_dbg_enable:if (DEBUG_EN = 1) generate
     -- controller 1
     c1_dbg_data(255 downto 0) <= ( c1_zeroes1 &
         c1_cmp_error &
         c1_cmp_data &
                              c1_cmp_data_valid & 
         c1_p2_cmd_en &
         c1_p2_cmd_instr &
         c1_p2_cmd_bl &
         c1_p2_cmd_byte_addr &
         c1_p2_cmd_empty &
         c1_p2_cmd_full &

--         c1_p2_rd_en &
--         c1_p2_rd_data(31 downto 0) &
--         c1_p2_rd_full &
--         c1_p2_rd_empty &
--         c1_p2_rd_count &
--         c1_p2_rd_overflow &
--         c1_p2_rd_error &

         c1_p3_rd_en &
         c1_p3_rd_data(31 downto 0) &
         c1_p3_rd_full &
         c1_p3_rd_empty &
         c1_p3_rd_count &
         c1_p3_rd_overflow &
         c1_p3_rd_error &

         c1_p2_wr_en &
         c1_p2_wr_mask(3 downto 0) &
         c1_p2_wr_data(31 downto 0) &
         c1_p2_wr_full &
         c1_p2_wr_empty &
         c1_p2_wr_count &
         c1_p2_wr_underrun &

In addition, the signal names in the example_top.cdc file need to be changed to reflect the new mapping. 

So c1_p2_rd_en needs to be replaced with c1_p3_rd_en etc.



AR# 38524
日期 12/04/2014
状态 Active
Type 综合文章
People Also Viewed