VHDL学习之模块调用
http://wenku.baidu.com/link?url=SsRPUVQAOKDR8yWfDhQlceCwfZQkI-KQMLFKTDGAh3KAPr2NwEgvj0d_EZjdnsB99Upp6hLzqWdxqHGGNZQcRJQCQpVBF8H8qkACAJY7A4_
这篇文章里说Function和Package中不能有时序电路,只能是组合逻辑电路。
任务:把常用的逻辑编译成库(不知道这个要干啥)
不理解库是干嘛用的
把当前理解做下笔记
1 这个是顶层模块
library ieee;
use ieee.std_logic_1164.all;
library work;
use work.nd2_pkg.all;
entity lib_test is
port(a,b:in std_logic;
c,d:out std_logic);
end lib_test;
architecture behv of lib_test is
begin
u1:entity work.h_adder port map(a,b,d);//component模块
c <= max(a,b);//package中包含的function
end behv;
2 h_adder模块
一个单独的模块,顶层通过u1:entity work.h_adder port map(a,b,d);这句话调用,编译是h_adder.vhd这个文件要在工程目录下并且编译前要add source到ISE里;
library ieee;
use ieee.std_logic_1164.all;
entity h_adder is
port(a,b:in std_logic;
c:out std_logic);
end entity h_adder;
architecture f1 of h_adder is
begin
c <= a xor b;
end architecture f1;
3 package文件.好像package只能包含function之类的组合逻辑,并且
顶层加入
library work;
use work.nd2_pkg.all;
后能自动找到该文件,不用加add source在工程里。
library ieee;
use ieee.std_logic_1164.all;
package nd2_pkg is
function max(a,b:in std_logic) return std_logic;
end nd2_pkg;
package body nd2_pkg is
function max(a,b:in std_logic) return std_logic is
begin
if a > b then
return a;
else
return b;
end if;
end function max;
end nd2_pkg;
VHDL学习之模块调用的更多相关文章
- linux内核设计与实现学习笔记-模块
模块 1.概念: 如果让LINUX Kernel单独运行在一个保护区域,那么LINUX Kernel就成为了“单内核”. LINUX Kernel是组件模式的,所谓组件模式是指:LINUX K ...
- Python模块调用方式详解
Python模块调用方式详解 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 模块,用一砣代码实现了某个功能的代码集合. 类似于函数式编程和面向过程编程,函数式编程则完成一个功能,其 ...
- python常用模块-调用系统命令模块(subprocess)
python常用模块-调用系统命令模块(subprocess) 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. subproces基本上就是为了取代os.system和os.spaw ...
- (转载)Python 的 JPype 模块调用 Jar 包
Python 的 JPype 模块调用 Jar 包 背景与需求 最近学习并安装使用了HttpRunner框架去尝试做接口测试,并有后续在公司推广的打算. HttpRunner由Python开发,调用接 ...
- Node学习HTTP模块(HTTP 服务器与客户端)
Node学习HTTP模块(HTTP 服务器与客户端) Node.js 标准库提供了 http 模块,其中封装了一个高效的 HTTP 服务器和一个简易的HTTP 客户端.http.Server 是一个基 ...
- Python学习---重点模块的学习【all】
time [时间模块] import time # print(help(time)) # time模块的帮助 print(time.time()) # 时间戳 print(time.cloc ...
- Python3基础(4)匿名函数、装饰器、生成器、迭代器、内置函数、json&pickle序列化、软件目录开发规范、不同目录间模块调用
---------------个人学习笔记--------------- ----------------本文作者吴疆-------------- ------点击此处链接至博客园原文------ 1 ...
- ThinkPHP 跨模块调用操作方法(A方法与R方法)
ThinkPHP 跨模块调用操作方法(A方法与R方法) 跨模块调用操作方法 前面说了可以使用 $this 来调用当前模块内的方法,但实际情况中还经常会在当前模块调用其他模块的方法.ThinkPHP 内 ...
- python学习之模块导入,操作邮件,redis
python基础学习06 模块导入 导入模块的顺序 1.先从当前目录下找 2.当前目录下找不到,再从环境变量中找,如果在同时在当前目录和环境变量中建立相同的py文件,优先使用当前目录下的 导入模块的实 ...
随机推荐
- Bash:-:-通过awk获取文本变量的赋值
txt格式: ... logport='13000' sessionport='23000' ... ######################## 只获取logport的赋值13000 awk ' ...
- C#:时间转换
1.C#时间转js时间 /// <summary> /// C#时间转js时间 /// </summary> /// <param name="theDate& ...
- Vmware玩mac os x分享
相信网上类似的材料非常多了,在此就不赘述具体步骤了,先分享一个不错的链接: http://jingyan.baidu.com/article/ff411625b9011212e48237b4.html ...
- php地址赋值值和传值赋值
下面这是php的赋值的两种方式: <?phpheader("Content-Type: text/html;charset=utf-8");$a="我是原始数据a& ...
- 对c++ public、protected、private关键字的理解
首先要明确一下: 1.这三个关键字在两种地方会用到,一个是对类的成员变量和成员函数修饰时(比如私有的成员变量,受保护的成员变量·,公有的函数),还有一种是对继承方式的修饰(比如公有继承,保护继承). ...
- Android多媒体--MediaCodec 中文API文档
*由于工作需要,需要利用MediaCodec实现Playback及Transcode等功能,故在学习过程中翻译了Google官方的MediaCodec API文档,由于作者水平限制,文中难免有错误和不 ...
- R语言基本操作函数---变量的基本操作
1.变量变换 as.array(x),as.data.frame(x),as.numeric(x),as.logical(x),as.complex(x),as.character(x) ...
- 长时间停留在calculating requirements and dependencies 解决方案
如果Eclipse花费了很长的时间calculating requirements and dependencies(计算需求和依赖性 ) 这个问题通常就是在点击安装之后显示“Calculating ...
- nignx 负载均衡的几种算法介绍
负载均衡,集群必须要掌握,下面介绍的负载均衡的几种算法. 1 .轮询,即所有的请求被一次分发的服务器上,每台服务器处理请求都相同,适合于计算机硬件相同. 2.加权轮询,高的服务器分发更多的请求 ...
- Sprint第三阶段(第四天12.12)