八选一数据选择器和四位数据比较器verilog实验报告)
- 格式:doc
- 大小:24.00 KB
- 文档页数:5
学生实验报告
实验课名称:VHDL硬件描述语言
实验项目名称:八选一数据选择器
专业名称:电子科学与技术
班级:电科一班
学号:3205080117
学生姓名:刘海涛
教师姓名:程鸿亮
____2010____年___11_月___6_日
组别 5 同组同学王帅周全
实验日期2010年11月6 日实验室名称________成绩_____
一、实验名称:
八选一数据选择器
二、实验目的与要求:
设计一个8选1的数据选择器,初步掌握QuartusII软件的使用方法以及硬件编程下载的基本技能。
三、实验内容:
1.通过VHDL编程,实现一个数据选择器,要求有8位数据输入
端,1位数据输出端,通过3位地址输入信号寻址,并具有输出使
能功能。首先在QuartusII上进行功能和时序仿真,之后通过器
件及其端口配置下载程序到SOPC开发平台。
如图所示:
d0~d7为数据输入端;本实验用实验平台的拨动开关实现8位输入信
号(d0~d7):
g为使能端,高电平有效; a[2..0]为地址输入端;用实验平台的
按键8,7,6实现地址信号和键3实现使能信号:
y为输出端。本实验输出采用LED发光阵列的LED12。
注:要求非使能或是无效地址状态时,y输出0。
首先在QuartusII上进行功能和时序仿真,之后通过器件及其端口配置下载程序到SOPC开发平台中。
2.操作步骤:
1.在quartus建立工程,选择好相关器件(本实验用到的开发器件为cyclonell EP2C35F484C8),新建VHDL文件,输入相关实验的代码。
2.编译成功后,建立矢量波形文件,然后依次进行相应的功能仿真和时序仿真。
verilog实验报告
Verilog实验报告
引言:
Verilog是一种硬件描述语言(HDL),用于设计和模拟数字电路。它是一种高
级语言,能够描述电路的行为和结构,方便工程师进行数字电路设计和验证。
本实验报告将介绍我在学习Verilog过程中进行的实验内容和所获得的结果。
实验一:基本门电路设计
在这个实验中,我使用Verilog设计了基本的逻辑门电路,包括与门、或门和非门。通过使用Verilog的模块化设计,我能够轻松地创建和组合这些门电路,以实现更复杂的功能。
我首先创建了一个与门电路的模块,定义了输入和输出端口,并使用逻辑运算
符和条件语句实现了与门的功能。然后,我创建了一个测试模块,用于验证与
门的正确性。通过输入不同的组合,我能够验证与门的输出是否符合预期。
接下来,我按照同样的方法设计了或门和非门电路,并进行了相应的测试。通
过这个实验,我不仅学会了使用Verilog进行基本门电路的设计,还加深了对逻辑电路的理解。
实验二:时序电路设计
在这个实验中,我学习了如何使用Verilog设计时序电路,例如寄存器和计数器。时序电路是一种具有状态和时钟输入的电路,能够根据时钟信号的变化来改变
其输出。
我首先设计了一个简单的寄存器模块,使用触发器和组合逻辑电路实现了数据
的存储和传输功能。然后,我创建了一个测试模块,用于验证寄存器的正确性。
通过输入不同的数据和时钟信号,我能够观察到寄存器的输出是否正确。
接下来,我设计了一个计数器模块,使用寄存器和加法电路实现了计数功能。
我还添加了一个复位输入,用于将计数器的值重置为初始状态。通过测试模块,我能够验证计数器在不同的时钟周期内是否正确地进行计数。
verilog4选一数据选择器原理
Verilog中的4选1数据选择器(MUX)是一种多路选择器,可以从4个输入信号中选择一个输出信号。这种数据选择器的原理在于根据控制信号的不同将其中一些输入信号传递到输出端。以下是对Verilog中的4选1数据选择器的原理的详细解释。
首先,一个4选1数据选择器包括4个输入信号(A,B,C,D),一个控制信号(S),以及一个输出信号(Y)。
控制信号(S)决定了哪个输入信号将被传递到输出端。这里采用二进制的表示方法,控制信号(S)的取值范围为0到3、具体来说,当
S=00时,输入信号A将被传递到输出端,当S=01时,输入信号B将被传递到输出端,当S=10时,输入信号C将被传递到输出端,当S=11时,输入信号D将被传递到输出端。
实现4选1数据选择器需要用到逻辑门电路。常用的逻辑门有与门(AND),或门(OR),非门(NOT)等。
首先,将控制信号(S)的两个比特分别作为两个输入端口A和B的输入信号。这两个输入端口将分别与输入信号的每一位进行与运算,得到4个输出信号。
那么接下来,控制信号(S)的两个比特将作为输入信号的每一位的控制信号。假设输入信号为(A0,A1)。
当控制信号(S)为(0,0)时,即A0=0,A1=0,与运算得到的输出信号为(0,0,0,0),此时输出端Y将传递输入信号A。
当控制信号(S)为(0,1)时,即A0=0,A1=1,与运算得到的输出
信号为(0,1,0,0),此时输出端Y将传递输入信号B。
当控制信号(S)为(1,0)时,即A0=1,A1=0,与运算得到的输出
Verilog实验报告
实验一简单组合逻辑电路的设计
一实验要求
1.用verilog HDL语言描写出简单的一位数据比较器及其测试程序;
2.用测试程序对比较器进行波形仿真测试;画出仿真波形;
3.总结实验步骤和实验结果。
二实验原理与内容
4.这是一个可综合的数据比较器,很容易看出它的功能是比较数据a
与数据b,如果两个数据相同,则给出结果1,否则给出结果0。在
Verilog HDL中,描述组合逻辑时常使用assign结构。注意
equal=(a==b)?1:0,这是一种在组合逻辑实现分支判断时常使用的
格式。
5.模块源代码
测试模块:
6.波形图:
四结实验步骤和实验结果
由图可看出,每当输入的电位值不同时输出为0,这与实验要求一致,相同时输出为1,故此程序是可行的。
实验三在verilog HDL中使用函数
一实验要求
1.掌握函数在模块中的使用
2.用测试程序进行波形仿真测试;画出仿真波形
3.总结实验步骤和实验结果
二实验原理与内容
与一般的程序设计语言一样;verilog HDL也可以使用函数已是应对不同变量采取同一运算的操作。verilog HDL函数在综合时被理解成具有独立运算功能的电路,每调用一次函数相当于改变这部分电路的输入以得到相应的计算结果。
模块源代码:
module ex3(clk,n,result,reset);
output[31:0] result;
input[3:0] n;
input reset,clk;
reg[31:0] result;
always @(posedge clk)
begin
if(!reset)result <= 0;
综合出电路:
波形图:
一位数值比较器
LIBRARY IEEE;
USE IEEE.std_logic_1164.all;
ENTITY com_1 IS
port(a,b:in std_logic;
q:out std_logic_vector (2 downto 0)); end entity;
architecture behave of com_1 is
begin
process(a,b)
begin
if(a=b)then
q<="010";
elsif(a>b)then
q<="100";
else
q<="001";
end if;
end process;
end architecture;
四位数值比较器
LIBRARY IEEE;
USE IEEE.std_logic_1164.all;
entity com_4 is
port(a,b:in std_logic_vector(3 downto 0);
q:out std_logic_vector(2 downto 0));
end entity;
architecture struct of com_4 is
component com_1 is
port(a,b:in std_logic;
q:out std_logic_vector(2 downto 0));
end component;
signal q0,q1,q2,q3:std_logic_vector(2 downto 0);
begin
u0:com_1 port map(a(0),b(0),q0);
电子科技大学
实验报告
学生姓名:郫县阿基王学号:2014666666666 指导教师:
唐明
一、实验项目名称:Verilog组合逻辑设计
二、实验目的:
使用ISE软件和Verilog语言进行组合逻辑的设计与实现。
三、实验内容:
1.3-8译码器的设计和实现。
2.4位并行进位加法器的设计和实现。
3.两输入4位多路选择器的设计和实现。
实验要求如下:
1.采用Verilog语言设计,使用门级方式进行描述。
2.编写仿真测试代码。
3.编写约束文件,使输入、输出信号与开发板的引脚对应。
4.下载到FPGA开发板,拨动输入开关,观察Led灯的显示是否符合真值表。
四、实验原理:
1.74x138译码器是输出低有效的3-8译码器。表1所示为74x138译码器的真值表。
1 0 0 0 1 0 1 1 1 1 1 0 1 1 1 0 0 0 1 1 1 1 1 1 0 1 1 1 1 0 0 1 0 0 1 1 1 0 1 1 1 1 1 0 0 1 0 1 1 1 0 1 1 1 1 1 1 0 0 1 1 0 1 0 1 1 1 1 1 1 1
0 0 1 1 1 0 1 1 1 1 1 1 1
根据3-8译码器的真值表,可得输出的函数表达式为
12_2_0_1_2_3_4_5_6_7_G G G A L G B L Y L C B A G Y L C B A G Y L C B A G Y L C B A G Y L C B A G Y L C B A G Y L C B A G Y L C B A G
=⋅⋅=⋅⋅⋅=⋅⋅⋅=⋅⋅⋅=⋅⋅⋅=⋅⋅⋅=⋅⋅⋅=⋅⋅⋅=⋅⋅⋅
精心整理
2019年9月
FPGA 实验报告
姓名 朱聪聪 学号 39 姓名 武帅 学号 课
题
名
称 8选1数据选择器设计
实验目
的
1、理解数据选择器功能。
2、掌握VHDL 并行语句中条件信号赋值的格式和用法。 设计要求
设计一个8选1数据选择器使其满足如下真值表:
8选1数据选择器真值表
地址码(选择信号)
输出Q A0 A1 A2
0 0 0
D0 0 0 1
D1 0 1 0
D2 0 1 1
D3 1 0 0
D4 1 0 1
D5 1 1 0
D6 1 1 1
D7 表一
1.利用条件信号赋值语句实现8选1数据选择器器功能。
2.完成设计的仿真,并记录、分析仿真波形。 设
计思路 条件信号赋值语句也是一种并行信号赋值语句。条件信号赋值语句可以根据不同的条件将不同的表达式赋值给目标信号,格式如下:
信号<=表达式1WHEN 赋值条件1ELSE
表达式2WHEN 赋值条件2ELSE ……
表达式n ;
精心整理
2019年9月
设
计
原
理
图
及
源
程
序 LIBRARY IEEE;
USE IEEE.STD_LOGIC_1164.ALL;
ENTITY MUX8 IS
PORT(D:IN STD_LOGIC_VECTOR(7 DOWNTO 0);
A:IN STD_LOGIC_VECTOR(2 DOWNTO 0);
Q:OUT STD_LOGIC);
END ENTITY MUX8;
ARCHITECTURE one OF MUX8 IS BEGIN Q<=D(0) WHEN A="000" ELSE D(1) WHEN A="001" ELSE D(2) WHEN A="010" ELSE
实验三、八选一数据选择器
一、实验目的:
1.熟悉Quartus II6.0软件的使用和FPGA设计流程
2.用VHDL语言进行八选一数据选择器的设计
二、实验步骤:
一.建立文件夹:在D盘“xingming”的文件夹下建立一个名为“choice8”
的文件夹。
二.建立新工程
1.双击桌面上Quartus II6.0 的图标,启动该软件。
2.通过File => New Project Wizard… 菜单命令启动新项目向导。在随后弹
出的对话框上点击Next按钮,在 What is the working directory for this project 栏目中设定新项目所使用的路径:D:\xingming\choice8;在What is the name of this project 栏目中输入新项目的名字:choice8,点击 Next 按钮。在下一个出现的对话框中继续点击Next,跳过这步。
3.为本项目指定目标器件:选择器件系列为ACEX1K ,选择具体器件为
EP1K30TC144-3 1728 24576 ,再点击Next。在弹出的下一对话框中继续点击Next ,最后确认相关设置,点击Finish按钮,完成新项目创建。
三.设计输入
1.建立一个VHDL文件。通过 File => New 菜单命令,在随后弹出的对话框中
选择 VHDL File选项,点击 OK 按钮。通过 File => Save As 命令,将其保存,并加入到项目中。
2.在VHDL界面输入8选1数据选择器程序,然后通过File => Save As 命
verilog4选一数据选择器原理(一)
Verilog中的4选1数据选择器
简介
在数字电路中,数据选择器是一种常见的电路组件,用于从多个数据输入中选择一个输出。Verilog是一种硬件描述语言,广泛用于数字电路的设计和仿真。本文将介绍Verilog中的4选1数据选择器的原理和实现方法。
原理
4选1数据选择器有4个输入和1个输出。根据选择信号,从4个输入中选择一个输入作为输出。选择信号是2位的二进制数,共有4种可能的状态,每种状态对应一个输入。当选择信号为00时,输出为第一个输入;当选择信号为01时,输出为第二个输入;当选择信号为10时,输出为第三个输入;当选择信号为11时,输出为第四个输入。逻辑电路图
以下是4选1数据选择器的逻辑电路图:
______
S0 ----| |
| |
S1 ----| |----- Y
|______|
Verilog实现
下面是实现4选1数据选择器的Verilog代码示例:
module mux4to1 (input [3:0] D, input [1:0] S, outpu t Y);
assign Y = (S[1] & S[0] & D[3]) | (S[1] & ~S[0] & D [2])
| (~S[1] & S[0] & D[1]) | (~S[1] & ~S[0] & D[0]);
endmodule
在上面的代码中,D是4个输入的信号线,S是选择信号线,Y是输出信号线。根据选择信号的不同状态,使用逻辑运算符进行输入的选取,然后将结果输出到输出信号线Y上。
仿真测试
实验名称:组合逻辑VHDL设计——数据选择器
班级: 09电气2Z 学号: 09312213 姓名:钱雷
一、4选1数据选择器的VHDL设计(低电使能端)
1.实体框图
2.程序设计
①正确的程序
library ieee;
use ieee.std_logic_1164.all;
entity mux41a is
port(D3,D2,D1,D0,EN:in std_logic;
A1,A0:in std_logic;
y:out std_logic);
end mux41a;
architecture aaa of mux41a is
begin
y<=D3 when A1='0' and A0='0' and EN='0' else
D2 when A1='0' and A0='1' and EN='0' else
D1 when A1='1' and A0='0' and EN='0' else
D0 when A1='1' and A0='1' and EN='0'
else 'Z';
end architecture aaa;
3.仿真波形图
4.仿真波形分析
D0-D3是数据输入端,EN为使能端,低电平有效,S(A1和A0)是控制输入端,Y是数据输出端。当A1、A0=‘11’时,D0数据被选中,输出Y=D0;当A1、A0=‘10’时,D1数据被选中,输出Y=D1,当A1、A0=‘01’时,D2数据被选中,输出Y=D2,当A1、A0=‘00’时,D3数据被选中,输出Y=D3。
二、8选1数据选择器的VHDL设计(低电使能端)
实验报告
课程名称:__ 数字系统设计实验Ⅱ__指导老师:成绩:_______
实验名称:流水线MIPS微处理器设计实验类型:____设计型__ __
一、实验目的和要求(必填)二、实验内容和原理(必填)
三、主要仪器设备(必填)四、操作方法和实验步骤
五、实验数据记录和处理六、实验结果与分析(必填)
七、讨论、心得
一、实验目的
1.了解提高CPU性能的方法。
2.掌握流水线MIPS微处理器的工作原理。
3.理解数据冒险、控制冒险的概念以及流水线冲突的解决方法。
4.掌握流水线MIPS微处理器的测试方法。
二、实验任务
设计一个32位流水线MIPS微处理器,具体要求如下:
1.至少运行下列MIPS32指令。
(1)算术运算指令:ADD、ADDU、SUB、SUBU、ADDI、ADDIU。
(2)逻辑运算指令:AND、OR、NOR、XOR、ANDI、ORI、XORI、SLT、SLTU、SLTI、SLTIU。
(3)移位指令:SLL、SLLV、SRL、SRLV、SRA。
(4)条件分支指令:BEQ、BNE、BGEZ、BGTZ、BLEZ、BLTZ。
(5)无条件跳转指令:J、JR。
(6)数据传送指令:LW、SW。
(7)空指令:NOP。
2.采用5级流水线技术,对数据冒险实现转发或阻塞功能。
3.在XUP Virtex-Ⅱ Pro 开发系统中实现MIPS微处理器,要求CPU的运行速度大于
25MHz。
三、实验原理
1.总体设计
流水线是数字系统中一种提高系统稳定性和工作速度的方法,广泛应用于高档CPU的架构中。根据MIPS处理器的特点,将整体的处理过程分为取指令(IF)、指令译码(ID)、执行(EX)、存储器访问(MEM)和寄存器会写(WB)五级,对应多周期的五个处理阶段。如图3.1所示,一个指令的执行需要5个时钟周期,每个时钟周期的上升沿来临时,此指令所代表的一系列数据和控制信息将转移到下一级处理。
《集成电路设计实践》报告
题目:8选1数据选择器
院系:自动化学院电子工程系专业班级:微电
学生学号:
学生姓名:
指导教师姓名:职称:讲师起止时间:2015-12-21——2016-1-9 成绩:
一、设计任务
1) 依据8选1数据选择器的真值表,给出八选一MUX电路图,完成由电路图到晶体管级的转化(需提出至少2种方案);
2) 绘制原理图(Sedit),完成电路特性模拟(Tspice,瞬态特性),给出电路最大延时时间;
3) 遵循设计规则完成晶体管级电路图的版图,流程如下:版图布局规划-基本单元绘制-功能块的绘制-布线规划-总体版图);
4) 版图检查与验证(DRC检查);
5) 针对自己画的版图,给出实现该电路的工艺流程图。
二、电路设计方案的确定
数据选择器是指经过选择,把多个通道的数据传送到唯一的公共数据通道上去,实现数据选择功能的逻辑电路称为数据选择器。它的作用相当于多个输入的单刀多掷开关,其示意图如下所示
数据选择器除了可以实现一些组合逻辑功能以外,还可以做分时多路传输电路,函数发生器及数码比较器
等,常见的数据比较器有2选1,4选1,8选1,16选1电路。
示意图
在多路数据传送过程中,能够根据需要将其中任意一路选出来的电路,叫做数据选择器。
数据选择器(MUX)的逻辑功能是在地址选择信号的控制下,从多路数据中选择一路数据作为输出信号。
本次设计的是8选1数据选择器。选择控制端(地址端)为K2,K1,K0,按二进制译码,从8个输入数据D0-D7中,选择一个需要的数据送到输出端Y。
根据多路开关的开关状态(地址码)K2,K1,K0的状态选择D0-D7中某一个通道的数据输送到输出端Y。
Verilog HDV
数字设计与综
合实验报告
微电子 0901 班
姓名:袁东明_
学号: _04094026
一、实验课题:
1.八选一数据选择器
2.四位数据比较器
二、八选一数据选择器Verilog程序:
2.1 主程序
module option(a,b,c,d,e,f,g,h,s0,s1,s2,out);
input [2:0] a,b,c,d,e,f,g,h;
input s0,s1,s2;
output [2:0] out;
reg [2:0] out;
always@(a or b or c or d or e or f or g or h or s0 or s1 or s2)
begin
case({s0,s1,s2})
3'd0 : out=a;
3'd1 : out=b;
3'd2 : out=c;
3'd3 : out=d;
3'd4 : out=e;
3'd5 : out=f;
3'd6 : out=g;
3'd7 : out=h;
endcase
end
endmodule
2.2 激励程序
module sti;
reg [2:0] A,B,C,D,E,F,G,H;
reg S0,S1,S2;
wire [2:0] OUT;
option dtg(A,B,C,D,E,F,G,H,S0,S1,S2,OUT);
initial
begin
A=3'd0;B=3'd1;C=3'd2;D=3'd3;E=3'd4;F=3'd5;G=3'd6;H=3'd7;S0=0;S1=0;S2=0;
#100 A=3'd0;B=3'd1;C=3'd2;D=3'd3;E=3'd4;F=3'd5;G=3'd6;H=3'd7;S0=0;S1=0;S2=1; #100 A=3'd0;B=3'd1;C=3'd2;D=3'd3;E=3'd4;F=3'd5;G=3'd6;H=3'd7;S0=0;S1=1;S2=0; #100 A=3'd0;B=3'd1;C=3'd2;D=3'd3;E=3'd4;F=3'd5;G=3'd6;H=3'd7;S0=0;S1=1;S2=1; #100 A=3'd0;B=3'd1;C=3'd2;D=3'd3;E=3'd4;F=3'd5;G=3'd6;H=3'd7;S0=1;S1=0;S2=0; #100 A=3'd0;B=3'd1;C=3'd2;D=3'd3;E=3'd4;F=3'd5;G=3'd6;H=3'd7;S0=1;S1=0;S2=1;
verilog4选一数据选择器原理
四选一数据选择器是一种基本的多路选择电路,它能够从多个输入中
选择一个输出。该数据选择器通常由多个与门和与非门组成。下面是一个
简单的四选一数据选择器的原理和工作过程。
四选一数据选择器的输入包含四个数据输入(D0-D3),两个控制输
入(S0,S1),和一个输出(Y)。控制输入用于选择要输出的数据输入。工作原理如下:
1.当S0和S1的状态为00时,与非门1的输出为1,与非门2的输
出为0。这将导致与门1和与门2之间的连接断开,与门3和与门4之间
的连接接通。此时,输入D0被传输到输出Y。
2.当S0和S1的状态为01时,与非门1的输出为0,与非门2的输
出为1、这将导致与门1和与门2之间的连接接通,与门3和与门4之间
的连接断开。此时,输入D1被传输到输出Y。
3.当S0和S1的状态为10时,与非门1的输出为0,与非门2的输
出为0。这将导致与门1和与门2之间的连接接通,与门3和与门4之间
的连接断开。此时,输入D2被传输到输出Y。
4.当S0和S1的状态为11时,与非门1的输出为1,与非门2的输
出为1、这将导致与门1和与门2之间的连接断开,与门3和与门4之间
的连接接通。此时,输入D3被传输到输出Y。
整个过程可以看作是一个多级级联的逻辑门电路。根据不同的控制输
入状态,不同的逻辑门被打开或关闭,从而选择相应的数据输入传输到输出。
四选一数据选择器的应用非常广泛。例如,它可以用于多路复用器(MUX)中,用于选择要传输的数据输入;也可以用于减少主控板上的电路复杂性,将多个输入集成为一个输出。
学生实验报告
实验课名称:VHDL硬件描述语言
实验项目名称:八选一数据选择器
专业名称:电子科学与技术
班级:电科二班
学号:***
学生姓名:***
教师姓名:***
__2020__年_11_月_06_日
组别_____________________同组同学_______________________
实验日期_____年___月___日实验室名称______________成绩_____ 一、实验名称:
八选一数据选择器
二、实验目的与要求:
实验目的:设计一个8选1的数据选择器,初步掌握QuartusII软件的使用方法以及硬件编程下载的基本技能。
实验要求:通过VHDL编程,实现一个数据选择器,要求有8位数据输入端,1位数据输出端,通过3位地址输入信号寻址,并具有输出使能功能。首先在QuartusII上进行功能和时序仿真,之后通过器件及其端口配置下载程序到SOPC 开发平台中。
如图所示:
d0~d7为数据输入端;
g为使能端,高电平有效;
a[2..0]为地址输入端;
y为输出端。
注:要求非使能或是无效地址状态时,y输出0。
首先在QuartusII上进行功能和时序仿真,之后通过器件及其端口配置下载程序到SOPC开发平台中。在硬件实现中,要求:
1. 用实验平台的拨动开关实现8位输入信号(d0~d7)
:
注:要求使用最右面8个开关。
2. 用实验平台的按键实现地址信号和使能信号:
注:采用模式0的输入方式,并使用最左边的键6~键8
三个按键实现地
址输入,以及键3实现使能信号。
3. 输出采用LED发光阵列的LED12。