问题标签 [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.
vhdl - 如何在 ISim 中返回一个空行?
它目前在我的控制台窗口中的样子:
我希望它看起来像什么:
关于如何做到这一点的任何想法?
编辑:
这段代码
打印出这个:
如果我也不必打印出文件名 (/TEST_tb/),这将非常有效。这是要解决的新障碍。
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”以禁用映射器中的逻辑修整。
vhdl - 有没有办法在 ISim 中显示变量?
我正在尝试监视此变量的状态:
但我在 ISim 中收到此错误:
ISim 尚不支持跟踪 VHDL 变量。
您可以将变量转换为测试台文件中的信号吗?或者有没有其他方法可以将此值显示为波形?
完整代码:
vhdl - 在 Process 中将 std_logic_vector 转换为整数以测试值?
我想做的很简单,只是从一个基本的计数器产生一个脉冲。我的代码如下所示。我的问题是,是否有一种比较 std_logic_vector 和整数的有效方法?我只需要在这个过程中的那个实例上比较它们。另外,您可以对 4 位信号进行算术运算,如我的代码所示吗?你需要一个特定的图书馆吗?
编辑:
Div16 std_logic_vector 中的位数将取决于所选除数的大小(如下所示)。如何正确格式化?需要哪些库?
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 - 信号不完整。该信号不驱动设计中的任何负载引脚。
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 中。如果有人尝试过,请帮我节省宝贵的时间
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]
表达式如何超出范围?这个消息很奇怪。
是否有另一种方法来获取循环的范围,具体取决于当前行的长度?
verilog - 当我在 Xilinx 中使用 Verilog 描述硬件 RAM 时,如何解决警告“HDLCompiler: 1007 - Element index 7 into memp is out of bounds”?
我有以下双端口 RAM 内存的硬件描述:
当我在 Xilinx ISE 14.7 中进行综合时,一条消息告诉我综合是正确的。如果我还执行了行为模拟,则结果是预期的。
但是,如果我执行了 Post-Route 模拟,则会出现一条警告消息:
并且模拟不起作用!!!!重要的一点是我正在使用 ISim 模拟器。如果我描述了单端口 RAM 的硬件,也会出现相同的警告。
谁能告诉我如何解决这个警告?
xilinx-ise - 无法在 Xilinx 14.2 中添加源
我目前在 Windows 8.1 中使用 ISI Design Suite (Xilinx) 14.2 版本。我想将某个位置的源添加到我的主文件,但是每当我单击添加源选项时,每次执行此操作时 Xilinx 软件都会关闭。
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
它有点帮助。
- 当我现在在 ISE 中单击一个文件时,其对应的缓冲区将在 Emacs 中打开。但是缓冲区仍然不可见,我必须
C-x b
自己处理。 - 此外,如果我在 ISE 的控制台中单击错误信息,包含错误的文件将在 Emacs 的后台打开,光标位于错误位置。
虽然如果我比较 Emacs VHDL 模式带来的优点和缺点并没有什么大不了的,但我确实喜欢Emacs 可以将我在 ISE 中打开的文件更改为当前缓冲区。 那么问题是如何设置 Emacs 或 Xilinx ISE 以将 Emacs 的当前缓冲区更改为我在 ISE 中打开或单击的缓冲区?
我想它应该是一些与 Emacs 相关的配置,而不是 ISE 中的设置(显然 ISE 的选项没有太多选择)。这可能是一个简单的问题,但它超出了我目前对 Emacs 配置的了解。如果有人可以在这个问题上帮助我,我真的很感激。提前谢谢你们:)
PS对不起我的英语表达不好。希望你能理解我的问题。