【问题标题】:Adding Library to VHDL Project将库添加到 VHDL 项目
【发布时间】:2014-06-23 10:53:59
【问题描述】:

我正在尝试在我的 VHDL 项目中使用定点数,但我一直无法实现该库(在此处找到 http://www.eda-stds.org/fphdl/fixed_pkg_c.vhdl)。我在尝试模拟时收到的错误是这样的

<ufixed> is not declared

我的问题是应该如何实现一个库才能使用它?截至目前,我已将其添加到 IEEE_PROPOSED 库中的项目中,但它无法正常工作。所有源代码都可以在这里找到https://github.com/srohrer32/beamformer/tree/fixed_num,在hdl 文件夹和libraries 文件夹下。

【问题讨论】:

    标签: vhdl fpga fixed-point


    【解决方案1】:

    你在用modelsim吗?你在使用一个项目吗?如果不是...我发现最好的方法是首先自行编译库。打开您的 modelsim.ini 文件并创建库路径。像这样:

    lib_test = c:/test/source/lib_test
    

    最后,编译您自己的代码,并确保在vcommodelsim 命令上使用-modelsimini 开关。

    如果您使用的是项目(我不喜欢,它们不够灵活),那么您可以将项目指向库。

    有关使用命令编译 modelsim 的更多帮助: http://www.tkt.cs.tut.fi/tools/public/tutorials/mentor/modelsim/getting_started/gsms.html#compiling

    【讨论】:

    • 我正在尝试使用 ISim,但我不知道如何首先编译库,以便一切都模拟。有什么建议吗?
    【解决方案2】:

    我自己不是 isim 用户,搜索 ISim User Guide 意味着您需要创建一个单独的项目来编译成一个库,这与从命令行定位库是多么容易形成对比。

    大概您还需要将该库作为资源添加到您的项目中。有趣的是,您对此没有任何抱怨:

    library ieee_proposed;
    

    在 delay_calculation.vhd 中,注意库声明只是使名称可用。需要在某个地方进行库名称到库的依赖于实现的映射。这默认在 xilinxisim.ini 中,但我想您的项目管理界面允许您将库映射到您的项目中,并且 isim 应该知道在哪里查找库。

    浏览用户指南可能是值得的。

    模拟步骤概述

    用户库

    根据您启动 ISim 的方式,有不同的方法 可用于添加用户库:

    • 启动 Project Navigator 时,在 ISE 工具中定义用户库。请参阅 ISE 帮助中的“使用 VHDL 库”了解 细节。
    • 当使用 ISim 独立、交互命令模式或非交互模式时,设置库映射文件(见附录 A, 库映射文件 (xilinxisim.ini) 指向您的逻辑或 物理图书馆。
    • 从 PlanAhead 工具启动 ISim 时,在该工具中定义用户库。有关更多信息,请参阅 PlanAhead 用户指南 (UG632) 信息。附录 D,其他资源,包含指向 文件。

    参见Working with VHDL Libraries,参见创建 VHDL 库将文件添加到 VHDL 库 .

    (指向ISE Help的顶级链接)。

    您会认为对于我们这些叛教者来说会有一个常见问题解答 - 即使使用 Google 来快速阅读“宗教”书籍也很糟糕。请注意,这些解释是根据菜单下拉操作进行的,类似于命令行输入。我们被顶部菜单栏上的可用内容所困扰。而且,当您成功地添加和使用库时,您会记得在有人更改菜单之前是如何做到的,您当然会想知道文档滞后。

    【讨论】:

    • 然后在 Vivado 中就完全不同了。
    【解决方案3】:

    大概您尝试做的是在 ISE GUI 中为 synthesis 模式设置库映射,这很简单但完全被 iSim 忽略了,因为它有自己的库映射管理系统.我不是 iSim 用户,但在查看了文档并进行了一些测试之后,看起来设置库的最简单方法是从命令行:

    # This creates an ieee_proposed directory with a partially compiled object.
    vhpcomp --work ieee_proposed=ieee_proposed fixed_pkg_c.vhdl
    
    # Add a mapping from the logical library to the physical path.
    # *nix shown. Windows would be similar or just use a text editor.
    #   <logical name>=<physical path>
    echo ieee_proposed=`pwd`/ieee_proposed >> path/to/your/xilinxisim.ini
    

    确保xilinxisim.ini 文件对 iSim 可见,并且它应该获取到已编译库的映射。您应该能够从ieee_proposed 的父级继续运行vhpcomp 以将更多文件添加到库中。您可能必须手动复制系统默认版本来维护标准库映射。

    【讨论】:

    • 我知道这是一个非常简单的问题,但我似乎无法弄清楚如何创建原始的 ieee_proposed 库。这是我不断收到此错误的错误Line 23: Cannot find &lt;fixed_float_types&gt; in library &lt;ieee_proposed&gt;. Please ensure that the library was compiled, and that a library and a use clause are present in the VHDL file.
    • fixed_pkg_c 文件有声明use IEEE_PROPOSED.fixed_float_types.all;。它正在寻找那里定义的常见类型。你需要先编译fixed_float_types_c.vhdl,然后在编译主包的时候应该是可见的。
    猜你喜欢
    • 2014-12-08
    • 2019-02-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-01-05
    • 2016-05-08
    • 2017-01-17
    相关资源
    最近更新 更多