
[英]VHDL: big slv array slicing indexed by integer (big mux)
我想在 VHDL 中对 std_logic_vector 进行切片,以获得固定尺寸的部分。 一般的问题是:din N*M bits dout M bits sel clog2(N) bits 示例中的预期行为(伪代码):输入 16 位,希望将其分成 4 个子向量,每个子向量为 4 位。s ...
[英]VHDL: big slv array slicing indexed by integer (big mux)
我想在 VHDL 中对 std_logic_vector 进行切片,以获得固定尺寸的部分。 一般的问题是:din N*M bits dout M bits sel clog2(N) bits 示例中的预期行为(伪代码):输入 16 位,希望将其分成 4 个子向量,每个子向量为 4 位。s ...
[英]Error (10818): Can't infer register because it does not hold its value outside the clock edge, how to fix it?
我在 VHDL 中有一个 ram 的代码,在合成时出现以下错误: 错误 (10818):无法推断 RAM.vhd(50) 中“data.table[19][13]”的寄存器,因为它的值不保持在时钟边沿之外任何帮助,将不胜感激! 这是代码: ...
[英]Initialize a constant array of std_logic_vector from binary file in VHDL
我已经打包了一个 IP 并且在它的顶部模块中我有一个常量数组 std_logic_vector 出于某种目的。 如果我只需要在设计中使用这个 IP 的一个实例,我可以根据需要编辑这个常量数组,瞧,但是如果我需要这个 IP 的多个实例(这个常量数组对于每个实例都应该不同)我必须找到另一种方法来做到这一 ...
[英]VHDL-2008 Convert Array Width
假设我有以下内容: VHDL-2008 中是否有一种通用方法来指定任何这些类型之间的转换,而无需为每种可能的排列定义转换函数? ...
[英]VHDL-2008 External Naming Compaction
我正在使用外部命名来实例化以下代码: 如您所见,我的引用中有很多重复。 有没有办法做类似的事情: 这样我就可以缩短我所有的外部命名参考? ...
[英]VHDL: Generate a generic case statement with adjustable amount of cases
我想要通过将值保存在 LUT 中来获得 Tanh function 的近似值(通过这个我正在进行量化)。 我想选择 LUT 中的条目数。 作为一个不正确的例子,我想像这样的代码 例如,如果我想要 0 到 3 范围内的 4 个条目,我希望它正在合成如下代码: 有没有什么办法可以使这样的代码或实现其背后 ...
[英]VHDL Code MAC Unit - How to avoid overflow by summing up two signed signals without adding additional bits
我想做一个代码,它会累积一个输入信号。 这意味着输入信号被添加到先前的值。 这就是 output 问题是两个变量都有符号。 如果发生溢出,则从k-1 position溢出到k-1 position,表示符号被破坏。 例如,如果我有 01111,第一个“0”作为符号,并且我添加“10”,它会变为“10 ...
[英]VHDL Error "Expecting constant slice on LHS"
我写了一段代码。 这应该在 position 处插入一个“1”,它由信号 E_reg_sig 的二进制部分确定。 留给“1”的位应该由信号E_reg_sig的小数位填充。 有一些特殊情况: position 高于 Output 信号范围:则所有位都设置为高 “1”左边的位比 E_reg_sig ...
[英]Modelsim 2021.4 (Windows): How to exclude files from code coverage report
我试图从我的代码覆盖率报告中排除某些 vhdl 文件,但我无法让它工作。 我的报告总是显示所有可用的文件。 我的工作流程如下: 在 Modelsim 中,我使用代码覆盖选项手动编译文件(在 GUI 中)。 测试台的脚本是这样的 Modelsim 将我的排除项(在 GUI 中)识别为“未决排除项”。 ...
[英]Sequential element is unused and will be removed from module in vivado
我收到警告“[Synth 8-6014] Unused sequential element MVM_RST_reg was removed.”我有点困惑,因为信号已连接并使用定义: 我的组件 讯号 我的实例化 复位的使用 详细的警告是指实例化的行RST=> MVM_RST ...
[英]Get IEEE-754 single precision representation of a real number in VHDL
我想将一个实数转换为他的位表示,在 VHDL TB 中使用符号、指数和尾数字段用于测试目的(作为 32 位的 STD_LOGIC_VECTOR)。 有没有办法直接在 VHDL 中将实数转换为这种表示形式? 我知道在 C 中可以使用结构来实现它,但我不知道在 VHDL 中是否可行。 谢谢你。 编辑: ...
[英]Bad operand types 'std_ulogic' and 'string(1 to 1)' from vhdl
我在第 13 行和第 27 行的代码中有这个错误,在 vhdl 上,有人知道哪里出了问题吗? 我在其他电脑和编译器上试过,都遇到了同样的问题 ...
[英]VHDL 2nd Ring Oscillator Using External Clock,
我是 VHDL 的新手,所以我使用电路板的内部时钟为环形振荡器开发了一些代码,但我想使用内部时钟添加第二个,但我在理解如何使用它时遇到了一些问题。 第一个完全正常,但是当我多次尝试添加第二个时,输出出现问题。 我还想对两个输出进行异或并将它们存储在我的代码中的向量中,但我一直在努力解决为什么它不起 ...
[英]Reset from Port to internal components connection
我有一个由另一个模块组成的模块。 例如 这背后的逻辑是我有几个其他模块连接到重置(本例中未显示)并希望它们在不同的时间步骤重置但都在开始时(我不知道这是否可运行,因为我只将它写为最小示例) 我的模块“MVM”就像 顶层模块(层)的 In 端口在每个时钟周期获取新数据,第一个除外。 第一个时钟周期保留 ...
[英]How to separate digits from a two-digit number in VHDL
我在 VDHL 中有我的简单代码,它将数字与 2 位数字分开,但在测试时,我的分隔数字保持无符号 (u)。 我有一种预感,问题可能出在变量的类型上,当我对它们使用它们不支持的操作时。 我在 gtkwave 中使用 ghdl 和 gtkwave 变量 ...
[英]Converting arrays from signed to integer in VHDL?
我已经声明了一个数组 对于模拟,我想将数组显示为整数所以我创造了 和 但它失败了。 如何转换? 不想使用 for 循环 ...
[英]In behavioral simulation, my FSM have a state that take more than 1 clock cycle ... And i don't like it
如果您在我的代码中发现一些小错误,请原谅我自己。我仍然是 VHDL 的初学者。 好吧,我必须处理来自 ADC 的串行接口。 接口非常简单...有一条串行数据线(24 位帧),一个告诉我新样本数据何时可用的信号 DRDY 和一个将位推入(上升沿)。 一切都在连续运行...... 我需要正确捕获样本的 ...
[英]synchronous Reset doesnt work (VHDL) in Simulation, but why?
我真的很困惑,因为它是一个简单的代码,我没有发现错误。 语法很好,但在模拟中 Dready 和 acc_value 的值不会改变。 这是我的模块 MVM.vhd: 如果 Reset 为高电平,则应将 Dready 和 acc_value 的值设置为“0” 我的测试台: 在模拟中,DREADY 和 ...
[英]Design of MAC unit using VHDL - error "Array sizes do not match"
尝试用 VHDL 设计一个简单的 MAC 单元 似乎acc_value:= (acc_value + WEIGHT* DIN); . 模拟中出现错误“错误:数组大小不匹配,左数组有 16 个元素,右数组有 32 个元素”让我感到困惑,因为对我来说 arrays 都有 16 位(或?) ...
[英]VHDL problem with a counter and its simulation
我做了一个计数器,就像我通常在 VHDL (Modelsim) 上做的那样,当我用我的测试台模拟我的代码时,所有的计数器根本不工作。 它们保持在 0。这是计数器的代码: 这是程序给出的警告:警告:算术操作数中有一个'U'|'X'|'W'|'Z'|'-',结果将为'X'(es)。 我已经阅读了多个关于 ...