【发布时间】:2015-11-16 18:53:11
【问题描述】:
我有一个 32 位的字。我需要使用 VHDL 创建一个新的 32 位字,其中仅包含第一个值为 1 的位,位于不太重要的位置。
例子:
输入:01000010 01001011 00000000 00100010
输出:00000000 00000000 00000000 00000010
【问题讨论】:
-
一个 if then elsif... if 语句按优先级顺序测试输入位 只有一个测试条件评估为真。等效的条件信号赋值。一个 for 循环,内部有一个出口并封闭 if 语句测试循环常量输入位。这个想法是只有最高优先级的位被设置,其余的被重置。
-
您尚未指定这是用于行为建模还是合成。
-
@user1155120 :可以合成行为代码。问题是他是否希望在行为建模或结构建模中使用它。
-
所有 VHDL 模型都是行为的 - IEEE Std 1076-2008 14.2 设计层次结构的细化“设计层次结构的细化创建了由网络互连的过程的集合;然后,这个过程和网络的集合可以是执行以模拟设计的行为。”结构由内部或外部块语句叠加。但是,有些 VHDL 设计规范无法综合。
标签: vhdl