【问题标题】:Compilation error in VivadoVivado 中的编译错误
【发布时间】:2018-10-16 21:12:29
【问题描述】:

我下载了 Vivado 免费的 Web Pack,并尝试像这样模拟简单的项目:

library IEEE;
use IEEE.STD_LOGIC_1164.ALL;
entity async_RS_trig is
    Port ( R : in  STD_LOGIC;
           S : in  STD_LOGIC;
       Q : out  STD_LOGIC;
       nQ : out  STD_LOGIC);
end async_RS_trig;
architecture async_RS_trig of async_RS_trig is
    signal bQ,nbQ : std_logic;
begin
    bQ <= R nor nbQ;
    nbQ<= S nor bQ;
    Q   <= bQ;
    nQ  <=  nbQ;
end async_RS_trig;

当我推送运行模拟 Vivado 尝试编译此代码时,我收到错误:

ERROR: [XSIM 43-3409] Failed to compile generated C file       xsim.dir/async_RS_trig_behav/obj/xsim_0.c.

但代码是正确的,我试图模拟一个空架构并收到相同的错误。我该怎么做才能解决它?

谢谢! 问候

【问题讨论】:

  • 我已经搜索并只找到了一个关于此错误的参考,没有明确的答案,在 Windows 平台上安装 Vivado 可能存在问题。如果您找到答案,请自行回答,以便记录在这里。
  • 这是一个模拟错误还是这个代码的综合也有问题?也许错误在这个模块之外,例如在它的实例化中。您也可以尝试向bQ &lt;= R nor nbQ 添加延迟,例如bQ &lt;= transport R nor nbQ after 1 ns;。为此类错误找到解决方案的唯一方法是使用您的代码、注释和取消注释行或模块,并可能尝试不同的工具链,如综合、questa sim、ghdl... 最后一个问题:您使用最新的 Vivado 2014.2 版?
  • 是的,我尝试重新安装 Vivado。是的,我使用 Vivado 2014.2。合成没有错误。当我尝试在 Windows 8 上使用 Xilinx ISE 时,我遇到了另一个莫名其妙的错误,但 ISE 在 Windows 8.1 上不受支持。我尝试更改代码,尝试空设计,当我出现语法错误时,我收到了有关它的消息。我的最后一个变体是关于 Windows 8.1,但我尝试做其他事情 :)

标签: vhdl xilinx


【解决方案1】:

请将您的架构重命名为“rtl”或其他名称,但不要再次使用实体名称作为架构名称。

回复评论 1:

模拟使用 2 个过程,在 iSim 的情况下,它们是:

  1. YourTestbench_isim_beh.exe
  2. 模拟器 GUI (isimgui.exe)

您的源文件被翻译成 C 源文件,然后编译并链接到可执行文件。您可以在交互、(tcl)batch 或 gui 模式下运行此 *.exe 文件。如果您使用 -gui 调用此 *.exe,模拟器 GUI 将启动并通过 TCP(基于 TCP 的进程间通信 - IPC)连接到 YourTestbench_isim_beh.exe。

通常您的个人防火墙应该要求授予 isimgui.exe 权限以连接本地主机上的任何端口。

当您使用 Vivado 和 xSim 时,您应该将此连接权限授予 Vivado 的 GUI 进程。

硬件服务器(hw_server)也会出现这个问题。

【讨论】:

  • 不,这不是解决方案。问题出在 Comodo 软件和防病毒软件中。我把它关掉了。模拟走得更远,但我收到一个新错误:) FATAL_ERROR: PrivateChannel: Error connected to server socket ERROR: [Simtcl 6-50] Simulation engine failed to start: Simulation exited with status code 4.
  • IEEE Std 1076-2008, 13.1 设计单元,第 5 段“给定库中的每个主要单元都应具有在给定库中唯一的简单名称,并且每个架构主体都与给定实体相关联声明应具有一个简单的名称,该名称在与该实体声明相关的架构主体的名称集中是唯一的。” 3.3.1 概述,第 3 段,“标识符定义了架构主体的简单名称;这个简单名称区分了与同一实体声明相关联的架构主体。”架构简单名称位于不同的名称空间中。
【解决方案2】:

已解决。这是您必须检查的几个步骤:

  1. 我不知道驱动器,但目录名称中没有逗号,可能是另一个不好的 :) 符号。最好的安装文件夹是 C:\xilinx :)
  2. 完全卸载 Comodo 互联网安全,因为关闭没有帮助,而且又造成了一些麻烦。
  3. 我阅读了有关将 Xilinx、Xilinx 许可证和项目文件夹包括到防病毒例外的信息,但我没有这样做

我希望它会对某人有所帮助:)

【讨论】:

  • 哦,安装文件夹问题...我从 9.1 开始使用 ISE,并且文件夹和文件名始终存在不符合 DOS 8.3 命名方案的问题。从 ISE 14.7 开始,大多数工具都已修复,但有些工具仍然存在名称中的空格问题。有时硬编码文件夹名称也存在问题......所以 C:\Xilinx 是最好的解决方案。 Altera、QuestaSim、ModelSim 等公司也是如此。
  • 是的,我听说过 ISE 中的文件夹问题,但我认为 Vivado 没有这样的问题 :)
  • 问题总是当你的目录名中有空格时,这个问题在之前的 Vivado 版本中解决了,但是在 2014.4 中又出现了。问题在于您的 %USERPROFILE% 参数包含空格或任何“不可接受的”字符。查看xilinx.com/support/answers/62444.html
  • 谢谢。你对空间的看法是对的,但我也遇到了没有空间的问题。除了目录名称之外,我还遇到了 Comodo 的问题。也许他们现在解决了这个问题......
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-12-16
  • 2011-11-12
  • 2016-07-14
  • 2014-12-25
相关资源
最近更新 更多