教学文库网 - 权威文档分享云平台
您的当前位置:首页 > 精品文档 > 基础教育 >

实验七 4选1多路选择器设计实验知识讲解

来源:网络收集 时间:2026-09-05
导读: 精品文档 精品文档 实验七 4选1多路选择器设计实验 一、实验目的 进一步熟悉QuartusII 的VHDL 文本设计流程、组合电路的设计仿真和测试。 二、实验原理 四选一多路选择器设计时,试分别用IF_THEN 语句、WHEN_ELSE 和CASE 语句的表达方式写出此电路的VHDL 程

精品文档

精品文档 实验七 4选1多路选择器设计实验

一、实验目的

进一步熟悉QuartusII 的VHDL 文本设计流程、组合电路的设计仿真和测试。

二、实验原理

四选一多路选择器设计时,试分别用IF_THEN 语句、WHEN_ELSE 和CASE 语句的表达方式写出此电路的VHDL 程序,要求选择控制信号s1和s2的数据类型为STD_LOGIC;当s1=‘0’,s0=‘0’;s1=‘0’,s0=‘1’;s1=‘1’,s0=‘0’和s1=‘1’,s0=‘1’时,分别执行y<=a 、y<=b 、y<=c 、y<=d 。

三、程序设计

其示意框图如下:

其中输入数据端口为a 、b 、c 、d ,s1、s2为控制信号,Y 为输出。

令s0s1=“00”时,输出y=a ;

令s0s1=“01”时,输出y=b ;

令s0s1=“10”时,输出y=c ;

令s0s1=“11’ 时,输出y=d ;

a

输入 b 数据 c d

真值表如下:

精品文档

四、VHDL仿真实验

(1)用IF_THEN语句设计4选1多路选择器

1.建立文件夹D:\alteral\EDAzuoye\if_mux41,启动QuartusII软件工作平台,打开并建立新工程管理窗口,完成创建工程。

图1 利用New Project Wizard创建工程mux41

2.打开文本编辑。NEW→VHDL File→相应的输入源程序代码→存盘为mux41.vhd.。

图2 选择编辑文件类型

源程序代码如下:

LIBRARY IEEE;

USE IEEE.STD_LOGIC_1164.ALL;

ENTITY mux41 IS

精品文档

精品文档

PORT(a,b,c,d:IN STD_LOGIC;

s0: IN STD_LOGIC;

s1: IN STD_LOGIC;

y: OUT STD_LOGIC);

END ENTITY mux41;

ARCHITECTURE if_mux41 OF mux41 IS

SIGNAL s0s1:STD_LOGIC_VECTOR(1 DOWNTO 0); BEGIN

s0s1<=s0&s1;

PROCESS(s0s1,a,b,c,d)

BEGIN

IF s0s1="00" THEN y<=a;

ELSIF s0s1="01" THEN y<=b;

ELSIF s0s1="10" THEN y<=c;

ELSE y<=d;

END IF;

END PROCESS;

END ARCHITECTURE if_mux41;

3.综合运行,检查设计是否正确。

图3 全程编译无错后的报告信息精品文档

精品文档

4.生成symbol。

图4 生成symbol

5.建立波形编辑文件进行功能仿真,仿真结果如下图所示。

图5 设置时钟CLK的周期

精品文档

精品文档

图6 仿真波形输出报告

从上图时序仿真可以看出:

s0s1=“00”时,输出y=a;

s0s1=“01”时,输出y=b;

s0s1=“10”时,输出y=c;

s0s1=“11’时,输出y=d;

6.查看RTL电路。选择Tools->Netlist Viewers->RTL Viewers命令,即HDL 的RTL级图形观测器,选择好后即自动弹出计数器设计的RTL电路,如下图:

图7 RTL电路图

(2)用WHEN_ELSE语句设计4选1多路选择器

精品文档

精品文档

1.建立文件夹D:\alteral\EDAzuoye\when_mux41,启动QuartusII软件工作平台,打开并建立新工程管理窗口,完成创建工程。

图1 利用New Project Wizard创建工程mux41

2.打开文本编辑。NEW→VHDL File→相应的输入源程序代码→存盘为mux41.vhd.。

图2 选择编辑文件类型

源程序代码如下:

LIBRARY IEEE;

USE IEEE.STD_LOGIC_1164.ALL;

ENTITY mux41 IS

PORT(a,b,c,d:IN STD_LOGIC;

s0: IN STD_LOGIC;

精品文档

精品文档

s1: IN STD_LOGIC;

y: OUT STD_LOGIC);

END ENTITY mux41;

ARCHITECTURE when_mux41 OF mux41 IS

SIGNAL s:STD_LOGIC_VECTOR(1 DOWNTO 0); BEGIN

s<=s0&s1;

y<=a WHEN s="00" ELSE

b WHEN s="01" ELSE

c WHEN s="10" ELSE

d WHEN s="11" ELSE

'0';

END when_mux41;

3.综合运行,检查设计是否正确。

图3 全程编译无错后的报告信息4.生成symbol。

精品文档

精品文档

图4 生成symbol

5.建立波形编辑文件进行功能仿真,仿真结果如下图所示。

图5 设置时钟CLK的周期

精品文档

精品文档

精品文档图6 仿真波形输出报告

从上图时序仿真可以看出:

s0s1=“00”时,输出y=a;

s0s1=“01”时,输出y=b;

s0s1=“10”时,输出y=c;

s0s1=“11’时,输出y=d;

6.查看RTL电路。选择Tools->Netlist Viewers->RTL Viewers命令,即HDL 的RTL级图形观测器,选择好后即自动弹出计数器设计的RTL电路,如下图:

图7 RTL电路图

(3)用CASE语句设计4选1多路选择器

1.建立文件夹D:\alteral\EDAzuoye\case_mux41,启动QuartusII软件工作平台,打开并建立新工程管理窗口,完成创建工程。

精品文档

图1 利用New Project Wizard创建工程mux41

2.打开文本编辑。NEW→VHDL File→相应的输入源程序代码→存盘为mux41.vhd.。

图2 选择编辑文件类型

源程序代码如下:

LIBRARY IEEE;

USE IEEE.STD_LOGIC_1164.ALL;

ENTITY mux41 IS

PORT(a,b,c,d:IN STD_LOGIC;

s0: IN STD_LOGIC;

s1: IN STD_LOGIC;

y: OUT STD_LOGIC);

END ENTITY mux41;

ARCHITECTURE case_mux41 OF mux41 IS

SIGNAL s0s1:STD_LOGIC_VECTOR(1 DOWNTO 0);

精品文档

精品文档

BEGIN

s0s1<=s0&s1;

PROCESS(s0s1,a,b,c,d) BEGIN

CASE s0s1 IS

WHEN"00"=>y<=a;

WHEN"01"=>y<=b;

WHEN"10"=>y<=c;

WHEN"11"=>y<=d;

WHEN OTHERS=>NULL;

END CASE;

END PROCESS;

END ARCHITECTURE case_mux41;

3.综合运行,检查设计是否正确。

图3 全程编译无错后的报告信息4.生成symbol。

精品文档

精品文档

精品文档图4 生成symbol

5.建立波形编辑文件进行功能仿真,仿真结果如下图所示。

图5 设置时钟CLK的周期

图6 仿真波形输出报告

从上图时序仿真可以看出:

s0s1=“00”时,输出y=a;

s0s1=“01”时,输出y=b;

精品文档

s0s1=“10”时,输出y=c;

s0s1=“11’时,输出y=d;

6.查看RTL电路。选择Tools->Netlist Viewers->RTL Viewers命令,即HDL 的RTL级图形观测器,选择好后即自动弹出计数器设计的RTL电路,如下图:

图7 RTL电路图

精品文档

…… 此处隐藏:1325字,全部文档内容请下载后查看。喜欢就下载吧 ……
实验七 4选1多路选择器设计实验知识讲解.doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.jiaowen.net/wendang/338461.html(转载请注明文章来源)
Copyright © 2020-2025 教文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:78024566 邮箱:78024566@qq.com
苏ICP备19068818号-2
Top
× 游客快捷下载通道(下载后可以自由复制和排版)
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能出现无法下载或内容有问题,请联系客服协助您处理。
× 常见问题(客服时间:周一到周五 9:30-18:00)