VHDL实验三:一位全加器、四选一多路选择器
一、实验目的
1.掌握简单的VHDL程序设计。
2.掌握用VHDL对基本组合逻辑电路的建模。
二、实验原理
1. 数据选择器(Multiplexer)
在数字系统设计时,需要从多个数据源中选择一个, 这时就需要用到多路选择器。以2选1多路选择器为例,在控制端的作用下可以从2路并行的输入信号中选择一路信号作为输出。
2.全加器 (Adder)
加法器是最基本的运算单元。加法器中最小的单元是一位全加器,一位全加器(Adder)的真值表如下所示:
3.四选一选择器
真值表如图所示:
三、实验内容
1、一位全加器
(1)实验代码:
LIBRARY IEEE;
USE IEEE.STD_LOGIC_1164.ALL;ENTITY lab3 IS
PORT (a,b,ci: IN BIT;S,CO: OUT BIT
);
END;ARCHITECTURE f_add OF lab3 ISBEGIN s<=(a XOR b)XOR ci; co<=((a XOR b)AND ci)OR(a AND b);
END;
(2)波形仿真图:
分析:
- 前8个intervals按真值表设值,输出结果符合真值表;
- 后面的intervals为随机设值,输出结果也符合真值表。
- s的结果为a、b全加的结果,ci为进位标志,从仿真波形可以看出,s满足两个二进制数a、b相加,并且输出co加法进位,符合实验预期的逻辑功能。
2、思考题:四选一多路选择器
(1)实验代码
library ieee;
use ieee.std_logic_1164.all;entity mux1_4 is
port(a,b,c,d: in std_logic;s1,s0: in std_logic;y: out std_logic);
end mux1_4;architecture one of mux1_4 is
signal sel: std_logic_vector(1 downto 0);
beginsel <= s1&s0;with sel selecty<= a when "00",b when "01",c when "10",d when "11",'X' when others;
end one;
(2)波形仿真图
分析:
由图中波形可以明显地看出,
当s0=0且s1=0时,y=a;当s1=0且s0=1时,y=b;
当s1=1且s0=0时,y=c;当s1=1且s0=1时,y=d。
符合真值表的逻辑功能。
四、实验总结
在本次实验中,完成了一位全加器和四选一多路选择器的文本层次设计和波形仿真,熟悉了全加器和数据选择器的逻辑功能,同时复习了数电里的基础知识,对EDA软件功能的了解程度有所加深。并且,初步掌握以文本编辑的方式设计电路的方法,学习了VHDL语言中库,实体,结构体等基本语法的使用。
错误整理:实体的命名要与实体所在的.vhd文件名保持一致。
VHDL实验三:一位全加器、四选一多路选择器相关推荐
- 四选一多路选择器MUX41a
四选一多路选择器的代码如下,保存路径不能有中文!! 文件名保存为模块名. (Cyclone III-----EP3C40Q240C8) 编译无错误后: File-New-VMF Edit--Inser ...
- 利用Block Design在Vivado实现三位四选一多路选择器
一.要求:利用Block Design设计一个三位 4 选 1 多路选择器电路 二.实验原理: 真值表: Block Design原理图 三.设计过程 Block Design 将自己编写的与门,非门 ...
- Verilog练习笔记(四选一多路选择器)
制作一个四选一的多路选择器,要求输出定义上为线网类型 状态转换: d0 11 d1 10 d2 01 d3 00 信号示意图: 波形示意图: 输入描述: 输入信号 d1,d ...
- FPGA初识:四选一多路选择器实例练习
一.项目创建 1.creat project2.确认项目名和项目位置,"√"确认生成子目录 3.生成RTL项目文件,且"√"不添加特殊源文件 4.根据上面的筛选 ...
- VHDL三输入与门、四选一复用器
1.三输入与门 --定义头文件 LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL;--定义实体,定义输入和输出 ENTITY A3 ISPORT(a,b,c:IN S ...
- VHDL四选一数据选择器和基本触发器的设计
主要内容: 本设计主要是利用超高速硬件描述语言VHDL对四选一数据选择器和基本触发器电路进行编程实现. 四选一数据选择器应该具备的功能:在选择信号的作用下,从输入通道中选择某一个通道的数据作为输出. ...
- 实验三 16位机指令系统实验报告
实验三 16位机指令系统实验报告 一.实验目的 1.学习和了解实验平台十六位机监控命令的用法: 2.学习和了解实验平台十六位机的指令系统: 3.学习简单的实验平台十六位机汇编程序设计 实验内容 1.使 ...
- 四选一多路开关电路描述
//四选一多路开关MUX4-1 module MUX4-1 (EN ,IN0 ,IN1 ,IN2 ,IN3 ,SEL ,OUT ); input EN ; //使能端 input [7:0] IN0 ...
- 跟着小梅哥初学FPGA ,vivdao开发平台,二选一多路选择器。
今天正式开始自己的FPGA自学之路,由于导师项目需要,xilinx ZYNQ 7系列的板子,vivado软件平台进行开发,所以自己也直接学习vivado软件开发的板子,我自己学习所用的开发板是xili ...
- FPGA _Verilog HDL_8选一多路选择器设计
一.题目 熟悉QuartusII软件,并设计一个8选1多路选择器,并完成其仿真波形图(贴图). 二.源代码 //-------------------------------------------- ...
最新文章
- strut2服务器与android交互数据,用Android搭建客户端 手机和服务器交互开发
- SQL Server创建视图——视图的作用
- 关于mysql内存管理_MYSQL内存管理及优化
- SAP Spartacus auth.service.ts里的user调用触发的源代码位置
- java 线程同步condtion_Java:多线程,使用同步锁(Lock)时利用Condition类实现线程间通信...
- 智能音箱音效哪个好_华为支浩:音质好是底线,AI基本功扎实让智能音箱不再是“玩具”...
- 下行物理信道rs_这些CH结尾的LTE物理信道傻傻分不清楚?快来看这篇文章!
- 斐讯音箱控制扫地机器人_轻松解决家务难题 斐讯大能扫地机器人X3
- ios12怎么滑屏解锁_iOS12.2 越狱来袭,又是一波秀
- 小程序生成海报(java后端)
- 设置 Google Analytics(分析)全局网站统计代码
- 去掉vue中万恶的eslint
- 读研究生时,还有【暑假】么?
- 币图网以太坊开发实例_去中心化概念模型与架构设计
- RT-Thread Studio学习(十一)IIC
- 2020年chx的计算机保研之路系列(3)——中科院计算所(获得offer)
- Unity 中 print 和 Debug.Log 的区别
- openGL,glut库安装(vs2013)
- 韦东山数码相框项目进度一
- USB扫描枪设置流程 扫描枪使用