一、实验目的

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实验三:一位全加器、四选一多路选择器相关推荐

  1. 四选一多路选择器MUX41a

    四选一多路选择器的代码如下,保存路径不能有中文!! 文件名保存为模块名. (Cyclone III-----EP3C40Q240C8) 编译无错误后: File-New-VMF Edit--Inser ...

  2. 利用Block Design在Vivado实现三位四选一多路选择器

    一.要求:利用Block Design设计一个三位 4 选 1 多路选择器电路 二.实验原理: 真值表: Block Design原理图 三.设计过程 Block Design 将自己编写的与门,非门 ...

  3. Verilog练习笔记(四选一多路选择器)

    制作一个四选一的多路选择器,要求输出定义上为线网类型 状态转换: d0    11 d1    10 d2    01 d3    00 信号示意图: 波形示意图: 输入描述: 输入信号   d1,d ...

  4. FPGA初识:四选一多路选择器实例练习

    一.项目创建 1.creat project2.确认项目名和项目位置,"√"确认生成子目录 3.生成RTL项目文件,且"√"不添加特殊源文件 4.根据上面的筛选 ...

  5. VHDL三输入与门、四选一复用器

    1.三输入与门 --定义头文件 LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL;--定义实体,定义输入和输出 ENTITY A3 ISPORT(a,b,c:IN S ...

  6. VHDL四选一数据选择器和基本触发器的设计

    主要内容: 本设计主要是利用超高速硬件描述语言VHDL对四选一数据选择器和基本触发器电路进行编程实现. 四选一数据选择器应该具备的功能:在选择信号的作用下,从输入通道中选择某一个通道的数据作为输出. ...

  7. 实验三 16位机指令系统实验报告

    实验三 16位机指令系统实验报告 一.实验目的 1.学习和了解实验平台十六位机监控命令的用法: 2.学习和了解实验平台十六位机的指令系统: 3.学习简单的实验平台十六位机汇编程序设计 实验内容 1.使 ...

  8. 四选一多路开关电路描述

    //四选一多路开关MUX4-1 module MUX4-1 (EN ,IN0 ,IN1 ,IN2 ,IN3 ,SEL ,OUT ); input EN ; //使能端 input [7:0] IN0 ...

  9. 跟着小梅哥初学FPGA ,vivdao开发平台,二选一多路选择器。

    今天正式开始自己的FPGA自学之路,由于导师项目需要,xilinx ZYNQ 7系列的板子,vivado软件平台进行开发,所以自己也直接学习vivado软件开发的板子,我自己学习所用的开发板是xili ...

  10. FPGA _Verilog HDL_8选一多路选择器设计

    一.题目 熟悉QuartusII软件,并设计一个8选1多路选择器,并完成其仿真波形图(贴图). 二.源代码 //-------------------------------------------- ...

最新文章

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

热门文章

  1. 记录一个很好用的截图软件greenShot
  2. 说好的弯曲损耗不敏感呢!入户皮线光缆的衰耗从何而来?
  3. 如何使用计算机蓝牙设备管理器,电脑蓝牙bluetooth怎么使用_win7蓝牙bluetooth使用教程-系统城...
  4. 计算机组成原理课程设计报告总结
  5. 工具-cloc代码行数统计工具
  6. 分享一点写掘金小册的经验和心得
  7. 影牛社区短视频影视APP源码
  8. HIL自动驾驶仿真:VTD分布式显示配置详解
  9. 【Labplus 3】Scratch获取角色造型的数量
  10. Redis实战篇(视频学习来自黑马程序员)