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多路选择器,并完成其仿真波形图(贴图). 二.源代码 //-------------------------------------------- ...
最新文章
- 如何解决VS2015编译C4996错误
- 由右移运算符引发的思考(计算机原理)
- 第一章.良好应用程序基石(2)
- Spring 的@Bean 的用法
- 分布式锁(一) Zookeeper分布式锁
- 远程仓库与 fetch 命令——Git 学习笔记 20
- Python 函数基础2 实参与形参
- java 标记_java的标记算法
- 到底什么是 OAuth 2.0
- Spring Boot项目实战:BBT版西蒙购物网
- 软件项目管理四个核心价值观
- 计算机上标和下标的快捷键,【1人回答】Word文档中怎么输入上标下标,上标下标快捷键是什么?-3D溜溜网...
- C++ QT开发人机象棋(棋子走法)
- Android Retrofit的学习
- python plot画柱状图_matplotlib使用:画柱状图
- Python+Django毕业设计中小型企业工作日志管理系统APP(程序+LW+部署)
- English——slang about body
- tipask二次开发总结_测试经验总结(“二次开发”)
- 写互联网文案的新技巧
- 关于解决 inittramfs unpacking failed:Decoding failed 报错