一、实验目的

(1)熟悉EDA软件,并能熟练使用。

(2)分析设计任务,根据任务要求完成设计内容。

(3)利用软件对设计内容进行仿真调试,得到正确运行结果。

二、实验要求

(1)首先设计半减器,然后用例化语句将它们连接起来,图1中h_suber是半减器,diff是输出差,s_out是借位输出,sub_in是借位输入。

(2)根据图1设计全减器。以全减器为基本硬件,构成串行借位的8位减法器,要求用例化语句来完成此项设计(减法运算是 x – y - sun_in = diffr)。

三、实验步骤

(1) 建立工作库文件夹和编辑设计文件

File->New Project Wizard

(2) 创建工程

File->New->Verilog HDL File

(3) 全程编译

(4) 时序仿真

输入有1,输出就是1;只有当输出全为0时,输出才为零。证明是2输入或门。

b是减数,a是被减数,d、s分别是本位输出和借位输出。

只有当a和b相同时,d才是低电平;即是 被减数 和减数 相同时 差是0。

只有当b比a大的时候,s才是高电平;即是 减数比被减数大的时候,本位向高位借1。

从上至下依次是减数(x)、低位借位(sub_in)、被减数(y)、高位借位(sub_out)、差(differ).

以下假设均建立在被减数≥减数情况,小于情况分析类似亦成立。

当x和 y 相同 ① sub_in 是0时,differ是低电平0;②sub_in 不是0时,differ是高电平1;

当x和 y 不同 ① sub_in 是0时,differ是高电平1;② sub_in 不是0时,differ是低电平0;

当x和 y 相同

1.sub_in是0时① sub_out 是0时,differ是低电平0;② sub_out 不是0时,differ是高电平1;

2.sub_in是1时 ,sub_out 不是0时(是0不存在),differ是高电平1;

当x和 y 不同

1.sub_in是0时① sub_out 是0时,differ是高电平1;② sub_out 不是0时,differ是低电平0;

2.sub_in是1时, sub_out 是0(1情况不考虑)时,differ是低电平0;

符合全减器规律

下面给出方便理解的图示和真值表

四、VHDL程序文本

LIBRARY IEEE;
USE IEEE.STD_LOGIC_1164.ALL;
ENTITY H_SUBER IS   --定义实体半减器
PORT(A,B:IN STD_LOGIC;  --减数与被减数
D,S:OUT STD_LOGIC    --分别为本位输出和错位输出
);
END;
ARCHITECTURE HALF_SUBER OF H_SUBER IS
BEGIN
D<=A XOR B;
S<=(NOT A)AND B;
END ARCHITECTURE HALF_SUBER;
LIBRARY IEEE;
USE IEEE.STD_LOGIC_1164.ALL;
ENTITY OR2A IS   --定义2输入或门
PORT(
A,B:IN STD_LOGIC;
C:OUT STD_LOGIC
);
END ENTITY OR2A;
ARCHITECTURE ONE OF OR2A IS
BEGIN
C<=A OR B;
END ARCHITECTURE ONE;
LIBRARY IEEE;
USE IEEE.STD_LOGIC_1164.ALL;
ENTITY F_SUBER IS   --定义实体全减器
PORT(X,Y,SUB_IN:IN STD_LOGIC; --X、Y 减数被减数;  SUB_IN 借位输入
DIFFR,SUB_OUT:OUT STD_LOGIC  --DIFFR  差  SUB_OUT 借位输出
);
END;
ARCHITECTURE FULL_SUBER OF F_SUBER IS
COMPONENT H_SUBER   --半减器例化声明
PORT(A,B:IN STD_LOGIC;
D,S:OUT STD_LOGIC
);
END COMPONENT;
COMPONENT OR2A   --输入或门例化声明
PORT(A,B:IN STD_LOGIC;
C:OUT STD_LOGIC
);
END COMPONENT;
SIGNAL NET1,NET2,NET3 :STD_LOGIC;   --定义敏感信号
BEGIN
U1:H_SUBER PORT MAP(A=>X,B=>Y,D=>NET1,S=>NET2);  --引用半减器
U2:H_SUBER PORT MAP(A=>NET1,B=>SUB_IN,D=>DIFFR,S=>NET3);  --引用半减器
U3:OR2A PORT MAP(A=>NET3,B=>NET2,C=>SUB_OUT);  --引用或门
END ARCHITECTURE FULL_SUBER;

五、遇到的问题及解决办法

  1. Q10版本之后的Quartus在New中不直接提供软件波形仿真,一般需要调用ModelSim软件进行操作:

解决办法:按照图示依次点击Tools->Options->General->EDA Tool Options->ModelSim 把路径设置为ModelSim软件所在处。

  1. VHDL文本正确,工程路径都没问题,波形输出失败,提示ModelSIM调用失败:

解决办法:检查问题1是否已经解决,解决后关闭软件,以管理员身份启动软件,再次仿真。

【EDA技术】 实验一 利用半减器设计一位全减器相关推荐

  1. 【VHDL】半减器 and 或门 组成 全减器

    建议先把课本上的 半加器与全加器理解一下,再来写 半减器和全减器 点这里查看 哔哩哔哩上的视频 <半加器与全加器>(讲得挺清晰的) 点这里查看 哔哩哔哩上的视频 <什么是全减器> ...

  2. EDA技术与应用上机任务 电子信息类 Quartus II或Quartus Prime D触发器、半减器、全减器、可加减控制的50进制加减计数器。

    EDA技术与应用上机任务书 上机目的 熟悉掌握Quartus II或Quartus Prime开发工具的使用. 掌握利用硬件描述语言(Verilog)设计简单程序的步骤及方法. 掌握若干组合逻辑电路及 ...

  3. Verilog 半减器和全减器

    系列目录 Verilog 半加器和全加器 Verilog 半减器和全减器 串行加法器 11位全加器verilog设计 目录 系列目录 文章目录 前言 一.什么是半减器和全减器 半减器 全减器 二.半减 ...

  4. 【VHDL】【作业】2八选一、半减器、全减器

    [VHDL][作业]2 基于CASE语句的4选1多路选择器表述 文章目录 [VHDL][作业]2 基于CASE语句的4选1多路选择器表述 前言 1.八选一多路选择器 仿真波形 2.半减器 a.什么是半 ...

  5. 【FPGA】Verilog 实践:半加器与全加器 | 半减器与全减器 | Code Converter

    写在前面:本章主要理解加法器和减法器的概念,并了解 Code converter 的概念.使用 Verilog 实现多种加法器.减法器和代码转换器,通过 FPGA 验证 Verilog 实现的电路的行 ...

  6. android音乐播放器实验报告总结,音乐播放器设计实验报告.docx

    音乐播放器设计实验报告.docx 实验报告课程名称数字系统设计实验指导老师成绩_____________实验名称音乐播放器设计实验实验类型设计型一.实验目的和要求(必填)二.实验内容和原理(必填)三. ...

  7. 计算机辅助电路仿真技术实验报告,多级放大电路的设计与测试仿真实验报告.docx...

    文档介绍: 多级放大电路的设计与测试仿真实验报告实验报告课程名称模拟电子技术实验项目多级放大电路分析仿真系别自动化学院专业班级/学号XX学生姓名实验日期成绩指导老师杨鸿波实验三多级放大电路分析仿真实验 ...

  8. 三人抢答器逻辑电路图_数字电子技术实验(3三人抢答器电路设计).ppt

    第三次实验要求 1.三人抢答器电路设计 三人抢答器参考电路1 三人抢答器参考电路2 三人抢答器参考电路3 三人抢答器参考电路4 三人抢答器参考电路5 2."111 1000 1001 101 ...

  9. EDA技术Verilog HDL语言完成数字钟设计

    数字钟单元电路设计 Quartus Ⅱ安装包 链接:https://pan.baidu.com/s/12NbAX8J6XBZ7SQAxSj4H_A 提取码:cokm 主要内容: 1.数字钟系统具有时钟 ...

  10. EDA技术课后题答案

    第一章 1-1 EDA技术与ASIC设计和FPGA开发有什么关系?   P3~4 答:利用EDA技术进行电子系统设计的最后目标是完成专用集成电路ASIC的设计和实现:FPGA和CPLD是实现这一途径的 ...

最新文章

  1. 英文论文中i.e.,e.g.,etc.的正确用法
  2. Linux内核链表 内存屏障,为什么需要内存屏障
  3. c语言的多线程,如何用C语言实现多线程
  4. PCB布局,布线技巧总结
  5. java中哪些可以私有化_《Java基础学习笔记》JAVA修饰符之私有化(Private)
  6. 上海人工智能实验室招聘NLP研究员和工程师啦,是事业单位呦~
  7. 图像哈希二进制字符串相互转换以及flatten()的用法
  8. 私网互联(本质是三层路由)
  9. 通过表名导出DDL语句(包含建表、索引、注释、主键)
  10. JFinal EhCachePlugin的学习笔记
  11. xticks函数--Matplotlib
  12. 一个老板向员工发的牢骚
  13. Build-dep linux 知乎,apt-get安装和apt-get build-dep有什么区别?
  14. SaltStack ----(五)Jinja模板的使用
  15. Python中常见的保留字(33+2)
  16. Liskov Substitution Principle
  17. 虚幻引擎 4 渲染流程分析
  18. 漫谈数据结构系列(一)之僧敲月下门
  19. 知识产权服务机构列表
  20. 苹果2021新品发布会,iMac全新设计你GET到了吗

热门文章

  1. STM32 硬件IIC OLED
  2. 聚类分析q型matlab,Q型聚类分析
  3. 计算机水平2018下半年模拟考试,2018年下半年程序员考试下午试题及答案
  4. 使用arcgis修改行政区划图边界
  5. 3. (5.18~5.25)2022年自动化保研信息+分析汇总(夏令营)
  6. U盘强制格式化的解决方案
  7. 贪心算法详细讲解(附例题,一看就会)
  8. 2015061906 - firebug安装和下载(2)
  9. C# SplitContainer 控件详细用法
  10. 一、最简单的神经网络--Bp神经网络