问题标签 [xilinx-ise]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
1699 浏览

bash - 运行 Xilinx 命令行工具 - XST 不起作用

我目前正在开展一个项目,学生可以通过电子邮件提交他们的 xilinx 项目,我将综合、布局和布线并生成一个比特流,然后将其上传到 FPGA。

所以首先要做的事情。我在我的 Linux 机器上安装了 ISE 工具,现在我正在尝试从命令行运行 xilinx 的命令。但是当我尝试运行 xst 时,它会说:

有没有人有创建脚本来自动化 xilinx 合成过程的经验?感谢任何帮助:)

纳布拉赫罗

0 投票
2 回答
19076 浏览

type-conversion - VHDL 中的类型转换:实数到整数 - 是否指定了舍入模式?

在调试 Vivado 中用户定义的物理类型的处理时(阅读更多),我发现从实数到整数的类型转换有不同的行为。

这是我的示例代码:

虚拟触发器用于防止某些工具抱怨设计为空。

XST 14.7:

XST 似乎使用向上取整模式,它处理类型转换包含范围检查。所以我必须使用integer(-0.5)而不是natural(-0.5).

维瓦多 2014.4:

Synth 似乎使用模式轮到无穷大,它在没有范围检查的情况下处理类型转换。所以也许natural(..)只是integer(..).
注释行:constant int_2 : INTEGER := natural(-0.5);不会引发错误。

GHDL 0.29:

GHDL 0.29 没有范围检查natural(..)。我知道它已经过时了,但由于 0.31 讨厌我,我无法判断这是否已经修复。

GHDL 0.31:

我稍后会介绍结果。GHDL 拒绝分析我的代码,因为:
Top_PhysicalTest_Simple.vhdl:29:14: 文件 std_logic_1164.v93 已更改,必须重新分析

我的问题:

  • VHDL是否定义了舍入模式?如果是的话,是哪一个?
  • 如果没有定义模式,我应该如何处理舍入?
0 投票
1 回答
1800 浏览

vhdl - GHDL:如何绑定组件?

我正在使用 ghdl (0.32rc1) 运行自动化测试平台。我的一些测试平台需要来自 Xilinx ISE 的 unisim 原语。

我准备了两个外部文件,如果一个想测试我的例子。要运行我的示例,您需要安装 Xilinx ISE 或 Vivado,以便找到 MUXCY 原语。它位于文件夹中<InstallDir>\ISE_DS\ISE\vhdl\src\unisims\primitive

我使用以下 ghdl 命令分析了这三个文件:

到目前为止没有错误。
现在我开始了模拟,这只是 Windows 上的 ghdl.exe -r(Linux:-e 和 -r):

现在 ghdl 报告mux无法绑定。
我也尝试了参数--syn-bindingand -P.,但没有任何改变。

我要怎么做才能绑定 MUXCY 组件?

PS有人可以创建一个'ghdl'标签吗?我没有足够的声誉:)

0 投票
1 回答
2369 浏览

verilog - 输出端口上的 XXX

我已经编写了一个异步 fifo 缓冲区,但是当我运行它时,我在输出端口上得到了 XXX。我提到了关于 SO 的相关问题,其中说断言复位信号应该使它工作,但尽管这样做我仍然面临同样的问题。

任何帮助将不胜感激。谢谢

这是一个波形:

波形
外部链接

添加了Testbench模块fifoTb;

0 投票
1 回答
465 浏览

vhdl - VHDL simulation failed with unexpected result

I learned VHDL 5 years back, and never used after that as I was working on different domain. Now I'm working in a project that required some work in VHDL. I have to implement SPI to program a ADF4158 device. I opened a book for syntax and tried to program. I need to develop the below module, I coded as per my understanding and also a test bench but it doesnot work in the simulation like I need. Below is the module I want to develop and the over all block diagram.

Block diagram of process and vhdl module (clickable): dcdc

The following is the SPI timing diagram as follows (clickable):

The below is the VHDL code I wrote to acheive the above SPI communication:

I also wrote a test bench code to send the above module, belowis the code:

The simulation is not working properly, and so the code is wrong, but I can't find out where is the mistake, it would be great if some one can help me and make me understand my mistake.

0 投票
0 回答
294 浏览

vhdl - 在 Xilinx ISE 用户约束文件中指定触发器的保持时间

我使用 VHDL 编写了一个简单的 D 型触发器,并在 Xilinx ISE 中对其进行了综合。我希望指定设置和保持时间。在我的用户约束文件中,我放了一行:

TIMEGRP "D" 偏移 = 在 "clk" 上升之前 10 ns 有效 10 ns;

我是否认为这要求输入 D 在时钟上升沿之前最长 10ns 有效,并且必须在最长 10ns 内保持不变?那么在这种情况下,建立时间是 10ns,保持时间是 0ns?

谢谢。

0 投票
1 回答
200 浏览

vhdl - Xilinx 上 AES 的密钥扩展模块:错误:信号上的多源

这是在 Xilinx 9.2 ise 上用 VHDL 编写的代码。NK = 4 NR = 10;值=43;K_IN 是来自用户的密钥,形式为

K_OUT 是输出

subword 是一个返回 32 位输入的 Sbox 值的组件。

我无法弄清楚 K_IN 和 K_OUT 多信号源在哪里发生。请帮我弄清楚并解决这个问题。谢谢你。

输出错误:

错误:Xst:528 - 信号 <K_OUT<10><31>> 上的单元 <KEY_MODULE> 中的多源错误:Xst:528 - 信号 <K_OUT<10><30>> 上的单元 <KEY_MODULE> 中的多源错误:Xst:528 - 信号 <K_OUT<10><29>>
上的单元 <KEY_MODULE> 中的多源错误:Xst:528 - 信号 <K_OUT<10><28>> 上的单元 <KEY_MODULE> 中的多源ERROR:Xst:528 - 信号 <K_OUT<10><27>> 上的单元 <KEY_MODULE> 中的多源 ERROR:Xst:528 - 信号 <K_OUT<10><26>> 上的单元 <KEY_MODULE> 中的多源
错误:Xst:528 - 信号 <K_OUT<10><25>> 上的单元 <KEY_MODULE> 中的多源错误:Xst:528 - 信号 <K_OUT<10><24>> 上的单元 <KEY_MODULE> 中的多源错误:Xst:528 - 单元 <KEY_MODULE> 中的多源信号 <K_IN<3><1><7>>
错误:Xst:528 - 信号 <K_IN<3><1><6>> 单元 <KEY_MODULE> 中的多源错误:Xst:528 - 信号 <K_IN<3>< 单元 <KEY_MODULE> 中的多源1><5>> 错误:Xst:528 - 单元 <KEY_MODULE> 信号 <K_IN<3><1><4>>
错误:Xst:528 - 单元 <KEY_MODULE> 信号多源<K_IN<3><1><3>> ERROR:Xst:528 - 单元 <KEY_MODULE> 中的多源信号 <K_IN<3><1><2>> ERROR:Xst:528 - 多源输入信号 <K_IN<3><1><1>> 上
的单元 <KEY_MODULE> 错误:Xst:528 - 信号 <K_IN<3><1><0>> 上单元 <KEY_MODULE> 中的多源错误:Xst: 528 - 单元中的多源 <KEY_MODULE>信号 <K_IN<3><2><7>> 错误:Xst:528 - 单元 <KEY_MODULE> 中的多源信号 <K_IN<3><2><6>>
错误:Xst:528 - 信号 <K_IN<3><2><5>> 单元 <KEY_MODULE> 中的多源错误:Xst:528 - 信号 <K_IN<3>< 单元 <KEY_MODULE> 中的多源2><4>> 错误:Xst:528 - 单元 <KEY_MODULE> 信号 <K_IN<3><2><3>>
错误:Xst:528 - 单元 <KEY_MODULE> 信号多源<K_IN<3><2><2>> ERROR:Xst:528 - 单元 <KEY_MODULE> 中的多源信号 <K_IN<3><2><1>> ERROR:Xst:528 - 多源输入信号 <K_IN<3><2><0>> 上
的单元 <KEY_MODULE> 错误:Xst:528 - 信号 <K_IN<3><3><7>> 上的单元 <KEY_MODULE> 中的多源错误:Xst: 528 - 单元中的多源 <KEY_MODULE>信号 <K_IN<3><3><6>> 错误:Xst:528 - 单元 <KEY_MODULE> 中的多源信号 <K_IN<3><3><5>>
错误:Xst:528 - 信号 <K_IN<3><3><4>> 单元 <KEY_MODULE> 中的多源错误:Xst:528 - 信号 <K_IN<3>< 单元 <KEY_MODULE> 中的多源3><3>> 错误:Xst:528 - 单元 <KEY_MODULE> 信号 <K_IN<3><3><2>>
错误:Xst:528 - 单元 <KEY_MODULE> 信号多源<K_IN<3><3><1>> 错误:Xst:528 - 单元 <KEY_MODULE> 中的多源信号 <K_IN<3><3><0>>

0 投票
1 回答
256 浏览

verilog - 如何提高 Xilinx ISE 中的默认执行速度?

我试图使用 100MHz 时钟来实现 1Hz 时钟。
然而,在 xilinx ISE 中,ISIM 的执行速度约为每秒 5 毫秒。
这对我的项目来说太慢了。
如何修改默认执行速度?

0 投票
2 回答
2478 浏览

vhdl - VHDL:连接 2 个向量 - 结果向量方向是什么?

论文:
Xilinx XST 在连接这些向量后反转向量的方向。

我有一个 SATAController 和一个 PicoBlaze 软核 CPU。该 CPU 使用寄存器接口 + 交叉时钟来读取/写入测试数据。CPU 写入 6 个 8 位寄存器,这些寄存器存储 24 位偏移量和 24 位长度字段以用于读取请求。这些地址和长度字段扩展为 48 位(关键字:LBA-48 寻址模式)。

它看起来怎样?

通常人们会猜测调整大小会导致
Address_LB == "0000_0000_0000_0000_0" & sync_Offset & "000_0000"
BlockCount_LB == "0000_0000_0000_0000_0" & sync_Length & "000_0000"

但是,事实并非如此。经过三个小时的调试,我发现综合结果如下:
Address_LB = "0000_000" & sync_Offset & "0_0000_0000_0000_0000"
BlockCount_LB = "0000_000" & sync_Length & "0_0000_0000_0000_0000"

那么会发生什么?
信号sync_*是下降向量。与运算符连接后&,向量呈上升方向,这会导致调整大小以在向量的另一个边界对齐 sync_*。

所以我在网上搜索了这个现象,我找不到任何东西。我还搜索了 std_logic_1164,但没有为 std_logic(_vector) 明确定义连接运算符。

所以这是我的问题:

  • 这是特定于语言的功能或工具吗?
    (我使用 Xilinx XST 进行这些测试。)
  • 在哪里&定义?
  • 连接两个后得到的向量方向是什么:
    • 相等的有向向量或两个
    • 反向向量?

解决方案:

  1. 可以使用已知方向的中间信号。
  2. 可以编写一个函数来强制某个方向。见功能descend(..)

上面的固定示例:

附录 - 函数声明:

调整大小功能:

编辑1:

涉及的包:

T_SLV_<n>代表“类型;std_logic_vector;n 位 -> (n-1 downto 0)”

0 投票
1 回答
482 浏览

visual-studio-2010 - Xilinx ISE Project Navigator(nt64) 和 MVS2010

在使用 Xilinx 14.7 ISE (nt64) 为简单的 FPGA LED 项目“生成编程文件”后,我收到以下错误:

我试图解决将路径更改为的问题:

但是它不起作用。

在VisualStudio 2010 的文件夹中('C:\PROGRA~2\MICROS~2.0\VC\include\map'),我找到了map 文件,它显然与寻找Xilinx ISE 的map 文件不对应。

我快速而丑陋的解决方案是将文件夹 C:\PROGRA~2\MICROS~2.0\VC\include 的名称更改为 C:\PROGRA~2\MICROS~2.0\VC\ _include

最后,Xilinx 找到了相应的映射文件,并且可以正常工作。但是,如果我想将 VS2010 用于其他项目,我需要再次重命名包含文件夹,并且 ISE 中的“生成编程文件”不再起作用。

我想知道是否有人可以帮助我提供更好的解决方案,以避免赛灵思在 MVC2010 的包含文件夹中查找文件映射。它应该直接在 C:\Xilinx\14.7\ISE_DS\ISE\bin\nt64 中找到映射文件。

提前致谢。