问题标签 [ghdl]
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 程序显示有关未绑定组件实例的警告
使用此架构我成功编译和分析。但是在详细说明时它显示
而且我的波形始终为零。我需要做什么??
vhdl - VHDL 仿真无法运行
我刚刚拿起了 VHDL 设计指南,我正在完成第一章的练习。我的 2 位多路复用器遇到了一个我不理解的问题。
我的多路复用器的代码:
我不知道为什么我需要“等待 1 ns;” 线。如果我将它移到“end if”行下方,则模拟将无法工作,并且我不会从 GHDL 获得我的 .vcd 输出。如果没有等待线,或者它位于错误的位置,我的 vcd 文件中就会出现关于开始时间和结束时间相同的错误。
我的流程中是否需要等待语句才能工作?
我的测试台代码如下:
concurrency - VHDL中带有向量的并发信号分配
我正在尝试使用 GHDL 编译此代码,但出现错误:'=>' is expected而不是'not'。我希望代码没有任何进程,也没有隐式进程。
vhdl - 使用 GHDL 使用 COE 文件模拟 Xilinx FIR 编译器
在我能找到的任何论坛中似乎都没有被问到,我也找不到如何使用 GHDL 文档来做到这一点。显然我没有足够的声誉来向 SuperUser 提出 GHDL 问题(他们没有标签),所以我必须在这里问。
我正在尝试模拟一个 DSP 内核,它包含几个自写的 vhdl 内核以及一些使用 GHDL 的 Xilinx coregen 内核。我不得不承认,我对 GHDL 相当陌生,但对 VHDL 并不陌生。我知道有问题的核心和测试平台的逻辑是合理的,因为它使用 ISim 模拟得很好。然而,该程序有其局限性,这就是我想尝试 GHDL 的原因。
但是,由于缺少过滤器文件,GHDL 似乎在模拟 Xilinx FIR 编译器时会退缩。
我正在使用下面的 Makefile 片段设置我的模拟环境
从导入语句中可以看出,我的源文件实际上位于不同的目录中,但这不会打扰 GHDL。
直到最后一条语句,一切运行良好。但是,在运行最后一个命令时,我收到一个错误:
带有未打开文件的 endfile
来自:xilinxcorelib.fir_compiler_v6_3(behavioral).fn_read_mif_file at fir_compiler_v6_3.vhd:1648
ghdl:error: 细化过程中的错误
我认为问题在于我的 FIR 编译器是使用 Xilinx FIR 编译器生成的,并使用 COE 文件来指定滤波器系数。发生错误的行实际上打开了指定滤波器系数的文件。在 coregen 生成的 VHDL 文件中,它在此处指定
我现在的问题是:如何让 GHDL 查找文件。我已经将它复制到运行运行命令的文件夹中。据我所知,我无法导入非 vhdl 文件以供 GHDL 识别。那么如何使用 GHDL 模拟 FIR 编译器生成的滤波器呢?
我希望有人知道如何做到这一点。
提前致谢!
vhdl - 如何在常量的case语句中设置分支?错误:选择必须是本地静态表达式
Verilog 允许将 case 语句的分支定义为不同文件中的常量。例子:
我怎样才能在 VHDL 中做同样的事情?我想在一个包中定义我的案例常量,并将这些常量拉入当前架构并使用这些常量来定义案例语句的分支。工作示例:
哪个工作正常...
然而,当我在我的 VHDL 代码中尝试它时,我得到一个奇怪的错误:
这是给出此错误的代码:
memory - VHDL 运行时:无效的内存访问(悬空访问或堆栈大小太小)
运行测试台时出现奇怪的错误,我以前从未见过。我正在尝试用 4 个寄存器模拟一个 8 位计算器。该计算器有 8 位指令,用于加、减、相等分支、立即加载和打印到监视器。我已经检查以确保我没有处于任何无限循环中。我在网上进行了研究,似乎没有任何具体原因导致我出现此错误。
我对循环、内存泄漏进行了三次检查,还尝试增加堆栈帧。到目前为止都没有成功。使用命令 ghdl -a、-e 和 -r 来分析、编译和运行。
'''
无效的内存访问(悬空访问或堆栈太小)
vhdl - GHDL:文件 std_logic_1164.v93 已更改,必须重新分析
在使用 ghdl vhdl 模拟器进行编译时,有什么想法会导致此错误吗?
common_pkg.vhd 是:
这是ghdl版本:
vhdl - 使用 GHDL 仿真器编译整个 Xilinx ISE unisims 和 XilinxCoreLib 库(减去安全 ip)
我很好奇是否有人有幸为 GHDL 模拟器编译了整个 Xilinx ISE unisims 库?我试图只为 unisims 编译包文件,但它给了我一个错误。
我想知道它是否会通过注释掉 VHDL 代码中不受支持的部分来完全编译……或者还有其他事情需要完成,例如编译不同的重要库或使用不同的版本 --std。因为我知道我可以取出一个 unisims 组件并使用 ghdl 进行编译……只是想知道如何完成其余 90% 的组件。
vhdl - VHDL - GHDL 用较小的位长度初始化 std_logic_vector
我有一个signal dataIn : std_logic_vector ( 15 downto 0);
例如,我想提供一个小于 16 位的输入dataIn <= x"000a"
,这些位占据最高有效位,其余位为零。在verilog中你可以很容易地做到这一点,但在VHDL中你会得到错误:
“字符串长度与定义的匿名整数子类型不匹配...”。
我知道如果您使用16x"bit_string"
可以解决问题,但这仅适用于 VHDL-2008,而 ghdl 尚不支持 VHDL-2008。
IEEE Std 1076-2002 有什么方法吗?
vhdl - GHDL模拟器不支持没有错误的vhdl属性?
我编写了一些 vivado RTL,然后在实体的端口中添加了一些 vhdl 属性,以定义到 Xilinx Vivado 工具的接口,如下所示:
在那里,我尝试使用 GHDL 编译上述 rtl,如下所示:
GHDL 产生以下错误:
但是,当我用 modelsim 编译它时,它不会产生错误。
有谁知道如何在 GHDL 中解决这个问题,以便我可以添加这些属性,模拟器会忽略它们而不产生错误?