Jump to content
    

Ошибка при включении сигналов в SignalTap

В модуле есть компонент

component wb_nor_flash is
  generic 
  (
      sector_addr_width : integer := 10;
	   other_addr_width  : integer := 16        
	         --sector_addr_width+other_addr_width:integer:=sector_addr_width+other_addr_width
	);
  port
  (    
      clk_i: in  std_logic;
      rst_i: in  std_logic;
      wb_addr_i: in  std_logic_vector(3 downto 0);
      wb_dat_i: in  std_logic_vector(15 downto 0);
      wb_dat_o: out  std_logic_vector(15 downto 0);
      wb_stb_i: in  std_logic;
      wb_cyc_i: in  std_logic;
      wb_we_i: in  std_logic;
      wb_ack_o: out  std_logic;
      CEn: out  std_logic;
      OEn: out  std_logic;
      WEn: out  std_logic;
      BYTEn: out  std_logic;
      RESETn: out  std_logic;
      RY_BYn: in  std_logic;
      ADDR: out  std_logic_vector(sector_addr_width+other_addr_width-1 downto 0);
      DQ: inout  std_logic_vector(15 downto 0)
  );    
end component;

и я делаю мап на него

U_NOR_FLASH: wb_nor_flash 
port map
(    
  clk_i     => FLASH_CLK,
  rst_i     =>  '0',
  wb_addr_i => s_wb_addr_i,
  wb_dat_i  => s_wb_dat_i,
  wb_dat_o  => s_wb_dat_o,
  wb_stb_i  => s_wb_stb_i,
  wb_cyc_i  => '1', --wb_cyc_i,
  wb_we_i   => s_wb_we_i,
  wb_ack_o  => s_wb_ack_o,
  CEn       => CEn,
  OEn       => s_oe, --OEn,
  WEn       => WEn,
  BYTEn     => BYTEn,  --BYTEn,
  RESETn    => s_reset, --RESETn,
  RY_BYn    => RY_BYn,
  ADDR      => ADDR,
  DQ        => s_dq --DQ
);

Если я включаю в SignalTap любой сигнал из U_NOR_FLASH например DQ получаю ошибку

Quote

Error (35030): Partition "Top" contains I/O cells that do not connect to top-level pins or have illegal connectivity
    Error (35032): Output port "pre_syn.bp.U_NOR_FLASH_U_NOR_FLASH_DQ_0_~direct" on partition "Top" must drive a top-level pin but is driving "<nothing>"
    Error (35032): Output port "pre_syn.bp.U_NOR_FLASH_U_NOR_FLASH_DQ_10_~direct" on partition "Top" must drive a top-level pin but is driving "<nothing>"
    Error (35032): Output port "pre_syn.bp.U_NOR_FLASH_U_NOR_FLASH_DQ_11_~direct" on partition "Top" must drive a top-level pin but is driving "<nothing>"
    Error (35032): Output port "pre_syn.bp.U_NOR_FLASH_U_NOR_FLASH_DQ_12_~direct" on partition "Top" must drive a top-level pin but is driving "<nothing>"
    Error (35032): Output port "pre_syn.bp.U_NOR_FLASH_U_NOR_FLASH_DQ_13_~direct" on partition "Top" must drive a top-level pin but is driving "<nothing>"
    Error (35032): Output port "pre_syn.bp.U_NOR_FLASH_U_NOR_FLASH_DQ_14_~direct" on partition "Top" must drive a top-level pin but is driving "<nothing>"
    Error (35032): Output port "pre_syn.bp.U_NOR_FLASH_U_NOR_FLASH_DQ_15_~direct" on partition "Top" must drive a top-level pin but is driving "<nothing>"
    Error (35032): Output port "pre_syn.bp.U_NOR_FLASH_U_NOR_FLASH_DQ_1_~direct" on partition "Top" must drive a top-level pin but is driving "<nothing>"
    Error (35032): Output port "pre_syn.bp.U_NOR_FLASH_U_NOR_FLASH_DQ_2_~direct" on partition "Top" must drive a top-level pin but is driving "<nothing>"
    Error (35032): Output port "pre_syn.bp.U_NOR_FLASH_U_NOR_FLASH_DQ_3_~direct" on partition "Top" must drive a top-level pin but is driving "<nothing>"
    Error (35032): Output port "pre_syn.bp.U_NOR_FLASH_U_NOR_FLASH_DQ_4_~direct" on partition "Top" must drive a top-level pin but is driving "<nothing>"
    Error (35032): Output port "pre_syn.bp.U_NOR_FLASH_U_NOR_FLASH_DQ_5_~direct" on partition "Top" must drive a top-level pin but is driving "<nothing>"
    Error (35032): Output port "pre_syn.bp.U_NOR_FLASH_U_NOR_FLASH_DQ_6_~direct" on partition "Top" must drive a top-level pin but is driving "<nothing>"
    Error (35032): Output port "pre_syn.bp.U_NOR_FLASH_U_NOR_FLASH_DQ_7_~direct" on partition "Top" must drive a top-level pin but is driving "<nothing>"
    Error (35032): Output port "pre_syn.bp.U_NOR_FLASH_U_NOR_FLASH_DQ_8_~direct" on partition "Top" must drive a top-level pin but is driving "<nothing>"
    Error (35032): Output port "pre_syn.bp.U_NOR_FLASH_U_NOR_FLASH_DQ_9_~direct" on partition "Top" must drive a top-level pin but is driving "<nothing>"
Error (15856): Output port O of I/O output buffer "pre_syn.bp.U_NOR_FLASH_U_NOR_FLASH_DQ_0_~direct~output" must drive a top-level pin
Error (15856): Output port O of I/O output buffer "pre_syn.bp.U_NOR_FLASH_U_NOR_FLASH_DQ_10_~direct~output" must drive a top-level pin
Error (15856): Output port O of I/O output buffer "pre_syn.bp.U_NOR_FLASH_U_NOR_FLASH_DQ_11_~direct~output" must drive a top-level pin
Error (15856): Output port O of I/O output buffer "pre_syn.bp.U_NOR_FLASH_U_NOR_FLASH_DQ_12_~direct~output" must drive a top-level pin
Error (15856): Output port O of I/O output buffer "pre_syn.bp.U_NOR_FLASH_U_NOR_FLASH_DQ_13_~direct~output" must drive a top-level pin
Error (15856): Output port O of I/O output buffer "pre_syn.bp.U_NOR_FLASH_U_NOR_FLASH_DQ_14_~direct~output" must drive a top-level pin
Error (15856): Output port O of I/O output buffer "pre_syn.bp.U_NOR_FLASH_U_NOR_FLASH_DQ_15_~direct~output" must drive a top-level pin
Error (15856): Output port O of I/O output buffer "pre_syn.bp.U_NOR_FLASH_U_NOR_FLASH_DQ_1_~direct~output" must drive a top-level pin
Error (15856): Output port O of I/O output buffer "pre_syn.bp.U_NOR_FLASH_U_NOR_FLASH_DQ_2_~direct~output" must drive a top-level pin
Error (15856): Output port O of I/O output buffer "pre_syn.bp.U_NOR_FLASH_U_NOR_FLASH_DQ_3_~direct~output" must drive a top-level pin
Error (15856): Output port O of I/O output buffer "pre_syn.bp.U_NOR_FLASH_U_NOR_FLASH_DQ_4_~direct~output" must drive a top-level pin
Error (15856): Output port O of I/O output buffer "pre_syn.bp.U_NOR_FLASH_U_NOR_FLASH_DQ_5_~direct~output" must drive a top-level pin
Error (15856): Output port O of I/O output buffer "pre_syn.bp.U_NOR_FLASH_U_NOR_FLASH_DQ_6_~direct~output" must drive a top-level pin
Error (15856): Output port O of I/O output buffer "pre_syn.bp.U_NOR_FLASH_U_NOR_FLASH_DQ_7_~direct~output" must drive a top-level pin
Error (15856): Output port O of I/O output buffer "pre_syn.bp.U_NOR_FLASH_U_NOR_FLASH_DQ_8_~direct~output" must drive a top-level pin
Error (15856): Output port O of I/O output buffer "pre_syn.bp.U_NOR_FLASH_U_NOR_FLASH_DQ_9_~direct~output" must drive a top-level pin

Никогда такой проблемы не было. Что то новое.

Edited by jenya7

Share this post


Link to post
Share on other sites

Нельзя подключить к signaltap сигналы, которые находятся в IO буферах. Как пример - двунаправленная шина. 

Share this post


Link to post
Share on other sites

4 hours ago, Flip-fl0p said:

Нельзя подключить к signaltap сигналы, которые находятся в IO буферах. Как пример - двунаправленная шина. 

фига се. я не знал. проблема что промежуточные сигналы signaltap не видит в списке.

Share this post


Link to post
Share on other sites

3 hours ago, jenya7 said:

фига се. я не знал. проблема что промежуточные сигналы signaltap не видит в списке.

В списке много чего нет!..

Всегда можно стать на промежуточные буферизированные точки двунаправленной шины. Создайте их..  Вам же только слушать!

Только придется быть назойливым, потому как умный синтезатор будет игнорировать  тупиковые связи(и в списке их точно не будет!)

Share this post


Link to post
Share on other sites

On 9/6/2020 at 5:21 PM, Мур said:

потому как умный синтезатор будет игнорировать  тупиковые связи(и в списке их точно не будет!)

я в таких случаях приписываю директиву компилятору, примерно так
 

reg  log_1 /* synthesis noprune */;

Тогда синтезатор не выкидывает и в сигналтапе можно наблюдать.
Для wire директива чуть другая, не помню как точно.

Share this post


Link to post
Share on other sites

On 9/8/2020 at 5:46 PM, new123 said:

я в таких случаях приписываю директиву компилятору, примерно так
 


reg  log_1 /* synthesis noprune */;

Тогда синтезатор не выкидывает и в сигналтапе можно наблюдать.
Для wire директива чуть другая, не помню как точно.

 

syn_keep ?

Share this post


Link to post
Share on other sites

On 9/8/2020 at 5:46 PM, new123 said:

я в таких случаях приписываю директиву компилятору, примерно так
 


reg  log_1 /* synthesis noprune */;

Тогда синтезатор не выкидывает и в сигналтапе можно наблюдать.
Для wire директива чуть другая, не помню как точно.

это где?

Share this post


Link to post
Share on other sites

13 hours ago, jenya7 said:

это где?

симплифай, квартус. в виваде другой формат этого констрейна

Share this post


Link to post
Share on other sites

1 hour ago, des00 said:

симплифай, квартус. в виваде другой формат этого констрейна

что то я отстал от жизни. что такое симплифай?

Share this post


Link to post
Share on other sites

On 9/6/2020 at 9:54 AM, jenya7 said:

Если я включаю в SignalTap любой сигнал из U_NOR_FLASH например DQ получаю ошибку

Никогда такой проблемы не было. Что то новое.

 

А вы подключаете сигналы из Source, или из Netlist?

Share this post


Link to post
Share on other sites

7 hours ago, des00 said:

симплифай, квартус.

не не, я так делаю, чтобы синтезатор не выкидывал регистры и можно бы было в сигналтапе наблюдать. Симлифлай даже не знал что это такое.

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...