在线咨询
eetop公众号 创芯大讲堂 创芯人才网
切换到宽版

EETOP 创芯网论坛 (原名:电子顶级开发网)

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
查看: 8389|回复: 13

[求助] vivado中例化一个时钟IP核,一直提示错误

[复制链接]
发表于 2021-8-20 15:23:55 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?注册

x
错误如下:

[DRC INBB-3] Black Box Instances: Cell 'clk_div4_inst' of type 'clk_div4' has undefined contents and is considered a black box.  
The contents of this cell must be defined for opt_design to complete successfully.

[Project 1-486] Could not resolve non-primitive black box cell 'clk_div4' instantiated as 'clk_div4_inst'


有没有大佬指点下迷津呢?万分感谢



 楼主| 发表于 2021-8-20 15:26:49 | 显示全部楼层


代码如下所示,主要是为了学习跨时钟域时序路径,所以实现的功能比较简单,两个数相加




  1. ----------------------------------------------------------------------------------
  2. -- Create Date: 2021/08/20 10:33:08
  3. -- Design Name:
  4. -- Module Name: main - Behavioral

  5. library ieee;
  6. use ieee.std_logic_1164.all ;
  7. use ieee.std_logic_arith.all ;
  8. use ieee.std_logic_unsigned.all ;

  9. entity main is
  10.         port(
  11.              clk_p :   in std_logic;
  12.              data_a:   in std_logic_vector(3 downto 0);
  13.              data_b:   in std_logic_vector(3 downto 0);                                  
  14.              data_sum: out std_logic_vector(4 downto 0)
  15.              );
  16. end main;

  17. architecture Behavioral of main is

  18. component clk_div4
  19. port
  20. (
  21.   CLK_IN1           : in     std_logic;
  22.   CLK_OUT1          : out    std_logic
  23. );
  24. end component;

  25. signal  data_a_reg        : std_logic_vector(3 downto 0);
  26. signal  data_b_reg        : std_logic_vector(3 downto 0);
  27. signal  data_sum_reg      : std_logic_vector(4 downto 0);
  28. signal  clk_m       : std_logic;    --内部信号
  29. attribute keep : string;
  30. attribute keep of clk_m : signal is "true" ;


  31. begin
  32.        
  33. clk_div4_inst : clk_div4
  34. port map
  35. (
  36.   CLK_IN1             =>    clk_p,--200
  37.   CLK_OUT1            =>    clk_m--50
  38. );

  39. --输入数据缓存
  40. process(clk_m)
  41. begin
  42.     if(rising_edge(clk_m)) then
  43.         data_a_reg  <=  data_a;
  44.         data_b_reg  <=  data_b;
  45.         
  46.         end if;
  47. end process;

  48. data_sum_reg <= ('0' & data_a_reg) + ('0' & data_b_reg);

  49. process(clk_p)
  50. begin
  51.     if(rising_edge(clk_p)) then
  52.         data_sum  <=  data_sum_reg;
  53.     end if;
  54. end process;
  55.        
  56. end Behavioral;



复制代码



发表于 2021-8-20 18:36:06 | 显示全部楼层
clk_div4这个component对应的IP文件(.vhd源文件或.ngc网表文件)没有添加进你的工程。
 楼主| 发表于 2021-8-20 21:13:07 | 显示全部楼层


innovation 发表于 2021-8-20 18:36
clk_div4这个component对应的IP文件(.vhd源文件或.ngc网表文件)没有添加进你的工程。
...


奇怪,我在D:\courses\project_1\project_1.srcs\sources_1\ip 路径下能看到ip文件
另外vivado中应该没有.ngc文件吧
发表于 2021-8-20 22:08:45 | 显示全部楼层
Vivado这么高级了吗?IP文件不用添加进工程吗?只需要拷贝到文件夹里面?试一下把IP文件添加进工程呢:
image.png
 楼主| 发表于 2021-8-20 22:28:18 | 显示全部楼层


innovation 发表于 2021-8-20 22:08
Vivado这么高级了吗?IP文件不用添加进工程吗?只需要拷贝到文件夹里面?试一下把IP文件添加进工程呢:
...


我就是这么添加的,但是IP时钟和顶层文件在同一层次
发表于 2021-8-20 22:49:05 | 显示全部楼层
我发现跟clk_div4这个IP的名字有关,用clk_div4这个名字,vivado工程中的文件层次显示main这个文件没有包含clk_div4这个IP:
image.png
发表于 2021-8-20 22:51:59 | 显示全部楼层
但是,我把main这个文件中clk_div4这个IP改了个名字,比如:clkdiv4,层次结构中就显示main这个文件例化了一个clk_div4_inst,当然这个IP并不存在,并显示问号?你可以试试,把clk_div4这个IP改个名字。
image.png
发表于 2021-8-20 22:53:36 | 显示全部楼层
我又搜索了vivado的模板库,没发现clk_div4是哪个系列的原语呀。
image.png
发表于 2021-8-20 23:08:36 | 显示全部楼层
在xilinx ug606中倒是有CLK_DIV4这个原语,但这是CPLD的:
image.png
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

站长推荐 上一条 /2 下一条


小黑屋| 手机版| 关于我们| 联系我们| 在线咨询| 隐私声明| EETOP 创芯网
( 京ICP备:10050787号 京公网安备:11010502037710 )

GMT+8, 2024-11-24 10:37 , Processed in 0.023420 second(s), 7 queries , Gzip On, Redis On.

eetop公众号 创芯大讲堂 创芯人才网
快速回复 返回顶部 返回列表