VHDL实例化过程
第二步:建立一个名为MUX_0的乘法器
第三步:在程序中例化,看以下程序。
-- 该程序用来实现复数的乘法,端口分别定义的复数的
-- 输入的实部和虚部和输出的实部和虚部
LIBRARY IEEE;
USE IEEE.STD_LOGIC_1164.ALL;
LIBRARY LPM;
USE LPM.LPM_COMPONENTS.ALL;
ENTITY plural_mux IS
PORT(
r_in : IN STD_LOGIC_VECTOR( 7 DOWNTO 0 );
i_in : IN STD_LOGIC_VECTOR( 7 DOWNTO 0 );
r_out : OUT STD_LOGIC_VECTOR( 15 DOWNTO 0 );
i_out : OUT STD_LOGIC_VECTOR( 15 DOWNTO 0 );
clk : IN STD_LOGIC;
rst_n : IN STD_LOGIC
);
END plural_mux;
ARCHITECTURE beh OF plural_mux IS
--乘法器的例化声明
--在这里我们要注意,例化的声明和和信号的定义都是在ARCHITECTURE的BEGIN之前--的
COMPONENT MUX_0
PORT(clock : IN STD_LOGIC ;
dataa : IN STD_LOGIC_VECTOR( 7 DOWNTO 0 );
datab : IN STD_LOGIC_VECTOR( 7 DOWNTO 0 );
result : OUT STD_LOGIC_VECTOR( 15 DOWNTO 0 )
);
END COMPONENT;
COMPONENT ADD_SUB_0
PORT (
add_sub : IN STD_LOGIC;
clock : IN STD_LOGIC;
dataa : IN STD_LOGIC_VECTOR(15 DOWNTO 0);
datab : IN STD_LOGIC_VECTOR(15 DOWNTO 0);
result : OUT STD_LOGIC_VECTOR(15 DOWNTO 0)
);
END COMPONENT;
SIGNAL r_in_reg1 : STD_LOGIC_VECTOR( 7 DOWNTO 0 );
SIGNAL r_in_reg2 : STD_LOGIC_VECTOR( 7 DOWNTO 0 );
SIGNAL i_in_reg1 : STD_LOGIC_VECTOR( 7 DOWNTO 0 );
SIGNAL i_in_reg2 : STD_LOGIC_VECTOR( 7 DOWNTO 0 );
SIGNAL mux_reg1:STD_LOGIC_VECTOR( 15 DOWNTO 0 );
SIGNAL mux_reg2:STD_LOGIC_VECTOR( 15 DOWNTO 0 );
SIGNAL mux_reg3:STD_LOGIC_VECTOR( 15 DOWNTO 0 );
SIGNAL mux_reg4:STD_LOGIC_VECTOR( 15 DOWNTO 0 );
SIGNAL ad_sb_o1 :STD_LOGIC_VECTOR(15 DOWNTO 0 );
SIGNAL ad_sb_o2 :STD_LOGIC_VECTOR(15 DOWNTO 0 );
BEGIN
PROCESS( clk ,rst_n)
BEGIN
IF ( rst_n = '0' )THEN
r_in_reg1 <= "00000000";
r_in_reg2 <= "00000000";
i_in_reg1 <= "00000000";
i_in_reg2 <= "00000000";
ELSIF( clk'EVENT AND clk = '1') THEN
r_in_reg1 <= r_in;
r_in_reg2 <= r_in_reg1;
i_in_reg1 <= i_in;
i_in_reg2 <= i_in_reg1;
END IF;
END PROCESS;
--乘法器的例化实例
I_MUX_00 : MUX_0
PORT MAP (clk,r_in_reg1, r_in_reg2,mux_reg1);
I_MUX_01 : MUX_0
PORT MAP (clk,r_in_reg1, i_in_reg2,mux_reg2);
I_MUX_02 : MUX_0
PORT MAP (clk,i_in_reg1, r_in_reg2,mux_reg3);
I_MUX_04 : MUX_0
PORT MAP (clk,i_in_reg1, i_in_reg2,mux_reg4);
I_ADD_SUB_00 : ADD_SUB_0
PORT MAP('0',clk,mux_reg1,mux_reg4,ad_sb_o1);
I_ADD_SUB_02 : ADD_SUB_0
PORT MAP('1',clk,mux_reg2,mux_reg3,ad_sb_o2);
r_out <= ad_sb_o1;
i_out <= ad_sb_o2;
END beh;
VHDL实例化过程的更多相关文章
- Java继承--子类的实例化过程
一个对象的实例化过程: Person p = new Person(); 1,JVM会读取指定的路径下的Person.class文件,并加载进内存,并会先加载Person的父类(如果有直接的父类的情况 ...
- python--对象实例化过程
实例化过程: class luffy_stu: def __init__(self,name,age,sex): self.name = name self.age = age self.sex = ...
- 框架源码系列九:依赖注入DI、三种Bean配置方式的注册和实例化过程
一.依赖注入DI 学习目标1)搞清楚构造参数依赖注入的过程及类2)搞清楚注解方式的属性依赖注入在哪里完成的.学习思路1)思考我们手写时是如何做的2)读 spring 源码对比看它的实现3)Spring ...
- JVM总括四-类加载过程、双亲委派模型、对象实例化过程
JVM总括四-类加载过程.双亲委派模型.对象实例化过程 目录:JVM总括:目录 一. 类加载过程 类加载过程就是将.class文件转化为Class对象,类实例化的过程,(User user = new ...
- 面向对象【day07】:类的实例化过程剖析(三)
本节内容 1.概述 2.类的语法 3.总结 一.概述 之前我们说关于python中的类,都一脸懵逼,都想说,类这么牛逼到底是什么,什么才是类?下面我们就来讲讲,什么是类?它具有哪些特性. 二.类的语法 ...
- java中子类实例化过程中的内存分配
知识点: 子类继承父类之后,实例化子类时,内存中子类是如何分配内存的呢? 下面,自己会结合一个例子,解释一下,一个子类实例化过程中,内存是如何分配的 参考博客:http://www.cnblogs.c ...
- Java子父类中的构造函数实例化过程
其实我们发现子类继承父类操作很简单,如果要是去深入的研究下会发现,实例化过程并非是我们看到的那样,我们就以代码举例来说明: 问大家,以下代码执行会输出什么呢? package com.oop; /** ...
- python基础8之类的实例化过程剖析
一.概述 之前我们说关于python中的类,都一脸懵逼,都想说,类这么牛逼到底是什么,什么才是类?下面我们就来讲讲,什么是类?它具有哪些特性. 二.类的语法 2.1 语法 class dog(obje ...
- 【python】-- 类的实例化过程、特征、共有属性和私有属性
实例化过程 1.类的定义和语法 class dog(object): #用class定义类 "dog class" #对类的说明 def __init__(self,name): ...
随机推荐
- Nginx_status显示结果详解
打开:http://aabb.com/nginx_status会有如下显示Active connections: 2872server accepts handled requests294 ...
- linux多路径配置
一.什么是多路径 普通的电脑主机都是一个硬盘挂接到一个总线上,这里是一对一的关系.而到了有光纤组成的SAN环境,或者由iSCSI组成的IPSAN环境,由于主机和存储通过了光纤交换机或者多块网卡及IP来 ...
- linux——DNS服务器配置
讲课,请不要在课堂上查找文件,浏览器搜索,会感觉你很不上心,玩听众,一定提前做很多遍,模拟很多遍: 演讲,请务必准备好材料,考虑听众的感受,一定不要让外行人云里雾里,听不懂你在讲什么,那就尴尬了, D ...
- python 日期格式
%a 星期几的简写%A 星期几的全称%b 月分的简写%B 月份的全称%c 标准的日期的时间串%C 年份的后两位数字%d 十进制表示的每月的第几天%D 月/天/年%e 在两字符域中,十进制表示的每月的第 ...
- Ansible 从远程主机添加或删除MySQL数据库
mysql_db - 从远程主机添加或删除MySQL数据库. 概要 要求(在执行模块的主机上) 选项 例子 笔记 状态 支持 概要 从远程主机添加或删除MySQL数据库. 要求(在执行模块的主机上) ...
- mysql连接数据库存报下面错误:ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2)
输入 mysql -u root 登录 mysql 的时候出现以下错误: ERROR 2002 (HY000): Can't connect to local MySQL server through ...
- iperf——网络性能测试工具
一.前言 工作中遇到需要测试Linux服务器网卡占用率的场景,查阅资料后,发现iperf是一款合适的网络测速工具. 下面讲解一下如何使用iperf做网络性能测试. 二.基础知识 先补充一些基础知识: ...
- Redis事务的简单理解
Redis事务的命令如下所示: 先以 MULTI 开始一个事务, 然后将多个命令入队到事务中, 最后由 EXEC 命令触发事务, 一并执行事务中的所有命令 示例如下: //开始一个事务 > MU ...
- 第八章 高级搜索树 (a2)伸展树:双层伸展
- Find Peak Element(ARRAY - Devide-and-Conquer)
QUESTION A peak element is an element that is greater than its neighbors. Given an input array where ...