使用通用参数作为端口数组长度

2023-11-29

我想做的事:

entity FIRfilter is
   generic (
      NTAPS : integer );
   port (
      -- ...
      h : in array(0 to NTAPS-1) of std_logic_vector(15 downto 0) );
end FIRfitler;

但语法就行了h是不正确的。

这个问题是类似的:如何在 VHDL 中指定整数数组为通用数组?但这并不能让我获得实例化时的一般点击次数。这可能吗?


如果您在包中声明不受约束的数组类型,则可以基于泛型来约束该数组,如下面的代码所示:

library ieee; use ieee.std_logic_1164.all;

package FIRfilter_pkg is
  type x_t is array(natural range <>) of std_logic_vector(15 downto 0);
end package;


library ieee; use ieee.std_logic_1164.all;
library work; use work.FIRfilter_pkg.all;

entity FIRfilter is
   generic (
      NTAPS : integer );
   port (
     x : in x_t(0 to NTAPS-1);
     z : out std_logic_vector(15 downto 0) );  -- For simple example below
end FIRfilter;


library ieee; use ieee.numeric_std.all;

architecture syn of FIRfilter is
begin
  z <= std_logic_vector(unsigned(x(0)) + unsigned(x(1)));  -- Usage example
end architecture;
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用通用参数作为端口数组长度 的相关文章

  • Xilinx ISE 14.7 设置编辑器字体大小

    左上角 edit preference
  • VHDL:正式端口“portName”没有实际值或默认值

    我在实例化 VHDL 模块 PWM 的 VHDL 测试平台上收到编译错误 正式端口 Duty Cycle 没有实际或默认值 当站在 dev to test PWM 代码行时会看到该错误 在实例化的 PWM 模块中 Duty Cycle st
  • ERROR:Xst:827 = 信号计数无法合成,同步描述错误

    我正在尝试模拟电梯 结果出现错误 ERROR Xst 827 Signal count cannot be synthesized bad synchronous description 我正在关注此来源的代码 https www yout
  • 如何在 VHDL 中读取文件时消除空格

    我的输入文件中有以下数据可供读取 10101100 11010100 10101100 11010100 11111110 10111001 11111110 10111001 我需要读取每个半字节并将它们写入数组 但由于空格 行的长度会变
  • 如何在 Sphinx 运行时预处理源文件?

    我已经为我的项目设置了 Sphinx 文档 并希望提取源文件的文档字符串并将它们嵌入到最终文档中 不幸的是 Sphinx 不支持源文件的语言 VHDL VHDL 似乎没有 Sphinx 域 所以我的想法如下 挂钩 Sphinx 运行并在 S
  • Doxygen:使用 C++ 和 VHDL 进行项目的无缝文档

    我正在建立一个关于某种库的文档 该库由 C C 部分和 VHDL 部分以及一些仅包含 doxygen 的指导性页面组成 他们必须被放入一个独立的组中 到目前为止一切正常 漂亮又蓬松 但是如果我想通过使用优化 vhdl 子目录中的输出怎么办O
  • 在非时钟信号上使用上升沿是不好的做法吗?还有其他选择吗?

    我正在研究 VHDL 设计并且它可以工作 但是代码非常丑陋 而且我似乎正在尝试围绕语言的设计来实现我的目标 这一事实让我觉得有些事情是错误的 我对 VHDL 还很陌生 但我已经研究该项目的较小部分近一个月了 所以我有了总体想法 然而 这部分
  • VHDL 上的反转位顺序

    我在做类似的事情时遇到困难 b 0 to 7 lt a 7 downto 0 当我用ghdl编译它时 出现顺序错误 我发现使我的电路工作的唯一方法如下 library ieee use ieee std logic 1164 all ent
  • 触发器在两个信号的边沿触发

    我需要一个对两个不同信号的边缘做出反应的触发器 像这样的东西 if rising edge sig1 then bit lt 0 elsif rising edge sig2 then bit lt 1 end if 这样的触发器是否存在或
  • 将库添加到 Vivado 2014.4

    我对 Vivado 和 VHDL 还很陌生 我想要一些关于基本问题的指导 我猜我可以创建自己的库并在我的项目中使用它们 就像使用默认库和基本库一样 eg library IEEE use IEEE std logic 1164 ALL us
  • VHDL 中的 BRAM_INIT

    我正在模拟基于处理器的设计 其中程序存储器内容保存在 BRAM 中 我正在使用 VHDL 推断 BRAM 实现程序存储器 我试图避免使用 CoreGen 因为我想保持设计的可移植性 最终该设计将进入 FPGA 我想看看是否有一种方法可以使用
  • 赋值语句中的“others=>'0'”是什么意思?

    cmd register process rst n clk begin if rst n 0 then cmd r lt others gt 0 elsif clk event and clk 1 then cmd r lt end if
  • 将 *.vhdl 编译到库中时出现编译器错误 - Altera Quartus II

    我已经从以下位置下载了浮点包http www vhdl org fphdl http www vhdl org fphdl 并做了以下事情 我在项目中包含了 math utility pkg vhd fixed pkg c vhd 和 fl
  • VHDL - FSM 未启动(仅在时序仿真中)

    我正在写我的硕士论文 而且我对 VHDL 还很陌生 但我仍然必须实现一些复杂的东西 这是我必须编写的最简单的结构之一 但我仍然遇到了一些问题 它是一个 FSM 采用低电平有效同步信号 用于对 DAC 进行编程 实现 24 位移位寄存器 这只
  • 在 VHDL 中使用 SB_RGBA_DRV 原语

    我在使用为 Lattice ICE40UP fpga 提供的 SB RGBA DRV 原语时遇到问题 技术库提供了一个 verilog 示例 我可以使用它 但是当我尝试在 VHDL 中使用它时 P R 失败 输出以下消息 错误 非法连接 S
  • VHDL - 为什么直接在函数上使用长度属性会产生警告?

    我有一个 VHDL 函数 它返回记录的 std logic vector 表示形式 并且我想要该 std logic vector 的长度 我可以直接在函数上使用长度属性 为什么这会在 ModelSim 中产生警告 我是否会引发一些微妙的问
  • vhdl代码(for循环)

    描述 我想编写 vhdl 代码来查找数组 A 中的最大整数 该数组是一个由 20 个整数组成的数组 问题 我的算法应该是什么样子 以输入顺序语句的位置 我的VHDL代码 highnum for i in 0 to 19 loop i 0 i
  • 在单周期数据路径中加载半字和加载字节

    有人询问如何在单周期数据路径中实现加载字节而无需更改数据存储器 解决方案如下 替代文本 http img214 imageshack us img214 7107 99897101 jpg http img214 imageshack us
  • 设计用于初始化的VHDL状态机

    如何最明智地设计用于初始化芯片的 VHDL 状态机 我当前的设计是 伪代码 案例状态 当 s0 gt VHDL CODE FOR WRITING VALUE TO REGISTER状态 s1 当 s1 gt VHDL CODE FOR WR
  • VHDL 中的 if 语句

    我有一个关于 VHDL 中 if 语句的问题 请参见下面的示例 signal SEQ bit vector 5 downto 0 signal output bit if SEQ 000001 and CNT RESULT 111111 t

随机推荐

  • WPF 网格分割器

    我在使用 WPF GridSplitter 时遇到奇怪的行为 我将适当的 Horizo ntalAlignment 属性设置为拉伸 当我调整它们的大小时 GridSplitter 会跳来跳去 有时会回到原来的位置 或者只是在拖动它们时跳来跳
  • 如何在 Magento 中获取某个类别(包括其子类别)中的所有产品?

    我正在寻找一种方法来检索某个类别 包括其子类别 中的所有产品 并向我返回一个产品集合 我知道我可以迭代类别以获取产品的 id 并将它们加载到视图中 但我希望获得产品集合 因为它目前在大多数类别 视图中完成 有任何想法吗 我通过在产品集合模型
  • 如何分离数组中的两个值并使它们成为自己的值

    我希望我的问题不会令人困惑 但我有一个 js 数组 0 Glass 1 LDPE 2 LDPE PP 3 PP 正如你所看到的 数字 2 有两个值 我希望它们是它自己的值 基本上看起来像 0 Glass 1 LDPE 2 LDPE 3 PP
  • 找不到模块工作区/server.js

    我正在尝试使用 fast ai 中的示例和我开发的模型来启动 gcloud 应用程序引擎https github com imiled google app engine并按照 fastai 网页中的说明进行操作https course f
  • 通过迭代字典定义新变量的有效方法(Julia)

    考虑一本字典d在 Julia 中 它包含一千个键 每个键都是一个符号 每个值都是一个数组 我可以访问与符号关联的值 S1并将其分配给变量k1 via k1 d S1 现在假设我想定义新变量k2 k3 k4 k10对特殊键重复相同的过程 S1
  • 使用递归恢复字符串时如何删除点?

    我需要逆转Hello 使用递归使得最终结果不具有 我目前的方法是 public void foo Scanner scan new Scanner system in char c scan nextChar if c foo System
  • 如何导入现有的数据工厂ARM模板?

    我去了一个现有的数据工厂 并选择export template 然后 我手动创建了一个新的数据工厂 现在我尝试将现有的数据工厂导入到这个新的数据工厂 方法是转到新的数据工厂 然后选择import template 然而 这会引导我们进入一个
  • 如何在不使用“占位符” while 条件的情况下安全地循环,直到没有更多事情可做?

    为了调用我的 Web API 方法 直到没有更多数据返回 由于客户端 Windows CE 手持设备 的 98 磅弱角色 我分批获取它 以保持每个结果集较小 我正在使用这段代码 while moreRecordsExist redempti
  • 在CKFinder中自定义baseUrl和baseDir

    我们在许多 CMS 应用程序中使用 CKEditor 和 CKFinder for Coldfusion 这些应用程序指向我们服务器上的不同站点 因此我们希望 CKFinder 设置将文件上传到每个应用程序的特定目录 但我们希望服务器上的
  • 如何从数学角度看待高阶函数和IO动作?

    我试图从第一原理来理解函数式编程 但我却陷入了纯函数世界和具有状态和副作用的不纯现实世界之间的界面 从数学的角度来看 什么是返回函数的函数 什么是返回 IO 操作的函数 如 Haskell 的 IO 类型 详细说明 根据我的理解 纯函数是从
  • 关于mvc:intercepter,如何设置排除路径

    众所周知 我们可以这样配置拦截器
  • 更改android复选框的大小

    在我的 Android 应用程序中 我需要更改 Android 复选框的大小 我搜索并了解到它不能通过简单地更改属性来完成 我找到了这个链接但无法真正弄清楚到底需要做什么 找不到此链接 android sdk windows 1 0 r2
  • 使用主动/被动冗余模型的应用程序应如何使用 Kubernetes 进行容器化?

    我有一个在虚拟机上运行的分布式应用程序 其中有一个以主动 被动模式运行的服务 主用虚拟机通过公网IP提供服务 如果主动虚拟机发生故障 公共 IP 将移至被动虚拟机 被动虚拟机将变为主动虚拟机并开始提供服务 这种模式如何适合 kubernet
  • 在网页中显示 PDF

    我正在使用 Spring MVC 我想将 PDF 文件从本地显示到网页 我不知道我应该对我的控制器做什么来做到这一点 我看到一些类似的问题 其答案返回ResponseEntity
  • R:对 2 个数据帧的行进行 t 测试

    我有两个数据框 我想对行进行独立的 2 组 t 检验 即t test y1 y2 where y1是 dataframe1 中的一行并且y2与数据帧2中的匹配行 实现这一目标的最佳方法是什么 编辑 我刚刚找到了格式 dataframe1 i
  • 如何隐藏iOS状态下录音时的红条?

    我使用AVAudioRecorder来录制语音 我发现有时当我分配它并开始录音时 状态栏下会出现一个红色条 就像您在后台调用时的红色条 如何隐藏它 你不能那样做 每个应用程序 包括内置的语音备忘录应用程序 在使用麦克风时都会有该栏
  • 通过 JAXB 解组读取自定义 XML 处理指令

    通过 JAXB 解组时有没有办法读取自定义 xml 处理指令 例子
  • 更快的 UIImage - Base64 转换

    我正在做的工作必须在之间进行编码和解码UIImage和 Base 64 字符串 这对于较小的图像非常有效 向前和向后转换只需不到 1 秒 但当我将其应用于较大的图像时 需要很长时间 几乎一分钟 有没有其他方法来编码和解码UIImage对象字
  • 调用 ffmpeg.c 的 main 两次导致应用程序崩溃

    使用 FFmpeg 4 0 2 并调用它ffmpeg c s main函数两次导致 Android 应用程序崩溃 使用 FFmpeg 共享库和 JNI A libc Fatal signal 11 SIGSEGV code 1 fault
  • 使用通用参数作为端口数组长度

    我想做的事 entity FIRfilter is generic NTAPS integer port h in array 0 to NTAPS 1 of std logic vector 15 downto 0 end FIRfitl