赋值语句中的“others=>'0'”是什么意思?

2024-02-23

cmd_register: process (rst_n, clk)
begin
   if (rst_n='0') then
    cmd_r<= (others=>'0');
   elsif (clk'event and clk='1') then
    cmd_r<=...;
   end if;
end process cmd_register;

我知道“others?什么是=> do?


cmd_r 定义为标准逻辑向量, or unsigned or signed信号。让我们看看这个信号类型是如何定义的:

type std_logic_vector is array (natural range <>) of std_logic; 
type unsigned         is array (natural range <>) of std_logic; 
type signed           is array (natural range <>) of std_logic;

请注意,这 3 种类型与 std_logic 项数组具有相同的定义。

当编码员想要在数组中定义具有相同值的多个项目时,语句“Others => '0'”是 VHDL 的一个功能。

在您的示例中,数组中的所有项目 std_logic 都设置为“0”。

此语句的另一个应用是将某些项目设置为特定值,并将所有其他项目设置为默认值:

cmd_r <= (0      => '1',
          4      => '1',
          others => '0');

在这种情况下,位 0 和 4 设置为“1”,所有其他位设置为“0”。

最后一件事,就是不可能写这样的东西:

  cmd_r <= (0          => '1',
            4 downto 2 => "111", -- this line is wrong !!!
            others     => '0');
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

赋值语句中的“others=>'0'”是什么意思? 的相关文章

  • Java Scanner 输入与 if else 语句

    你好 我是java新手 正在尝试做一个测验来练习 我想提出一个问题 用户必须将类别中的单词组合成对 如A1 B4 C3 D2 我现在所做的是使用 if else 语句来检查输入是否是正确答案 但它仅适用于 1A 对于其他人 我可以做 6 个
  • 单击元素以外的任意位置以使用 if 语句隐藏它

    解决方案如下 我已经阅读了这里有关这个概念的大多数问题 但我似乎无法让它与 if 语句一起使用 有什么帮助吗 JSFiddle http jsfiddle net 2udYp button click function div fadeTo
  • Excel IF函数大于x但小于y

    我正在尝试安排一列 以便基本上可以对结果进行 评分 我正在寻找一个公式 该公式将 如果大于 100000 但小于 110000 10 如果大于 90000 但小于 99999 9等等 有人可以帮忙吗 我们可以将 LOOKUP 与范围一起使用
  • pctl(PR_SET_PDEATHSIG) 竞争条件

    据我了解 当父进程死亡时终止子进程的最佳方法是通过prctl PR SET PDEATHSIG 至少在 Linux 上 父进程退出后如何让子进程终止 https stackoverflow com questions 284325 how
  • Java中子进程的重定向I/O(为什么ProcessBuilder.inheritIO()不起作用?)

    我正在按以下方式启动一个流程 try final Process mvnProcess new ProcessBuilder cmd c mvn version directory new File System getProperty u
  • 获取进程的返回值

    您好 我正在尝试执行以下操作 我有一个可以接受参数 数字 的过程 并返回这些数字的总和 Process P Process Start sPhysicalFilePath Param int result P ExitCode 我从 Exi
  • 在 NTVDM 下运行的 16 位应用程序

    我正在执行一些旧的 16 位应用程序 我们的内部人员不应再使用这些应用程序 它们是 1985 年的 DOS 应用程序 因此捕获它们很容易 捕获在 NTVDM exe 下启动的任何进程 现在的问题是找出哪个程序 NTVDM 实际上在幕后运行
  • 如何在Linux中为特定程序设置进程ID

    我想知道是否有某种方法可以在运行某些应用程序之前强制使用 Linux 的某些特定进程 ID 我需要提前知道进程ID 实际上 有一种方法可以做到这一点 自内核 3 3 设置了 CONFIG CHECKPOINT RESTORE 在大多数发行版
  • 如何避免使用全局变量?

    我使用全局变量 但我读到它们不是一个好的实践或Pythonic 我经常使用的函数会给出许多是 否变量 我需要在主函数中使用这些变量 例如 在不使用全局变量的情况下 如何编写以下代码 def secondary function global
  • 如何触发并忘记子进程?

    我有一个长时间运行的进程 我需要它来启动另一个进程 该进程也会运行很长一段时间 我只需要开始它 然后就完全忘记它 我设法通过从 Ruby 编程 一书中获取一些代码来完成我需要的操作 但我想找到最好 正确的方法 并了解发生了什么 这是我最初得
  • 内核如何区分线程和进程

    Linux 中的线程被称为轻量级进程 无论是进程还是线程 它们的实现都是通过task struct数据结构 1 gt 那么 从这个意义上说 内核如何区分线程和进程 2 gt 当发生上下文切换时 线程如何在上下文切换中获得更少的开销 因为在此
  • 如何使用 python 显示当前用户的进程列表?

    我知道它与 proc 有关 但我不太熟悉它 教科书的答案是使用psutil像这样的模块 import psutil getpass os user name getpass getuser process dict proc pid pro
  • if 语句中哪个条件为真

    说我有一个if声明本身 if condition1 condition2 condition3 do something 当我们进入循环时 是否可以找出这 3 个条件中哪一个为 true 是的 您可以使用以下命令单独检查每一项 if con
  • SQL - 用 varchar 替换 is null 整数

    我正在尝试用新的列替换列varchar如果 select 语句中存在空值 则为字符串 personid ISNULL personid no person 我不想更新它 只是在查询结果中将值显示为 无人 但我收到一条错误消息 将 varch
  • 基于 True/False 值的 Python 优雅赋值

    我想根据三个布尔值中的值设置一个变量 最直接的方法是 if 语句后跟一系列 elif if a and b and c name first elif a and b and not c name second elif a and not
  • C# 'if' 绑定值

    我有一个列表视图 由名为 Binding 的类填充House 这是我的代码的示例
  • VHDL:如何声明可变宽度通用[重复]

    这个问题在这里已经有答案了 我想创建一个 VHDL 实体 其中一个泛型可以更改另一个泛型的宽度 entity lfsr n is generic WIDTH integer 32 counter width POLYNOMIAL std l
  • 学习 Verilog 的资源 [关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 我是 Verilog 新手 有人可以推荐学习资源 书籍 视频 博客或任何他们有良好个人经验并帮助他们更
  • If 语句中 Bool 计算错误

    只是为了好奇 我的代码有这个问题 e被评估为false 我知道通过查看数据库中的数据会得到错误 但 if 语句并不关心这一点 并假设这是真的 并试图抛出异常 有什么想法吗 edit 没有 在第 16 行末尾 价值false是正确的 我已经检
  • VHDL 中的 if 语句

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

随机推荐

  • 荷兰国旗 - 不适用于更大的阵列

    我的下面的荷兰国旗解决方案似乎不适用于仅包含 3 个元素 0 1 和 2 的给定输入数组 如果我减小数组的大小 它就会起作用 我无法识别错误 我错过了什么吗 class DNF public static void sort int arr
  • WordPress WP_Query 通话帖子和页面

    我设置了一个功能滑块 用于绘制标记为 功能 的帖子 my query new WP Query array showposts gt 3 tag gt feature 可以在帖子和页面中绘制吗 我知道你可以用以下方式绘制页面 post ty
  • OpenCL 产生错误的计算

    我一直尝试使用openCL做一些计算 但结果不正确 我输入了三个 float3 如下所示 300000 0 0 300000 300000 0 300000 300000 300000 进入这个内核 kernel void gravitat
  • 如何在运行的容器内获取AWS Fargate任务实例元数据?

    当任务在 AWS Fargate 内部启动时 它有一个用于 Cloudwatch 日志的任务 ID guid 并且可以用作唯一的 运行 ID 我正在将 NET Core 应用程序启动到 AWS 容器中 并希望找到一种编程方式来提取任务 ID
  • System.Private.ServiceModel 的问题

    我创建了一个 Core 3 1 应用程序 它使用基于 net 标准 2 0 的 Web 服务 在本地开发环境中一切正常 在我将其部署到 UAT IIS 上之前 我收到以下异常 Exception System IO FileNotFound
  • 在 Mac OS X 10.6.8 上用什么来编译和模拟 Verilog 程序?

    作为教学大纲的一部分 我需要模拟 Verilog 程序 但是 我的大学使用 Xilinx ISE 但它不适用于 Mac 因此 请帮助我提供最好的软件以及有关如何安装和使用它们的一些详细步骤 你可以尝试伊卡洛斯 Verilog http iv
  • Android tab 片段不调用 OnCreateView 从 tab2 切换到 tab1

    这是选择 3 选项卡式布局时 Android Studio 自动生成的代码 问题是当它从第一个选项卡开始时 它会调用onCreateView in class PlaceholderFragment 当我切换到第二个选项卡时 它会再次为该选
  • 嵌套条件与复合条件

    这两个例子中哪一个表现更好 示例1 if condition 1 if condition 2 do something 示例2 if condition 1 and condition 2 do something 如果有的话 差异可以忽
  • 如何跳过空格但将其用作解析器组合器中的标记分隔符

    我正在尝试构建一个小型解析器 其中标记 幸运的是 从不包含空格 空白 空格 制表符和换行符 本质上是标记分隔符 除了有括号等的情况 我正在延长RegexParsers班级 如果我打开skipWhitespace当下一个标记与前一个标记的正则
  • GCC/X86,相对跳转问题

    我正在尝试在 x86 程序集中进行相对跳转 但是我无法让它工作 似乎由于某种原因 我的跳跃不断被重写为绝对跳跃或其他东西 我想做的一个简单的示例程序是这样的 global main main jmp 0x4 ret 由于 jmp 指令有 4
  • 为什么使用 WebRequest 发送 post 数据需要这么长时间?

    我目前正在创建一个 C 应用程序来绑定到 php MySQL 在线系统 应用程序需要将发布数据发送到脚本并获取响应 当我发送以下数据时 username test password test 我收到以下回复 Starting request
  • .png 动画在 spritekit 中性能缓慢

    我的项目中有一个 png 动画 包含 700 张图片 尺寸为 150 像素 x 150 像素 它工作正常 但每次动画开始时 整个游戏都会冻结约 0 1 秒 喜欢它的加载 但我在 initWithSize 中实现了 png 数组 像这样 SK
  • Bash 查找并移动名称中带有“[ ]”的文件

    我正在制作的 bash 脚本的一部分涉及 rar 分割文件 然后在完成后将分割文件移动到另一个目录 因此 如果我有一个像 test file txt 这样的文件 它首先会被 rarred 为 test file txt part1 rar
  • NumPy 排序函数返回 None

    我有一个简单的程序如下 import numpy as np arr np random randn 8 new arr sort new1 np sort arr print new print new1 我希望这两个新数组是相同的排序数
  • 计算值出现的次数

    我有一列带有重复值的文本值 我想创建一个新的唯一值列 无重复 和一个包含每个值的频率的列 最简单的方法是什么 由于行数不足 10 000 因此效率并不是太重要 为了得到答案而不是评论 请将列 例如 A 复制到 B 例如 并且仅对于 B 数据
  • 无法调用 UnsafeMutablePointer 类型的初始值设定项

    我正在尝试将字符串转换为 SHA256 哈希值 但出现下一个错误 Cannot invoke initializer for type UnsafeMutablePointer
  • 在 Eclipse 中调试 Playframework

    我刚刚从 Netbeans 迁移到 Eclipse 在 Netbeans 中 我可以开箱即用地调试 Playframework 应用程序 然而 在 Eclipse 中 似乎很难配置它来调试 Web 应用程序 具体来说是 Playframew
  • 如何点击 Selenium WebDriver 中的隐藏元素?

    我有一个显示一些记录的网格 当我单击一条记录并检查该元素时 显示它是隐藏的 但在网格中可见 我的 HTML 是 a href http 192 168 1 6 eprint prod 3 8 settings othercost add a
  • 如何更新到 mingw-gcc 4.8.2?

    我想在 c 11 中使用正则表达式 gcc 4 8 2 支持它 但 MinGW 安装程序最高仅支持 gcc 4 8 1 如何将其更新到 gcc 4 8 2 您可以自己手动安装 有一个 MinGW w64 发行版4 8 2 可在此处获取 ht
  • 赋值语句中的“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