写点什么

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

  • 2022 年 5 月 07 日
  • 本文字数:901 字

    阅读完需:约 3 分钟


[](()一、实验目的




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


[](()二、实验内容




  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 is


Port (ain,bin,cin : in Std_Logic;


sum,cout : out Std_Logic);


End Entity f_adder;


Architecture Bhv of f_adder is


component h_adder --调用半加器声明


port (a,b : in Std_Logic; co,so : out Std_Logic);


End component h_adder;


signal so1,co1,co2 : Std_Logic; --定义三个信号变量作为内部的连接线


begin


u1: 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,把编写的代码封装成一个元 《一线大厂 Java 面试题解析+后端开发学习笔记+最新架构讲解视频+实战项目源码讲义》无偿开源 威信搜索公众号【编程进阶路】 件。


③回到创建的原理图文件,按工具条上的 symbol tool,再按 project,就可以看见该封装元件了。



3.调用1位全加器元件设计 4 位加法器的原理图。如图即为设计的电路图。



ain、bin 和 cin 为输入信号,其中 cin 为前一位给的进位信号。sum 为求和结果输出,而 cout 为进位输出。1、2、3则为由低到高的四位。


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

用户头像

还未添加个人签名 2022.04.13 加入

还未添加个人简介

评论

发布
暂无评论
FPGA(3)--VHDL及原理图--4位全加器_程序员_爱好编程进阶_InfoQ写作社区