FPGA(3)--VHDL及原理图--4位全加器

文章目录

    • 一、实验目的
    • 二、实验内容
    • 三、实验设计
    • 五、实验思考与总结

一、实验目的

掌握例化语句的使用方法,掌握使用程序文本和原理图结合方法设计电路,掌握利用包含算术操作符的重载函数的使用。

二、实验内容

  1. 首先用VHDL语言设计1位全加器,仿真验证其正确性,并将其封装成一个元件;设计串行4位加法器的电路,调用1位全加器设计4位加法器的原理图。通过编译、仿真验证功能正确性。
  2. 直接通过调用算术操作符的重载函数,利用VHDL语言设计4位全加器。通过编译、仿真验证功能正确性。

前些天发现了十分不错的人工智能学习网站,通俗易懂,风趣幽默,没有广告,分享给大家,大家可以自行看看。(点击跳转人工智能学习资料)

三、实验设计

1.在上一个实验中已经用VHDL语言设计1位全加器,且仿真验证其正确性。如下即为1位全加器的VHDL描述。其原理在上一个实验已经说明,这里不再赘述。(可见上一篇)

Library Ieee;	--全加器顶层设计描述
Use Ieee.Std_Logic_1164.All;
Entity f_adder isPort (ain,bin,cin : in Std_Logic;sum,cout : out Std_Logic);
End Entity f_adder;
Architecture Bhv of f_adder iscomponent h_adder	--调用半加器声明port (a,b : in Std_Logic; co,so : out Std_Logic);End component h_adder;signal so1,co1,co2 : Std_Logic;	--定义三个信号变量作为内部的连接线beginu1: h_adder Port Map (a=>ain,b=>bin,so=>so1,co=>co1);	--例化语句u2: h_adder Port Map (a=>so1,b=>cin,so=>sum,co=>co2);cout <= co1 or co2;
End Architecture Bhv;

2.将其封装成一个元件。
①file→New,选block diagram/schematic创建原理图文件,保存一下。
②回到1位全加器VHDL描述页面,选file→create/update→create symbol files for current file,把编写的代码封装成一个元件。
③回到创建的原理图文件,按工具条上的symbol tool,再按project,就可以看见该封装元件了。
在这里插入图片描述
3.调用1位全加器元件设计4位加法器的原理图。如图即为设计的电路图。
在这里插入图片描述
ain、bin和cin为输入信号,其中cin为前一位给的进位信号。sum为求和结果输出,而cout为进位输出。1、2、3则为由低到高的四位。

4. 直接通过调用算术操作符的重载函数,利用VHDL语言设计4位全加器。代码如下图。data的最高位则作为进位信号。

Library Ieee;
Use Ieee.Std_Logic_1164.All;
Use Ieee.Std_Logic_Unsigned.All;
Entity adder4b isport(a,b : in Std_Logic_Vector(3 downto 0);cin : in Std_Logic;cout: out Std_Logic;dout: out Std_Logic_Vector(3 downto 0));
End Entity adder4b;
Architecture bhv of adder4b issignal data: Std_Logic_Vector(4 downto 0);begindata <= ('0'&a)+('0'&b)+("0000"&cin);cout <= data(4);dout <= data(3 downto 0);
End Architecture bhv;

四、实验结果及仿真
1.对于“调用1位全加器设计4位加法器的原理图”的仿真:输入分别设定最低位无进位信号下的0+0、1+4、6+5和9+8情况以及最低位由进位信号下的0+0、1+4、6+5和9+8情况进行仿真验证正确性。结果如下,观察可知符合所预测的结果,即正确。
在这里插入图片描述

2.对于“直接通过调用算术操作符的重载函数,利用VHDL语言设计4位全加器”的仿真:输入分别设定最低位无进位信号下的0+0、1+4、6+5和9+8情况以及最低位由进位信号下的0+0、1+4、6+5和9+8情况进行仿真验证正确性。结果如下,观察可知符合所预测的结果,即正确。
在这里插入图片描述

五、实验思考与总结

原理图设计优势:直观明了;设计者不必具备诸如硬件描述语言等知识就能迅速入门,完成电路系统设计;能进行多层次的数字系统设计;能对系统中的任一层次或任一元件的功能进行精确的时序仿真与分析;能对设计方案随时进行更改,并储存设计过程中所有的电路和测试文件入档。
运算符重载函数指两个或两个以上的函数具有相同的函数名,而操作数的数据类型有差别,足以区分实际想要的函数。由编译器根据操作数的数据类型来判断用哪一函数。运算符重载使得运算符(或函数)能对多种数据类型进行操作,扩展了VHDL的功能。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/347925.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Vertx编程风格:您的反应式Web Companion REST API解释了

Vertx提供了许多在轻量级环境中进行编程的选项&#xff0c;例如node.js。 但是&#xff0c;对于新用户来说&#xff0c;选择采用哪种方法来创建REST API几乎不会造成混淆。 在vertx中编程时可以采用不同的模型。 下面通过易于理解的图表对其进行说明。 PS – vertx编程的核心…

过去式加ed的发音_小学英语动词过去式归类总结

小学英语动词过去式归类总结  一、动词过去式的规则变化 1. 一般情况下&#xff0c;动词词尾加-ed 如&#xff1a;work ---worked, play---played, want----wanted, act----acted 2. 以不发音的 -e 结尾动词&#xff0c;动词词尾加 -d 把动词原形最后的e去掉&#xff0…

FPGA(4)--VHDL--4位D触发器

一、实验目的 掌握利用VHDL语言&#xff0c;进行基本时序元件的设计。 二、实验内容 利用VHDL语言设计含异步复位&#xff08;RST&#xff09;及使能端&#xff08;EN&#xff09;的4位D触发器&#xff0c;其中输入D及输出Q均为4位&#xff08;STD_LOGIC_VECTOR&#xff09;…

鸿蒙10 5G手机,继鸿蒙后麒麟V10问世 5G时代国产操作系统将起飞

(记者 陈洲)从工信部获悉&#xff0c;中国电子近日在广州发布了银河麒麟操作系统 V10。该系统打通了手机、平板、PC 等多个终端&#xff0c;可谓为5G时代量身定做。其独创的 kydroid 技术&#xff0c;可将安卓应用无缝迁移到国产平台上。银河麒麟V10是继华为鸿蒙OS后&#xff0…

模糊查询关键字不区分大小写_SQL简单查询

SQL书写规则&#xff1a;1)以英文分号结尾(;) eg. select 姓名,性别 from student&#xff1b;2)不区分关键字的大小写。就像Excel里面sum可以大写可以小写。同理&#xff0c;SQL中select不区分大小写。3)列名不能加单引号&#xff0c;列名中间不能有空格。4)所有符号都要是英文…

FPGA(5)--VHDL--10十进制计数器及7段显示译码器

前些天发现了一个巨牛的人工智能学习电子书&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;无广告&#xff0c;忍不住分享一下给大家。&#xff08;点击跳转人工智能学习资料&#xff09; 一、实验目的 掌握一般性计数器的VHDL设计方法&#xff0c;熟悉程序文本和原理图…

鸿蒙系统笔记本产业链,华为P40或用鸿蒙 华为产业链概念股一览

众所周知&#xff0c;华为已经推出了全新的鸿蒙系统&#xff0c;这正式证明了华为越挫越勇的精神&#xff0c;余承东已经对外透露&#xff0c;要是在无法使用谷歌服务的情况下&#xff0c;明年推出的华为P40或用鸿蒙系统&#xff0c;值得关注的是&#xff0c;这是时候&#xff…

apache log4j_Apache log4j是领先的日志记录框架

apache log4j根据 零周转的调查中&#xff0c; Apache log4j是领先的Java日志记录框架。 这实际上是一个非常有趣的调查。 它显示SLF4J最常用作伐木外墙&#xff0c;占61&#xff05;。 但是&#xff0c;它似乎最常与Apache Log4j一起使用&#xff0c;52&#xff05;的调查参…

FPGA(6)--7段显示译码器的加法计数器

文章目录一、实验目的二、实验内容三、实验设计与结果四、实验思考与小结一、实验目的 在上次加法计数器仿真实验的基础上&#xff0c;掌握端口的引脚配置、实验箱的接线及程序的下载、调试等。 二、实验内容 1.在上次实验的基础上&#xff0c;编译、仿真可以进行0-99加法计…

oracle中取反_mysql 取反

云数据库 MySQL云数据库(RDS for MySQL)是稳定可靠、可弹性伸缩的云数据库服务。通过云数据库能够让您几分钟内完成数据库部署。云端完全托管&#xff0c;让您专注于应用程序开发&#xff0c;无需为数据库运维烦恼价格低至&#xffe5;0.24/小时起&#xff0c;买1年83折云数据库…

android随机匹配,基于进程调度的Android真随机数和设备特征生成方法的研究

摘要&#xff1a;密钥是保证Android设备安全的重要组件之一,密钥的生成与使用均需要用到随机数,生成高质量的随机数需要高熵值的随机源。另一方面,移动广告等业务对不同的Android设备提供个性化服务时,需要对智能终端进行识别,因此需要采集设备特征,而识别设备需要低熵值的信息…

FPGA(7)--有限状态机--交通灯

一、实验目的 掌握有限状态机的编程和使用方法。 二、实验内容 设计一个十字路口交通灯控制器&#xff0c;东西(b)、南北(a)方向有红灯、黄灯、绿灯&#xff0c;持续时间分别为45、5、40秒&#xff0c;仿真验证其功能。 三、实验设计与结果 1.整体设计思路&#xff1a;根…

Spring Cloud配置–外部化应用程序配置

本教程是关于Spring Cloud Config的&#xff0c;这里我们将研究如何在不同的应用程序中针对不同的环境&#xff08;例如开发人员&#xff0c;本地&#xff0c;产品等&#xff09;使用Spring Cloud Config来管理和存储分布式外部配置属性。开发一个简单的云应用程序以使用云配置…

输入法问题_「图」KB4515384再爆新问题:OOBE时中文输入法阻止创建本地账户

KB4515384可谓是近期BUG数量最多的累积更新了&#xff0c;继开始菜单出现严重错误、音频故障、网络适配器问题、PIN登陆系统无法使用之后&#xff0c;在支持文档中微软承认了在初次设置(OOBE)过程中&#xff0c;使用某些语言将会阻止用户创建本地账户。微软在支持文档中表示&am…

cas后端返回html直接跳转,CAS验证成功后不能跳转到登陆成功的主页面解决办法...

CAS验证成功后不能跳转到登陆成功的主页面现在部署了CAS,有一个应用,下载输入应用的URL可以正确跳转到CAS服务的登陆界面,登陆验证通过后页面却跳转到了应用的登陆界面&#xff0c;不能直接进入登陆成功的主页面&#xff01;应用的web.xml如下CASFilterorg.jasig.cas.client.au…

FPGA(0)--quartusⅡ安装

微信公众号&#xff1a;创享日记 发送&#xff1a;quartus 获取软件安装包等 &#xff08;假设光盘驱动器号为 E&#xff0c; 所有软件安装到 D 分区&#xff09; 1.运行e:\QuartusII9.0 \ isetup.exe&#xff0c;直接点击“next”,一直到完成安装 2.设安装路径和目录为&#…

中文转化成拼音_五笔已经淘汰,拼音到达瓶颈,百度重拳出击,全新输入方式来袭!...

不知道大家发现没有&#xff0c;中文输入法的发展历程&#xff0c;其实就是通过建立云词库&#xff0c;改进词汇&#xff0c;发展AI技术来改善拼音输入法的识别率&#xff0c;进而取代五笔输入法的过程。拼音取代五笔&#xff0c;根本原因是易用好学&#xff0c;只要会讲普通话…

计算机二级web题目(1)--web基础

前些天发现了一个巨牛的人工智能学习电子书&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;无广告&#xff0c;忍不住分享一下给大家。&#xff08;点击跳转人工智能学习资料&#xff09; 1[单迭题] 下列关于Internet和Web的说法中,正确的是(B). A .Web就是Internet别称…

html属性和dom属性的区别,HTML属性与DOM属性的区别?

RTBTW&#xff0c;这样的文章我还是没有读懂http://www.cnblogs.com/tomkillua/archive/2012/08/15/2639420.html对于浏览器引擎而言&#xff0c;并不存在“HTML标签”这回事。其本质是DOM节点对象。也并不存在“HTML文档”这回事&#xff0c;其本质是DOM节点对象组成的文档树。…

java泛型方法 通配符_Java泛型教程–示例类,接口,方法,通配符等

java泛型方法 通配符泛型是Java编程的核心功能之一&#xff0c;它是Java 5中引入的。如果您使用的是Java Collections &#xff0c;并且版本5或更高版本&#xff0c;则可以肯定使用了它。 将泛型与集合类一起使用非常容易&#xff0c;但是它提供了比仅创建集合类型更多的功能&a…