问题标签 [alu]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
2318 浏览

vhdl - VHDL:向 8 位 ALU 添加操作

我对 VHDL 很陌生,需要用额外的八个操作来修改这个 ALU,这些操作本身并不相关,但是从 GTKwave 中的测试我看到clk(时钟)和r(结果)在第一个之后停止模拟似乎有八个操作,尽管操作波形承认它们。源代码和测试平台都可以正常编译,没有错误,导致波形看起来不正确。 波形/测试

我试图通过返回测试台代码并更改“<code>exit L1 when i >10;”来解决此问题。从 10 循环到 20(或任何其他超过 10)然后重新编译,但这导致了“绑定检查失败”错误,这让我很困惑。我还尝试更改修改以使其成为 16 位,但这没有编译 - 绝对不是我想象的解决方案。

忽略混杂的操作评论。

任何帮助将不胜感激,我认为这是一个非常新手的忽视。

初始代码源自http://vhdlguru.blogspot.co.uk/2011/06/vhdl-code-for-simple-alu.html

源代码

试验台

0 投票
3 回答
1917 浏览

assembly - 如何为 16 位二进制加法设置辅助标志

我知道在执行 8 位二进制加法时,如果从第 3 位到第 4 位有进位,则辅助标志设置为 1;但是添加 2 个 16 位数字呢?我在网上看不到任何明确的答案。

我正在研究intel 8086微处理器...

例如,当我添加这两个数字时,0x30a2 和 0xf1ac

0011 0000 1010 0010 + 1111 0001 1010 1100

我不知道在哪里检查它

0 投票
1 回答
115 浏览

alu - 看不懂 Mips、ALU、Clock Cycle 相关解决方案

我正在审查我之前参加的期中考试,但提供的解决方案没有解释下面的问题......这是问题:

问题 11. 假设 MIPS 处理器上的乘法器硬件设置与上周讨论的乘法器类似。初始化 ALU、乘积寄存器和所有其他必要的硬件需要一个时钟周期。通过乘法的每个阶段(移位、测试、加法等的一个序列被认为是一个阶段)需要 3 个时钟周期。如果时钟的周期为 1 纳秒 (ns),将两个 8 位数字相乘到 16 位乘积寄存器需要多长时间?被乘数的寄存器为 8 位宽。

a) 50 ns b) 49 ns c) 27 ns d) 25 ns e) 9 ns f) 以上都不是。

它说答案是 d (25ns)。只回答不解释

你能解释一下为什么会这样吗?

我只是不知道我需要计算或研究什么才能获得这样的答案。

非常感谢..

0 投票
2 回答
1346 浏览

output - 简单的 Verilog ALU 实现,无输出

我正在使用赛灵思 IDE。我的 ALU 模块如下:

我的测试台如下

在此处输入图像描述

我的模拟输出作为图像附加。

为什么未定义输出(X 状态)?我究竟做错了什么?

0 投票
0 回答
980 浏览

compiler-errors - 编译中的 VHDL 错误

我是 VHDL 的新手,我正在尝试创建一个 ALU,但它在编译中有一些错误。这是代码:

错误如下:

  • 错误 (10500):askhsh1.vhd(97) 靠近文本“case”的 VHDL 语法错误;期待“end”,或“(”,或标识符(“case”是保留关键字),或并发语句。
  • 错误 (10500):askhsh1.vhd(97) 附近文本“is”处的 VHDL 语法错误;期待“<=”
  • 错误 (10500):askhsh1.vhd(99) 附近文本“when”处的 VHDL 语法错误;期待“end”,或“(”,或标识符(“when”是保留关键字),或并发语句
  • 错误 (10500):askhsh1.vhd(100) 附近文本“when”处的 VHDL 语法错误;期待“end”,或“(”,或标识符(“when”是保留关键字),或并发语句
  • 错误 (10500):askhsh1.vhd(103) 附近文本“elsif”处的 VHDL 语法错误;期待“end”,或“(”,或标识符(“elsif”是保留关键字),或并发语句
  • 错误 (10500):askhsh1.vhd(105) 附近文本“elsif”处的 VHDL 语法错误;期待“end”,或“(”,或标识符(“elsif”是保留关键字),或并发语句
  • 错误 (10500):askhsh1.vhd(107) 附近文本“if”处的 VHDL 语法错误;期待“;”或标识符(“if”是保留关键字)或“架构”
  • 信息 (12021): 在源文件 askhsh1.vhd 中找到 0 个设计单元,包括 0 个实体
  • Info (12021): 在源文件 basic_func.vhd 中找到 9 个设计单元,包括 4 个实体 Info (12022): 找到设计单元 1: basic_func Info (12022): 找到设计单元 2: myAND-modeland Info (12022): 找到design unit 3: myOR-modelor Info (12022): Found design unit 4: myXOR-modelxor Info (12022): Found design unit 5: fulladder-modelfulla Info (12023): Found entity 1: myAND Info (12023): Found entity 2:myOR 信息(12023):找到实体 3:myXOR 信息(12023):找到实体 4:fulladder
  • 错误 (293001):Quartus II 完整编译不成功。9 个错误,1 个警告
0 投票
1 回答
1928 浏览

vhdl - 使用 1 位 ALU 制作 16 位 ALU

您好我正在尝试从几个 1 位 ALU 创建一个 16 位 ALU 我创建了一个名为 basic_alu1 的包,其中包含 1 位 ALU 的一个组件。代码如下:

因此,为了创建 16 位 ALU,我使用了 for generate 循环并实例化 alu1 的多个副本。我的问题是如何将计数器放入和取出,以及如何进行溢出检查。我的主要代码是:

0 投票
0 回答
30 浏览

architecture - JUMP是如何根据OUT-The ALU Output的值来决定的?

j1、j2 和 j3 是跳转指令的位,comp 指令是 add 等计算指令。

图来自计算机系统元素 (Nand2Tetris)

看一下场景

这种情况是如何可能的,因为out < 0为真,out > 0out = 0为假。如何out同时具有正值和负值?

换句话说,当JNE指令将要执行时,虽然理论上对我来说似乎是可能的,但实际上它不是?

0 投票
1 回答
189 浏览

computer-science - 在 ALU 中两个控制位绑定的情况下执行哪个控制位操作?

假设我们有两个 ALU 控制输入位

当这两个位都被设置时,x输入被操作的顺序是什么,或者首先哪个控制位获得优先级,因为首先操作获得的结果与zx先完成的情况不同nx

0 投票
1 回答
1814 浏览

performance - 每个浮点运算是否需要相同的时间?

我相信无论操作数有多大,整数加法或减法总是花费相同的时间。稳定 ALU 输出所需的时间可能因输入操作数而异,但利用 ALU 输出的 CPU 组件将等待足够长的时间,以便任何整数运算都将在相同的周期内处理。(ADD、SUB、MUL 和 DIV 所需的周期会有所不同,但我认为无论输入操作数如何,ADD 都会采用相同的周期。)

浮点运算也是这样吗?

我正在尝试实现一个包含大量浮点运算的程序。我想知道缩放我正在处理的数字是否有助于快速运行时间。

0 投票
1 回答
395 浏览

vhdl - 4位ALU的vhdl代码和流程的理解?

我在这里制作 4 位 ALU 我已经声明了实体

你能解释一下逻辑向量数组是如何工作的吗?我的意思是语法

并且

运算符 =>

2-顺序设计、组合设计和分层设计有什么区别,告诉我ALU CPU都是编码的?