基于VHDL语言的全加器的设计

news/2024/11/29 7:40:51/

基于VHDL语言的全加器的设计

全加器可以由两个半加器和一个或门连接而成,这样得到的半加器电路称为顶层文件。
设计原理图如下:
在这里插入图片描述
下面全加器的设计采用层次结构的VHDL程序设计方法,采用元件例化语句。

  1. 工程文件名与顶层文件(全加器)文件名一样;
  2. 把全加器、半加器、或门的vhdl文件都要包含到工程中;
  3. 在全加器文件中声明半加器、或门为元件;
  4. 然后例化三个元件:两个半加器和一个或门。
  5. 软件说明:ModelSimSetup-13.1.0.162,QuartusSetup-13.1.0.162。

建立工程:

第一步:打开Quartus软件。

第二步:点击New Project Wizard -> next.

第三步:选择工程文件的存放位置,输入工程名 -> next -> next。

第四步:在family栏选择芯片型号-Cyclone IV E,在Name栏选择EP4CE115F29C7,选择完之后点击next。(如果不进行硬件调试时,此处默认即可)

第五步:检查工程有没有建错,点击完成。如下图:
在这里插入图片描述

程序设计:

全加器顶层文件设计:

   --文件名:adder.vhd 应与工程名保持一致:library IEEE;use IEEE.STD_LOGIC_1164.ALL;entity adder is	port(ain,bin,cin:in std_logic;cout,sum:out std_logic);end adder;architecture fd1 of adder iscomponent h_adder--半加器原件声明port(a,b:in std_logic;co,so:out std_logic);end component;component or2a--声明或门原件port(a,b:in std_logic;c:out std_logic);end component;signal d,e,f:std_logic;beginu1:h_adder port map(a=>ain,b=>bin,co=>d,so=>e);--半加器原件例化u2:h_adder port map(a=>e,b=>cin,co=>f,so=>sum);--半加器原件例化u3:or2a port map(a=>d,b=>f,c=>cout);--半或门原件例化end fd1;

对半加器原件进行实例化:

   --文件名:h_adder.vhdlibrary IEEE;use IEEE.STD_LOGIC_1164.ALL;entity h_adder isport(a,b:in std_logic;co,so:out std_logic);end h_adder;architecture fh1 of h_adder isbeginso<=NOT(a XOR (NOT b));co<= a AND b;end fh1;

对或门原件进行实例化:

  --文件名:or2a.vhdlibrary IEEE;use IEEE.STD_LOGIC_1164.ALL;entity or2a isport(a,b:in std_logic;c:out std_logic);end or2a;architecture one of or2a isbeginc<=a OR b;end one;

文件仿真(这里采用modelsim仿真波形):

  1. 选择File-> New -> Verification/Debugging Files ->University Program VWF。
    在这里插入图片描述
    2.打开测试文件。(右键点击添加端口,对输入信号初始化,赋值。)

在这里插入图片描述
3.仿真结果:
在这里插入图片描述

逻辑电路图:

显示编译成功后,选择菜单栏 Tools –>Netlist Viewers –>RTL Viewer 显示逻辑电路图
在这里插入图片描述
如果需要通过令一种方法:原理图法进行全加器设计请参看—基于原理图法的全加器设计


http://www.ppmy.cn/news/866367.html

相关文章

VHDL语言基础-组合逻辑电路-编码器

目录 编码器的设计&#xff1a; 什么是编码器(Decoder)&#xff1a; 编码器的功能&#xff1a; 优先级编码器&#xff1a; 优先级编码器实现&#xff1a; 编码器的设计&#xff1a; 与译码器类似&#xff0c;编码器同样是数字系统中广泛使用的多输入多输出组合逻辑部件。 …

VHDL语言的数据类型

如前面的笔记所述&#xff0c;在VHDL语言中信号、变量、常数都要指定数据类型。为此&#xff0c;VHDL提供了多种标准的数据类型。另外&#xff0c;为使用户设计方便&#xff0c;还可以由用户自定义数据类型。这样使语言的描述能力及自由度更进一步提高&#xff0c;从而为系统高…

VHDL语言的基本单元(实体和结构体)

VHDL语言设计的基本单元就是VHDL语言的一个基本设计实体&#xff08;Entity&#xff09;。 一个实体&#xff0c;简单的可以是一个与门&#xff0c;复杂点的可以是一个微处理器或一个系统。但是&#xff0c;不管是简单的数字电路&#xff0c;还是复杂的数字电路&#xff0c;其基…

VHDL 计数器实验看VHDL语言

之前的eda课都在划水…利用这个程序来总结一下eda的语法 二十进制计数器 其实二十进制计数器原理很简单。跟随时钟信号相加&#xff0c;即用语句Q Q 1从0到19&#xff0c;当读到19的时候又回到0 其实就是下面的process语句&#xff0c;而clk event那一句其实就是确保&#x…

计算机组成原理VHDL语言实现16位ALU实验

计算机组成原理实验第二个&#xff0c;VHDL语言&#xff0c;ISE设计环境设计一个16位的ALU。 资源下载&#xff1a; 链接&#xff1a;https://pan.baidu.com/s/1cyhJ2ZynUMMFnYi2YOIMmA 提取码&#xff1a;0upp library IEEE; use IEEE.STD_LOGIC_1164.ALL; use IEEE.STD_LOGI…

(萌新的数电学习)用VHDL语言设计简易模型机结构

实验背景&#xff1a; 计算机的工作过程可以看作是许多不同的数据流和控制流在机器各部分之间的流动&#xff0c;数据流所经过的路径称作机器的数据通路。数据通路不同&#xff0c;指令执行所经过的操作过程就不同&#xff0c;机器的结构也就不一样。 VHDL语言 library ieee;…

基于VHDL语言的状态机设计

基于VHDL语言的状态机&#xff08;FSM&#xff09;设计 状态机(Finite State Machine,FSM) 状态机的组成:如图所示 状态机的种类&#xff1a; Mealy型&#xff1a;当前状态、当前输入相关Moore型&#xff1a;仅当前状态相关VHDL代码结构&#xff1a;时序逻辑部分&#xff1a…

VHDL语言掌握——北京理工大学集成电路设计实践一

实验一&#xff1a;4通道分频器的设计 一、实验目的 &#xff08;1&#xff09;熟悉软件环境 &#xff08;2&#xff09;理解用VHDL进行设计综合的流程和方法 &#xff08;3&#xff09;掌握VHDL的代码结构及电路描述方法 &#xff08;4&#xff09;理解并行语句和顺序语句…