问题标签 [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 投票
0 回答
425 浏览

vhdl - 我的 VHDL 代码中的端口映射错误吗?(微处理器加法器)

我得到了这个微加法器 vhd 顶级文件,我得到了端口映射的 regs.vhd、ALUSuma.vhd 和 MemProgSuma.vhd(注册表、加法器和内存),它们都可以正常工作。我也得到了微加法器测试台,也在工作。

澄清一下,它是这样工作的:截屏

(我认为问题不在于它的工作方式,而在于我如何连接加法器的各个部分)

但是当涉及到测试台的模拟时,有些东西不起作用,大多数信号一直显示“U”,就好像它们没有被初始化一样……可能是映射不好,但我就是看不到是什么微加法器:

实体是这样的:

建筑学:

我的中间信号:

我做的端口映射是这样的:

我的程序的简单代码是:

仅此而已,这确实会有所帮助,因为我在尝试却没有看到自己做错了什么...

0 投票
2 回答
4518 浏览

assembly - 我将如何在 ALU 中实现 1 位 slt 操作?(MIPS)

这是一个家庭作业,所以我不是在寻找答案,而是在寻找指导。说明说:“您将如何在 ALU 中实现 1 位 slt 操作?仅使用 AND、OR 和 NOT 描述您的解决方案。无需绘制逻辑门图,只需清楚地描述所有可能输入的过程,预期输出,以及表示 SLT 的逻辑表达式。”

至今...

我正在考虑将 A 和 B 作为 ALU 的 32 位输入。我也在考虑取B的二进制补码。然后,我将A和B加在一起。如果输出不是负数,则返回 0。在我看来,这听起来像是我实现了一个 1 位 slt 操作。但是,如何仅使用 AND、OR 和 NOT 来显示“如果结果为负返回 1”?

0 投票
2 回答
5737 浏览

vhdl - 设计 16 位 ALU 时“无法确定运算符 + 的定义”

我正在设计一个 16 位 ALU,它执行的操作很少。我有一个语法错误:

“无法确定运算符“+”的定义。

以下代码执行有符号和无符号加减和移位操作。它执行一些其他操作,如 OR、XOR 等,我没有展示,因为它们没有任何问题。

0 投票
2 回答
1425 浏览

logic - Verilog:ALU 给出错误的输出

我正在学习 Verilog,这是我的第一个 ALU。
我不明白为什么输出不显示在测试程序块中。样本输出(水平滚动):

为什么不计算z?

铝型材

多路复用器:

加法器/减法器块:

测试仪:

0 投票
2 回答
18791 浏览

variable-assignment - 连续赋值verilog

- 此代码是使用 Modelsim 10.2d 以 verilog 编写的。以下错误表明 {cout,l3} 分配存在一些问题。

0 投票
1 回答
745 浏览

verilog - 如何连接我的两个模块?

我必须在 8 个函数的 ralu 中创建一个 alu,但是当我尝试模拟“ralu”的行为模型时,我得到的只是 X(输出)和 Z(输入)。我究竟做错了什么?(当我只模拟 alu 时它工作得很好)

0 投票
1 回答
457 浏览

verilog - 8位alu中的错误输出值

我想写一个八位 ALU。我已经写了这段代码,但是当我模拟它时,输出有 x 值,为什么会这样?我还有另一个问题,我不知道如何在 Modelsim 仿真中显示 8 位参数,而我只有两个值 0 或 1?

这是我的测试模块

0 投票
1 回答
2276 浏览

verilog - Verilog 算术方程系统练习

我是 Verilog 的新手,我发现了一些有趣的练习可以做,但是我一直坚持这个练习,有人可以帮助我吗???


练习:


实现一个算术方程系统,当在其输入处给出一些值时,该系统将给出该方程的解。系统伪代码如下:

有两种类型的 ALU 可用于该系统。第一种类型可以执行加法和减法 (+/-) 操作。您可以使用选择信号选择您希望 ALU 执行的操作。第二种类型的 ALU 仅执行乘法运算 (*)。您只有三个加法器/减法器 ALU 和两个乘法器 ALU。

执行:

在实施系统之前,您应该按照以下步骤为系统绘制纸质设计:
1)识别系统的所有输入
2)识别所有需要的寄存器及其输入
3)识别所有需要的功能单元及其输入.
4) 确定功能单元输入是否需要任何多路复用器
5) 确定设计中所需的所有控制信号
6) 设计控制这些信号所需的有限状态机
7) 确定系统所需的所有线路。

Verilog 实现:
在本节中,您需要按照以下步骤使用 Verilog 构建 4 位算术方程系统:
1) 在单独的模块(ALU、MUX 和 REG)中实现设计中所需的所有 4 位组件。
2) 创建一个基于 FSM 的控制器,它将引导数据路径通过伪代码中指定的所需行为。
3) 模拟 FSM 以确保它输出所需的控制信号模式
4) 创建一个系统模块,该模块具有时钟按钮输入和复位按钮输入。该模块实现了算术方程求解器的设计,并包含一个控制它的 FSM 实例。
5) 编译您的设计并调试所有错误。
6) 模拟不同输入值的设计,并确保您的设计工作正常。

编码:

这就是我不知道该怎么做的地方:

PS:在我的设计中,我只能使用 1 个执行乘法运算的 ALU 和另一个执行加法和减法运算的 ALU。我应该提供设计吗?

0 投票
1 回答
598 浏览

vhdl - 我的 VHDL 1 位行为 ALU 是否完整?

这是我第一次写VHDL代码,我想知道这个简单的ALU VHDL代码是否完整。我能找到的所有内容都是针对更复杂的 ALU,但我只需要编写这个简单的 ALU。

问题如下:

编写一个行为模型,表示一个简单的 ALU,具有整数输入和输出,以及位类型的函数选择输入。如果函数选择为“0”,则 ALU 输出应为输入之和;否则输出应该是输入的差异。

我并不是要一个完整的解决方案,而只是想知道我的代码是否是解决这个简单问题所需的一切。

谢谢!

0 投票
2 回答
375 浏览

c++ - 没有 ALU 的 ARM 操作多少钱

我在 ARM Cortex M3 上遇到了一些需要乘除自然数的功能的问题。关键是:是否可以在 128 位数字之间进行计算?我需要知道有多少组装操作需要软件模拟多个两个 32 数字并除以两个 32 位数字,然后我将计算我的计算的时间消耗。我坚持了一些计算,我需要帮助,因为也许我必须用硬件 ALU 将我的 uC 更改为 cortex M4。

你能帮我解决这个问题吗?

给定简单的 C 代码:

和 objdump 汇编程序:

因此,如果我计算例如乘法,我可以获得整个指令(因为将值加载到寄存器中,因此每次加载加上 3 条指令)或仅乘法(在这种情况下为 6 条指令)

因为将格式为 (x^5+x) 的两个 128 位变量相乘,其中 x 是 32 位变量,给我 (a+b)(c+d) ab+ad+bc+bd 4 乘法(或使用算法为 3)。所以如果我应该计算 4*(3+3+6) 或 4*(6+?+?)。