FPGA实验--模拟一个四选一多路选择器 求修改quartus II 自动生成testbench模板?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了FPGA实验--模拟一个四选一多路选择器 求修改quartus II 自动生成testbench模板?相关的知识,希望对你有一定的参考价值。

本人FPGA小白,求大神指导如何quartus II 自动生成testbench模板。或者推荐一下教学视频也可以。谢谢了。
FPGA实验--模拟一个四选一选择器
在创建好工程之后,新建了一个VHDL文件,写好了四选一选择器的代码。保存编译,启动测试台模板编写器,创建好了模板,但是不知道怎么修改模板。
请问大神能讲一下怎么修改这个模板,使模拟后能够出现想要的四选一的结果吗?
看了网上的帖子,说是要给信号初始化,但是不知道要给谁初始化,怎么初始化。

LIBRARY ieee;
USE ieee.std_logic_1164.all; 程序库和程序调用包使用

ENTITY shiyan_vhd_tst IS 电路模块端口说明和定义
END shiyan_vhd_tst;
ARCHITECTURE shiyan_arch OF shiyan_vhd_tst IS
-- constants
-- signals
SIGNAL a : STD_LOGIC;
SIGNAL b : STD_LOGIC;
SIGNAL c : STD_LOGIC;
SIGNAL d : STD_LOGIC;
SIGNAL s0 : STD_LOGIC;
SIGNAL s1 : STD_LOGIC;
SIGNAL y : STD_LOGIC;
COMPONENT shiyan
PORT (
a : IN STD_LOGIC;
b : IN STD_LOGIC;
c : IN STD_LOGIC;
d : IN STD_LOGIC;
s0 : IN STD_LOGIC;
s1 : IN STD_LOGIC;
y : OUT STD_LOGIC
);
END COMPONENT;
BEGIN
i1 : shiyan
PORT MAP (
-- list connections between master ports and signals
a => a,
b => b,
c => c,
d => d,
s0 => s0,
s1 => s1,
y => y
);
init : PROCESS
-- variable declarations
BEGIN
-- code that executes only once
WAIT;
END PROCESS init;
always : PROCESS
-- optional sensitivity list
-- ( )
-- variable declarations
BEGIN
-- code executes for every event on sensitivity list
WAIT;
END PROCESS always;
END shiyan_arch;

参考技术A 写激励,在这说太麻烦追问

请问你知道怎么写吗?
或者能推荐几篇教学的帖子吗?

追答

这个太多了,你是verilog?

追问

是的

FPGA中,数据位数对数据选择器消耗的资源影响大吗?

写一个数据选择器,输入四个数据,位宽为112bit。根据控制信号对六个输出赋值;也就是相当于六个四选一选择器。代码如下。用ISE综合,消耗980个slices,1706个FF,1124个LUT。有没有什么优化方法能够减少资源消耗?
module align_vpu_choice_test1(
clk,
grpnum,
A1_in,
A2_in,
A3_in,
A4_in,
in1,
in2,
in3,
in4,
in5,
in6
);
input clk;
input [3:0] grpnum; //控制
input [111:0] A1_in, A2_in, A3_in, A4_in; //输入的数据
output [111:0] in1, in2, in3, in4, in5, in6; //输出的数据

reg [111:0] in1, in2, in3, in4, in5, in6;
always @ (grpnum or A1_in or A2_in or A3_in or A4_in)
case (grpnum)
4'h0: begin
in1 = A1_in;
in2 = A2_in;
in3 = A4_in;
in4 = in4;
in5 = in5;
in6 = A3_in;
end
4'h1: begin
in1 = in1;
in2 = A3_in;
in3 = in3;
in4 = A4_in;
in5 = A1_in;
in6 = A2_in;
end

……………………………………

4'hf: begin
in1 = in1;
in2 = A3_in;
in3 = A2_in;
in4 = in4;
in5 = A4_in;
in6 = A1_in;
end
endcase
endmodule

参考技术A 另一种选择

图书馆的IEEE;

使用IEEE.STD_LOGIC_1164.ALL;

实体MUX21 IS

端口(

答:STD_LOGIC; B:在STD_LOGIC;

S:IN STD_LOGIC;

Y:OUT STD_LOGIC );

终端实体MUX21;

MUX21建筑MUX21A IS

工艺(S,A,B)BEGIN

如果s = '0'则Y <= A;

ELSE<= B;

END IF; 结束进程;

完MUX21A;

顶层文件

LIBRARY IEEE;

使用IEEE.STD_LOGIC_1164.ALL;

实体MUX31 IS

端口(A1,A2,A3,S0,S1:IN STD_LOGIC;

OUTY:OUT STD_LOGIC);

完MUX31;

MUX31建筑MUX31A IS

信号TMP:STD_LOGIC;

分量MUX21

端口(A,B,S:IN STD_LOGIC,Y:OUT STD_LOGIC);

端部部件;

U0:MUX21端口映射(A => A2,B => A,S => S 0,Y => TMP);

U1:MUX21端口映射(A => A 1,B => TMP,S => S1,Y => OUTY);

完MUX31A;

类别:埃达| |添加到收藏夹|分享我的贴吧|浏览(1719)|评论(2)上一篇:使用LCA88ET软件编译文件的书面笔记...下一篇:特殊最接近的整数嵌套读者:

以上是关于FPGA实验--模拟一个四选一多路选择器 求修改quartus II 自动生成testbench模板?的主要内容,如果未能解决你的问题,请参考以下文章

请用结构描述法,将RTL图给出Verilog程序?

FPGA中,数据位数对数据选择器消耗的资源影响大吗?

怎样用Verilog实现4选1数据选择器

VHDL程序设计中,用WITH_SELECT_WHEN语句描述4个16位至1个16位输出的4选1多路选择器

Selector选择器

模拟开关74hc4052的介绍和使用