Vhdl 如何进行8位堆栈?

Vhdl 如何进行8位堆栈?,vhdl,fpga,Vhdl,Fpga,我已经有了一个4位堆栈,但我不知道如何使它成为8位堆栈。这是一个更大项目的一部分,我正在fpga上制作一个“苏打机模拟器”(BASYS2,ISE网页包)。到目前为止,情况是这样的: 实现堆栈的模块: ieee库; 使用ieee.std_logic_1164.all; 使用ieee.std_logic_arith.all; 实体堆栈是 港口 ( A:标准逻辑向量(3到0); S_辅助:标准逻辑向量中(1到0); Q_aux:in标准逻辑向量(3到0); clk_2:标准逻辑中; clr_2:标准_

我已经有了一个4位堆栈,但我不知道如何使它成为8位堆栈。这是一个更大项目的一部分,我正在fpga上制作一个“苏打机模拟器”(BASYS2,ISE网页包)。到目前为止,情况是这样的:

实现堆栈的模块:

ieee库;
使用ieee.std_logic_1164.all;
使用ieee.std_logic_arith.all;
实体堆栈是
港口
(
A:标准逻辑向量(3到0);
S_辅助:标准逻辑向量中(1到0);
Q_aux:in标准逻辑向量(3到0);
clk_2:标准逻辑中;
clr_2:标准_逻辑中);
);
终端实体堆栈;
堆栈的体系结构逻辑是
----------------------------------------------------------------------------------
组件unidade_74LS194为
港口(
d:标准逻辑向量(3到0);
q:输出标准逻辑向量(3到0);
s:标准逻辑向量(1到0);
L:在标准逻辑中;
R:在标准逻辑中;
clk:标准逻辑中;
clr:标准逻辑中);
端部元件;
----------------------------------------------------------------------------------
Q_3,向量_d_3:STD_逻辑_向量(3到0);
Q_2,向量d_2:标准逻辑向量(3到0);
Q_1,向量d_1:标准逻辑向量(3到0);
Q_0,向量d_0:标准逻辑向量(3到0);
开始
vector_d_3(3)我不懂VHDL(更多的是verilog),但堆栈基本上只是一个内存,一个递增和递减的地址,以及用于写入/读取数据的输入和输出总线

当你说你有一个“四位一”时,我想你的意思是内存条目的宽度是4位,所以要做一个“八位一”,只需将内存宽度从4增加到8,并更改输入和输出。

我不知道VHDL(更像是一个verilog的家伙),但堆栈基本上只是一个内存,一个递增和递减的地址,以及用于写入/读取数据的输入和输出总线


当你说你有一个“四位一”时,我想你的意思是,内存条目是4位宽的,所以要形成一个“八位一”,只需将内存宽度从4增加到8,并更改输入和输出。

你有没有查阅74LS194的数据表?无论如何,这看起来像是学校的作业,因为代码远远不是任何人设计用来构建堆栈的代码。一个真正的堆栈模块将有一个“pop”和“push”端口,我想核心可以用大约四行代码来编写。堆栈的实体声明和unidade_74LS194的体系结构体都不是有效的VHDL,并且没有说明您的问题,这似乎不清楚。“真正让我恼火的部分是74LS194逻辑”并不是一个具体的问题陈述。你看过74LS194的数据表了吗?无论如何,这看起来像是学校的作业,因为代码远远不是任何人设计用来构建堆栈的代码。一个真正的堆栈模块将有一个“pop”和“push”端口,我想核心可以用大约四行代码来编写。堆栈的实体声明和unidade_74LS194的体系结构体都不是有效的VHDL,并且没有说明您的问题,这似乎不清楚。“真正让我恼火的部分是74LS194逻辑”并不是一个具体的问题陈述。