VHDL 计数器错误 (vcom-1576)

2024-04-05

伙计们,我试图用 VHDL 编写一个简单的计数器,但我总是收到此错误:

Error: C:/Users/usrname/dir1/dir2/dir3/counter.vhd(22): near "rising_edge": (vcom-1576) expecting == or '+' or '-' or '&'.

这是我的代码:

library ieee;
use ieee.std_logic_1164.all;
use ieee.numeric_std.all;

entity counter is
port (
EXT_RST : in std_logic;
EXT_CLK : in std_logic;
EXT_LED : out std_logic_vector(7 downto 0)
);
end counter;

architecture fast of counter is

signal count : std_logic_vector(7 downto 0);

begin
process(EXT_CLK, count)
  begin
    if (EXT_RST = '1') then
    count <= "00000000";
    elseif rising_edge(EXT_CLK) then
    count <= count + '1';
    end if;
 end process;
EXT_LED <= count;
end fast;

有谁知道为什么我会收到此错误?


除了elsifLars Asplund 建议在他的评论中使用“count”的类型转换:

count <= std_logic_vector(unsigned(count) + 1);

或使用包 numeric_std_unsigned (仅限 VHDL -2008)而不是 numeric_std。

注意1代替'1'和类型转换。 numeric_std_unsigned 不需要这些,它有一个带有以下签名的“+”添加运算符函数:

[STD_ULOGIC_VECTOR,STD_ULOGIC return STD_ULOGIC_VECTOR]

使用包 numeric_std 你还可以count一个无符号的而不是 std_logic_vector 并转换为 LED 分配 -

EXT_LED <= std_logic_vector(count);

Also, count不需要在过程敏感列表中:

process(EXT_CLK)

流程中没有分配的值count除时钟沿外均使用。

使用第一个建议和缩进修改代码(这有助于显示敏感度列表不需要count:

library ieee;
use ieee.std_logic_1164.all;
use ieee.numeric_std.all;

entity counter is
    port (
        EXT_RST : in std_logic;
        EXT_CLK : in std_logic;
        EXT_LED : out std_logic_vector(7 downto 0)
    );
end counter;

architecture fast of counter is

signal count : std_logic_vector(7 downto 0);

begin
process(EXT_CLK)
  begin
    if (EXT_RST = '1') then
        count <= "00000000";
    elsif rising_edge(EXT_CLK) then
        count <= std_logic_vector(unsigned(count) + 1);
    end if;
 end process;
    EXT_LED <= count;
end fast;

本文将进行分析、阐述和模拟。

这就提出了一个问题:如何EXT_RST and EXT_CLK如果您实际综合您的设计,则可以得出这些结果。如果它们来自按钮(特别是时钟),即使使用可能老化并随后弹跳的薄膜开关,去抖也可能是必要的。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

VHDL 计数器错误 (vcom-1576) 的相关文章

  • 在 WordPress 中缓存自定义社交分享计数

    我真的很喜欢有一个股票柜台在我的博客文章上 我注意到它实际上鼓励访问者自己分享内容 因为没有真正令我满意的 WordPress sharecount 插件 其中大多数都需要大量调用 所以我自己编写了代码 它工作完美 但仍然减慢了我的网站速度
  • Doxygen:使用 C++ 和 VHDL 进行项目的无缝文档

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

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

    当我尝试从 VHDL 代码合成 实现和生成程序文件时 我收到警告 当我尝试合成时出现此错误 WARNING Xst 647 Input
  • VHDL门控时钟如何避免

    我收到了避免使用门控时钟的建议 因为它可能会导致松弛和时序限制问题 但我想问一下我可以认为什么是门控时钟 例如 此代码对时钟进行门控 因为 StopCount 对它进行门控 process ModuleCLK begin if rising
  • 错误(10028):无法解析网络的多个常量驱动程序... VHDL 错误

    我正在尝试编写一个代码来检测 din 信号的上升沿 并在发生后将 doout 提高 5 个时钟周期 我在编译时不断收到不同的错误 但我不确定它们的含义 我认为我对 VHDL 中的一些概念缺乏基本的了解 但遗憾的是在网上查找并没有给我带来太大
  • JS onunload 事件并不总是有效

    我想计算访问者在某个页面上花费的时间并将其存储在我的 MySQL 数据库中 我想在 window onload 上启动一个计时器 如下所示 window onload startCount window onunload sendCount
  • 是否可以使用循环创建同一组件的多个实例?

    我有一个组件 Component CAU is port CLK in std logic RESET in std logic START in std logic V DIRECTION in vector 3d P ORIGIN in
  • 使用 AngularJS 获取“ng-repeat”项目的索引(计数器)?

    我正在使用 AngularJS 及其ng repeat显示一系列问题的指令 我需要对每个问题进行编号1 如何显示和增加这样的计数器ng repeat 这是我到目前为止所拥有的 ul li div span class name questi
  • SSE 4 popcount 为 16 个 8 位值?

    我有以下代码 它使用标志与 GCC 进行编译 msse4但问题是弹出计数仅获取转换后的最后四个 8 位 m128i类型 基本上我想要的是计算里面的所有 16 个数字 m128i类型 但我不确定创建变量后要调用什么内部函数popA 不知何故p
  • VHDL - iSIM 输出未初始化,不改变状态

    您好 我是一位 Xilinx 新用户 在如何在测试台中编写激励 模拟方面遇到了麻烦 我的输出 Kd 没有给我任何合理的值 并在移动并始终保持在 1 之前的前几个时钟周期给出 u 不确定我是否写了正确的刺激 但希望有人能帮助我 我的VHDL代
  • 如何从 Python Counter 类中获得加权随机选择?

    我有一个程序 可以跟踪各种成功的情况things using collections Counter 每一次成功thing增加相应的计数器 import collections scoreboard collections Counter
  • 在VHDL中将8位二进制数转换为BCD

    该算法众所周知 您进行 8 次左移 并在每次移位后检查个位 数十位或数百位 每个 4 位 如果它们超过 4 个 则将 3 个添加到该组中 依此类推 这是一个基于流程的解决方案 但不起作用 它会编译 但输出不是我想要的 有什么想法可能是什么问
  • VHDL - FSM 未启动(仅在时序仿真中)

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

    我在使用为 Lattice ICE40UP fpga 提供的 SB RGBA DRV 原语时遇到问题 技术库提供了一个 verilog 示例 我可以使用它 但是当我尝试在 VHDL 中使用它时 P R 失败 输出以下消息 错误 非法连接 S
  • vhdl代码(for循环)

    描述 我想编写 vhdl 代码来查找数组 A 中的最大整数 该数组是一个由 20 个整数组成的数组 问题 我的算法应该是什么样子 以输入顺序语句的位置 我的VHDL代码 highnum for i in 0 to 19 loop i 0 i
  • Azure DevOps - 我的自定义版本计数器变量存储在哪里?

    我有一个 Azure Pipeline 文件 azure pipelines yml 由我的 Azure Linux 代理运行 接下来 我定义了一个变量 myBuildCounter 该变量增加了一个计数器 即使我没有在 Azure 界面中
  • Prometheus 来源的时间序列:如何将空值设置为零?

    使用 Docker Grafana 8 1 5 使用时间序列图 我正在绘制Prometheus Counter来源 有一个label as a time series 按标签 并且需要将所有空 缺失值填充为零 这是应用于的查询Prometh
  • 单词和表情符号计数器

    我有一个包含 clear message 列的数据框 并且创建了一个用于计算每行中所有单词的列 history word count history clear message apply lambda x Counter x split
  • VHDL 中的 if 语句

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

随机推荐

  • 使用 OpenOffice 3 示例代码的“Hello World”

    我正在尝试使用 WinXP MSVC 2008 NET 编写一个简单的 Hello World 窗口开发办公室 http en wikipedia org wiki OpenOffice org3 0 API和SDK 这篇文章对于初学者来说
  • Clojure clojure.core.reducers/fold 和 Scala Fold 有什么区别?

    我发现 Clojure 有clojure core reducers fold功能 Scala 还内置了fold功能但无法理解它们的工作方式是否不同 我假设你正在谈论clojure core reducers fold https cloj
  • 需要从 ASP.net 在服务器中执行 *.exe

    我目前的情况是 我需要在远程服务器中使用托管 ASP net C API 的 IIS 执行 exe 它创建本地 txt 文件 我创建了一个本地用户 例如 userA 作为管理员来在远程服务器中运行 Web 服务 但未创建 txt 文件 我已
  • Visual Studio 解决方案不可用(重新加载不起作用)

    我正在下载我正在使用的条形码阅读器的示例程序 每次我下载该程序并运行它时 我的解决方案资源管理器中都会提示错误 见下图 有什么建议么 每次我右键单击并重新加载项目时 它都会快速重新加载 然后恢复为不可用 建议 编辑 这是该项目的链接 滚动到
  • Spark_apply 指定列名时出错

    我在跑步sparklyr在 Windows 10 中的 RStudio 本地模式下 spark version lt 2 1 0 sc lt spark connect master local version spark version
  • MVcHtmlString 中的堆栈溢出异常

    我创建了自己的 Html Helper 它将红色星号添加到任何必填字段 它成功地与两者一起工作 Html myLabelFor model gt model Description and Html myLabelFor model gt
  • 获取日期 ISO 字符串而不转换为 UTC 时区

    JavaScript 有没有办法获取新 Date 对象的 ISO 字符串 同时保持原始本地时区 即不转换为 UTC 时间部分设置为午夜 无需通过各个日期部分手动重建新日期并重新格式化结果 我一直在努力this https www w3sch
  • Laravel 背包限制用户访问管理面板

    我正在尝试更改 CheckIfAdmin 中间件中的 checkIfUserIsAdmin 方法 以禁用对没有管理员角色的所有用户的访问 发生了什么 没有什么 Backpack user gt can 或 Backpack user gt
  • 使用 JavaScript 的 Flickr API

    我想使用 flickr 上传照片 我不知道如何开始 坦白说 我是这个 API 的新手 请指导我在 java 脚本中启动 flickr api Flickr 有一些 JSONP API 这可能是仅使用客户端 Javascript 的最佳选择
  • 清除 Rails 中的会话变量的最佳方法是什么?

    session message nil 这是销毁会话变量的最佳方法吗 Note 我不想清除所有会话变量 例如reset session does session delete message 一般来说 会话 变量是SessionHashob
  • 递归 php 函数将嵌套数组转换为嵌套 html 块

    我正在寻找编写一个递归 php 函数 该函数将调用一个函数来生成嵌套 HTML 块 不一定只是 DIV 例如 对于以下数组 a array b gt b value c gt c value d gt array d1 gt array d
  • 在 contenteditable 中使用 Flexbox 居中时的插入符位置

    在 OSX Chrome 45 上测试 align items center 适用于内容 但如果您单击下面的空可编辑区域 则插入符号位置不会居中 直到您开始键入 是通过顶部 底部平衡填充来解决此问题的唯一方法 还是有一种方法可以使其在不发生
  • Android:检测用户的一般使用情况

    我正在开发一个监控手机使用情况的应用程序 具体来说 它的使用时间 目前 我记录电话 短信 彩信 屏幕打开 屏幕关闭和钥匙锁解锁的时间 现在我想确定用户何时进行除上面列出的交互之外的任何交互 喜欢 1 应用程序使用 检测应用程序何时被用户启动
  • 表单加载时停止触发组合框的 selectedIndexChanged 事件

    我有一个表格ComboBox它提供了一个下拉列表 在组合框上SelectedIndexChanged event 正在运行一些代码 但我不希望在加载表单时运行该代码 不幸的是 当我加载表单时 在组合框中进行选择之前 SelectedInde
  • 如何在 Google 开发者控制台 oAuth 同意屏幕中将 Gmail 的备用电子邮件设置为支持电子邮件

    我有一个 gmail com 帐户 我已将我的域的电子邮件添加为备用电子邮件 domain com 我可以使用 domain com而不是 gmail com帐户登录我的gmail帐户 我已经创建了一个 Google Cloud 项目 并希
  • 如何调试 Windows 窗体设计器崩溃?

    我有一个 Windows 窗体项目 它的主要形式源自System Windows Forms Form我可以毫无问题地在设计器中打开它 如果我尝试关闭设计器 它会杀死 Visual Studio v2008 SP1 该表单包括一个选项卡控件
  • 使用 matplotlib 将 networkx 图嵌入到 wxPython 中

    我用 networkx 创建了一个图表 G nx DiGraph building the graph and I can display it with matplotlib like this nx draw G matplotlib
  • 清理Eclipse中Tomcat的工作目录

    当我在 Eclipse 中处理 servlet 应用程序时 我必须在 Eclipse 的服务器选项卡中选择 清理工作目录 以便更改在浏览器中可见 有什么方法可以确保我只需要构建我的 servlet 并且更改立即可见 双击 Tomcat 条目
  • 使用 dropdownlist 时的 Asp.net mvc ModelState 有效性

    ModelState IsValid始终为 false 因为我在要提交的表单中使用下拉列表 并且收到此异常 The parameter conversion from type System String to type System We
  • VHDL 计数器错误 (vcom-1576)

    伙计们 我试图用 VHDL 编写一个简单的计数器 但我总是收到此错误 Error C Users usrname dir1 dir2 dir3 counter vhd 22 near rising edge vcom 1576 expect