问题标签 [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 - 如何在 VHDL 中初始化 std_logic_vector?
我有一个 std_logic_vector(4096 downto 0) 信号,我想像下面这样初始化它:
出于某种原因,我需要用这些值初始化它(我不能将这些值分配给它,它必须被初始化)有没有办法做到这一点?我尝试了上面的代码,它没有工作
vhdl - 在部分重配置中控制 icap
我将在 virtex5 Xilinx Board 上实现部分重新配置。我已经编写了 3 个模块(顶部模块和递增计数器和递减计数器)并通过 Plan-ahead 创建了位流。结果由 2 个 LED(递增或递减计数)显示。我的问题是如何交换柜台分区?或者如何通过时间或外部信号控制icap?我更喜欢不使用 Microblaze,所以为 icap 编写状态机如下:
我将其中一个计数器(例如递增计数器)的位流(.coe 文件)保存在 ROM 中。默认情况下,电路是递减计数,但是当我通过 icap 交换比特流(从 ROM 加载递增计数器的 .coe 文件)时,没有任何反应并且电路正在递减计数。(代码中的*****)我该如何解决?
floating-point - VHDL中带有Std_logic_vector的定点算术运算
我正在用 VHDL 编写代码,用于信号的算术运算。我声明信号如下:
详细地:
那么用定点对std_logiC-vector进行算术运算是正确的方法吗?
举个例子,z= 0x01-0x11。这将给出负输出(0xF0):但我不想要负输出。我想将此值视为正值。我什至尝试将这些信号类型更改为无符号,但仍然无法成功。实际上我在 vhdl 中有一些复杂的数学运算,所以我在这里只是举一个例子来说明我的观点。我不想使用带符号的值。如何发送正无符号输出?
再举一个例子:如果我的输出是 bf978000,它将显示为负数 -1.18。我希望它是积极的,而不是消极的。
让我再举一个例子:
z= 2+ [0.2 * (4-10) ] = 0.8 。0.8 定点格式(0x000000cd)(24 个整数,8 个小数格式):0.2 是 0x00000033 定点格式。(24 个整数,8 个小数格式)但我得到 [0x00000002 + (0x00000033 * (0x00000004-0x0000000A)] = FFFFFED0。(这是负数)。如何再次将输出表示为 0.8。
fpga - Xilinx 7 系列中 BSCNE2 原语的任何示例用法?(使用 JTAG 端口配置用户设计)
我在http://www.xilinx.com/support/documentation/user_guides/ug470_7Series_Config.pdf (第 169 页 7 系列 FPGA 配置指南)中查看了有关 BSCNE2 的信息,但我不知道如何使用它基于该描述。
我希望能够使用 KC705 板上的 JTAG 端口为我们的设计转移一些配置数据。我认为(基于上面链接的用户指南中的描述)BSCANE2 是我需要做的......但我真的不明白为什么 BSCNE2 组件的所有引脚似乎都有错误的方向(TDO 是输入,而 TCK、RESET、TDI 等所有其他 JTAG 控制信号都是输出)。最初,我认为 FPGA 的 JTAG 端口的信号与实例化的 BSCNE2 组件之间存在隐式连接,但根据端口方向,情况似乎并非如此。我怀疑我在某处遗漏了一些信息,虽然我已经阅读了文档,但我仍然不清楚如何实际使用 BSCNE2 来做我想做的事情。
BSCNE2 组件的任何示例用法将不胜感激。
注意:上面链接的用户指南中对 BSCNE2 的描述说:
BSCNE2 原语允许内部 FPGA 逻辑和 JTAG 边界扫描逻辑控制器之间的访问。这允许在内部运行设计和 FPGA 的专用 JTAG 引脚之间进行通信
这听起来完全符合我的需要。
vhdl - 如何将多个 Xilinx NGC 网表合并到一个新网表
我正在使用 XST(Xilinx ISE 14.7 套件中的综合工具)将 VHDL 源文件编译为网表(*.ngc 文件)。
我的代码使用多个 Xilinx IP 内核(如 ChipScope ILA)进行调试,它们也被预先合成为 ngc 文件。我只想向我们的客户发送一个 ngc 文件。这是概念设计的证明,所以他应该看到一个简单的界面:
- 我们的 IPCore + VHDL 组件
- 他的 ChipScope ICON IP 核/网表,为我们的 IP 核提供了 5 个开放端口
如何将这些 ngc 文件信息合并为一个 ngc 文件?
ISE 设计流程使用“翻译”将所有网表合并在一起并发出一个ngd文件,该文件是“映射”步骤的输入。
c - 使用C编程调用VHDL实现
我正在考虑编写一个 C 函数,该函数基本上将实数数组/向量作为参数传递给 VHDL 实现,并且 VHDL 代码使用 FPGA 中的数组进行一些计算并将结果返回给 C 函数。所以,我的问题 - 我该如何编写一个 C 函数来调用 VHDL 实现?任何人都可以像教程、API 或任何东西一样指导我朝着正确的方向前进吗?
任何帮助将不胜感激。谢谢!:)
vhdl - 我的 VHDL 程序中的锁存器在哪里?
d_reg
我在这段代码中有一个涉及我的信号的锁存器。我是 VHDL 新手,我似乎找不到这个锁存器的原因。我已经为每个 in_data 的情况为 d_reg 分配了一个值。谁能解释为什么我有一个闩锁,以及将来如何防止这种情况发生?
我收到的警告是:
WARNING:Xst:1710 - FF/Latch
<d_reg_0>
(无初始值)在 block 中有一个常数值 0<delay_incrementor>
。此 FF/Latch 将在优化过程中被修整。
vhdl - VHDL 脉冲发生器似乎卡住了
我正在尝试构建一个脉冲发生器,它由两个由 mod-m 计数器驱动的脉冲发生器组成。计数器以设定的时间循环通过一个周期,每当它达到某个指定的时间时,脉冲发生器就会在这些时间产生短的方波脉冲。
这在模拟中有效,但是当我在我的 FPGA 板上实现它时,它将成功运行一个方波脉冲周期,但随后卡住,就好像计数器永久卡在 0(输出myag_q
并byag_q
卡在 0 和byag_l
,myag_l
卡在 1)。我已经自己模拟了计数器,并且知道它继续在 0 和 M 之间循环。
下面列出了顶层模块、mod-m 计数器和脉冲发生器的代码。另一个脉冲发生器与第一个非常相似。无需检查我的用户约束文件,因为我确信我得到了正确的引脚分配。我需要大致了解我在组合这些模块时是否犯了任何大错误/最后一个程序(脉冲发生器)是否正确编写。最重要的是,我需要知道我使用计数器触发脉冲的方式是否正确。
顶级模块
Mod-M 计数器
脉冲发生器
vhdl - Xilinx ISE:我应该担心警告 Xst:653 吗?
我从不提及任何与我的代码相关GND_3_o
或PWR_3_o
在我的代码中的内容。这些信号是什么,我应该关注与它们相关的这些警告,如果是,我该如何解决它们?
vhdl - Xilinx / ISim 似乎声称价值是 X,但它已被宣布
刚刚开始学习如何使用这个工具,所以如果我的问题看起来很愚蠢,我提前道歉。我在许多论坛中搜索了错误(已经回答了帖子,不是我的)并且无法理解我做错了什么所以这是我的问题:
我的行为准则:
我的测试台
我发布了整个代码,以防万一我在其中的某些部分遗漏了一些我不会想到的东西。所以,当我 ISim 它时,任何“成功”的 p3 触发器......
在这里再次引用它:
... ISim 在这部分中说
“算术操作数中有一个 'U'|'X'|'W'|'Z'|'-',结果将是 'X'(es)。”
并在该部分之后继续对某些值进行 Xs,尽管所有信号都已初始化(至少这部分中的信号)
“park_counter <= park_counter + 1;” 部分在模拟中正常工作,但“free_park_counter <= free_park_counter -1;” 没有。这完全让我感到困惑,因为它们被声明为相同的类型并且都以相同的方式初始化,即使具有不同的值。
那么我错过了什么,甚至公然做错了什么?任何帮助将不胜感激。只寻找错误,如果你能包含优化,因为我希望通过反复试验和思考来学习,并希望自己努力让它变得更好
另外,由于我每天登录2到3次,请耐心等待我的回复。提前致谢