问题标签 [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 回答
1972 浏览

vhdl - 如何在 ISim 中返回一个空行?

它目前在我的控制台窗口中的样子:

我希望它看起来像什么:

关于如何做到这一点的任何想法?

编辑:

这段代码

打印出这个:

如果我也不必打印出文件名 (/TEST_tb/),这将非常有效。这是要解决的新障碍。

0 投票
2 回答
2137 浏览

vhdl - 新的 DCM CLK 实例化错误?

这是从我的主 vhdl 文件分支出来的 .xco 文件中的代码:

目标是从 50 MHz 时钟产生 18.432 MHz 时钟。这是我添加到我的主 vhdl 文件中的代码:

但是,我收到此错误:

ERROR:Xst:2035 - 端口有非法连接。此端口连接到输入缓冲器和其他组件。

有任何想法吗?

编辑:完整代码

编辑:.XCO 文件代码

编辑(新 CLK 实例化):从 50 MHz CLK 创建 18.4 MHz CLK

得到这个错误:

错误:包装:198 - 未生产 NCD。从设计中删除了所有逻辑。这通常是由于设计中没有输入或输出 PAD 连接,也没有标记为“SAVE”的网络或符号。您可以在设计中添加 PAD 或“SAVE”属性,或运行“map -u”以禁用映射器中的逻辑修整。

0 投票
2 回答
1526 浏览

vhdl - 有没有办法在 ISim 中显示变量?

我正在尝试监视此变量的状态:

但我在 ISim 中收到此错误:

ISim 尚不支持跟踪 VHDL 变量。

您可以将变量转换为测试台文件中的信号吗?或者有没有其他方法可以将此值显示为波形?

完整代码:

0 投票
2 回答
1191 浏览

vhdl - 在 Process 中将 std_logic_vector 转换为整数以测试值?

我想做的很简单,只是从一个基本的计数器产生一个脉冲。我的代码如下所示。我的问题是,是否有一种比较 std_logic_vector 和整数的有效方法?我只需要在这个过程中的那个实例上比较它们。另外,您可以对 4 位信号进行算术运算,如我的代码所示吗?你需要一个特定的图书馆吗?

编辑:

Div16 std_logic_vector 中的位数将取决于所选除数的大小(如下所示)。如何正确格式化?需要哪些库?

0 投票
1 回答
2231 浏览

vhdl - 高密度脂蛋白不完整。信号不由设计中的任何源引脚驱动

我正在尝试在 Spartan-3E 开发板上编写一个非常简单的程序。我想读取滑动开关并使用滑动开关旁边的 LED 指示哪个开关处于打开位置。

这是我的代码:

这是我的 *.ucf 文件:

这是我得到的错误:

PhysDesignRules:368 - 信号不完整。该信号不由设计中的任何源引脚驱动。

错误:PhysDesignRules:368 - 信号不完整。该信号不由设计中的任何源引脚驱动。

错误:PhysDesignRules:368 - 信号不完整。该信号不由设计中的任何源引脚驱动。

错误:PhysDesignRules:368 - 信号不完整。该信号不由设计中的任何源引脚驱动。

错误:PhysDesignRules:368 - 信号不完整。该信号不由设计中的任何源引脚驱动。

错误:PhysDesignRules:368 - 信号不完整。该信号不由设计中的任何源引脚驱动。

警告:PhysDesignRules:367 - 信号不完整。该信号不驱动设计中的任何负载引脚。

警告:PhysDesignRules:367 - 信号不完整。该信号不驱动设计中的任何负载引脚。

警告:PhysDesignRules:367 - 信号不完整。该信号不驱动设计中的任何负载引脚。

警告:PhysDesignRules:367 - 信号不完整。该信号不驱动设计中的任何负载引脚。

0 投票
0 回答
513 浏览

verilog - 如何减少 MIG v1.9 中 DDR3 模拟的校准时间?

我正在使用 Artix 7 (xc7a200t-2fbg676) 设备。我使用 MIG v1.9 生成了 DDR3 内核。当我尝试对设计进行仿真时,需要 107 us 才能完成校准。仿真以 20ns/s 的步长运行。所以校准需要 30 多分钟,完全浪费时间。

是否有任何解决方法可以将此校准时间减少到可接受的值,例如 Virtex 6 设备的 MIG v3.92 中的 16 us?

Xilinx 已在 MIG v1.7 中提出了一种解决方法,但它已包含在其最新的 MIG v1.9 中。如果有人尝试过,请帮我节省宝贵的时间

0 投票
0 回答
492 浏览

json - readline(fh, line) 调用后的一行多长时间?

我用 VHDL 编写了一个JSON解析器。解析器核心使用两个嵌套循环:
1. 遍历所有行直到 EOF
2. 遍历每个 char 直到行结束

为了清除:它不是硬件解析器。解析器用于在综合时读取综合设置以配置实例化实体,例如 UART 模块中的波特率。)

内部循环如下所示:loopj : for j in CurrentLine.all'range loop
Source: JSON.pkg.vhdl

此代码适用于 XST 14.7、iSim 14.7 和 GHDL,但不适用于 Vivado。Vivado 不支持.all。错误消息是这样的:

错误:[Synth 8-27] 不支持访问类型取消引用 [D:/git/GitHub/JSON-for-VHDL/vhdl/JSON.pkg.vhdl:293]

由于 kraigher 的提示,更新了代码:

@Paebbles 您是否尝试过 foo'range 而不是 foo.all'range?我想我记得它应该隐含地工作。- 克莱格

我之前尝试过,但出现错误。也许这个错误与另一个有关。现在它的工作。所以我当前的 loopj 行看起来像这样: loopj : for j in CurrentLine'range loop

这条线在 XST、iSim、GHDL 和 QuestaSim 中运行良好,但 Vivado 仍然存在问题:

信息:[Synth 8-638] 合成模块 'Boards2' [.../Boards2.vhdl:16]
错误:[Synth 8-278] 表达式 0 超出范围 [.../JSON.pkg.vhdl:293]
错误:[Synth 8-421] 分配的 rhs 和 lhs 中的数组大小不匹配 [.../Boards2.vhdl:20]
错误:[Synth 8-285] 合成模块“Boards2”失败 [.../Boards2.vhdl :16]

表达式如何超出范围?这个消息很奇怪。


是否有另一种方法来获取循环的范围,具体取决于当前行的长度?

0 投票
1 回答
586 浏览

verilog - 当我在 Xilinx 中使用 Verilog 描述硬件 RAM 时,如何解决警告“HDLCompiler: 1007 - Element index 7 into memp is out of bounds”?

我有以下双端口 RAM 内存的硬件描述:

当我在 Xilinx ISE 14.7 中进行综合时,一条消息告诉我综合是正确的。如果我还执行了行为模拟,则结果是预期的。

但是,如果我执行了 Post-Route 模拟,则会出现一条警告消息:

并且模拟不起作用!!!!重要的一点是我正在使用 ISim 模拟器。如果我描述了单端口 RAM 的硬件,也会出现相同的警告。

谁能告诉我如何解决这个警告?

0 投票
0 回答
1068 浏览

xilinx-ise - 无法在 Xilinx 14.2 中添加源

我目前在 Windows 8.1 中使用 ISI Design Suite (Xilinx) 14.2 版本。我想将某个位置的源添加到我的主文件,但是每当我单击添加源选项时,每次执行此操作时 Xilinx 软件都会关闭。

0 投票
1 回答
710 浏览

emacs - 使用 Emacs 作为 Xilinx ISE 的外部编辑器,如何在点击设计文件时将相关缓冲区更改为当前缓冲区?

自从我开始学习 Emacs 以来已经有一年左右的时间了,我确实喜欢它作为通用文本编辑器的强大功能和灵活性。当我尝试了 LaTeX/TeX 的 Auctex 模式时,我知道我永远不会回去阅读我应该使用哪个 TeX 编辑器。当我尝试过它的 Pyhon 模式时,我知道我永远不会为选择 Python 编辑器/IDE 而烦恼。嗯,对于 Emacs 的 VHDL 模式也有同样的感觉。

我不打算将 Emacs 实现为一个完整的 FPGA 设计解决方案(尽管我尝试过)。相反,我更喜欢将 Emacs 用作外部编辑器(在我的例子中是 Xilinx ISE),并根据开发者的特定 IDE 遵循设计顺序。所以根据这个编辑器选项,我在我的 ISE 中设置了编辑器选项{C:\Program Files (x86)\emacs\bin\emacsclient.exe} +$2 $1。但是,如果我runemacs.exe按照 Xilinx 的建议使用,每次我在 ISE 中单击一个文件时,都会启动一个新的 Emacs。有了emacsclient.exe它有点帮助。

  1. 当我现在在 ISE 中单击一个文件时,其对应的缓冲区将在 Emacs 中打开。但是缓冲区仍然不可见,我必须C-x b自己处理。
  2. 此外,如果我在 ISE 的控制台中单击错误信息,包含错误的文件将在 Emacs 的后台打开,光标位于错误位置。

虽然如果我比较 Emacs VHDL 模式带来的优点和缺点并没有什么大不了的,但我确实喜欢Emacs 可以将我在 ISE 中打开的文件更改为当前缓冲区。 那么问题是如何设置 Emacs 或 Xilinx ISE 以将 Emacs 的当前缓冲区更改为我在 ISE 中打开或单击的缓冲区?

我想它应该是一些与 Emacs 相关的配置,而不是 ISE 中的设置(显然 ISE 的选项没有太多选择)。这可能是一个简单的问题,但它超出了我目前对 Emacs 配置的了解。如果有人可以在这个问题上帮助我,我真的很感激。提前谢谢你们:)

PS对不起我的英语表达不好。希望你能理解我的问题。