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;

时间: 2024-10-05 04:43:11

VHDL库的相关文章

Tcl在Vivado中的使用

http://blog.chinaaet.com/detail/36014 Vivado是Xilinx最新的FPGA设计工具,支持7系列以后的FPGA及Zynq 7000的开发.与之前的ISE设计套件相比,Vivado可以说是全新设计的.无论从界面.设置.算法,还是从对使用者思路的要求,都是全新的.看了大家很多的博文,基本上都是用GUI创建工程,那我就简单介绍一下Vivado的脚本使用. 在ISE设计套件中,支持多种脚本: 可以用xperl来运行perl脚本,可以用xtclsh来运行Tcl脚本,

VHDL细节笔记(含std_logic Libraries标准库的技术手册)

1. others=>'0'是什么意思? q <= (others=>'0'); 表示将q的所有位赋值为0,当q位数较多时比较方便... 2. if (clk'event and clk='1' )是什么意思? 信号属性函数:用来得到有关信号的行为功能信息; 信号'event:当前的一个相当小的时间间隔内有信号事件发生,则返回'true',否则返回'false'; 3.关于conv_std_logic_vector 和 conv_integer 这两个函数的使用问题 全文来自于此:htt

87.在ModelSim中添加Xilinx ISE仿真库

在ModelSim中添加Xilinx ISE仿真库 说明: l ModelSim一定要安装在不带空格的目录下,即不要安装在“Program Files”目录下.如作者是安装在D:\softwares\Modelsim目录下. l ISE软件也最好安装在不带空格的目录下. 1.找到开始菜单->程序->Xilinx ISE Design Suite 11 -> ISE -> Accessories -> Simulation Library Compilation Wizard.

vivado与modelsim的关联以及器件库编译

vivado软件中也自带仿真工具,但用了几天之后感觉仿真速度有点慢,至少比modelsim慢挺多的.而modelsim是我比较熟悉的一款仿真软件,固然选它作为设计功能的验证.为了将vivado和modelsim关联,需要进行一些设置,下面一一介绍. 一.在vivado中设置modelsim(即第三方仿真工具)的安装路径.在vivado菜单中选择“Tools”——>“Options...”,选择“General”选项卡,将滚动条拉倒最底部,在“QuestaSim/ModelSim install

VHDL学习之TEXTIO在仿真中的应用

TEXTIO 在VHDL 仿真与磁盘文件之间架起了桥梁,使用文本文件扩展VHDL 的仿真功能.本文介绍TEXTIO 程序包,以一个加法器实例说明TEXTIO 的使用方法,最后使用ModelSim 对设计进行仿真,并分析仿真结果.在对VHDL 源程序进行仿真时, 由于有的输入输出关系仅仅靠输入波形或编写testbench 中的信号输入是难以验证结果正确性的,例如, 设计8 位加法器,如果将所有的输入都验证一遍, 是非常麻烦的,因为要全面判断输出是否正确需要一个个的验证.此外,若用VHDL 设计一个

VHDL之Port map and open

用的一些基本的库文件,有些端口自己不想用,恰巧好二哥(不知年龄的数字组组长,本名Holger),于是请教之,告曰open关键词.后来深感自己VHDL水平太水,下了一本电子书恶补语法.明白了open,顺带了port mapping <<Circuit Design With VHDL>> chapter 10, 10.4 现摘录如下, Two ways to map the PORTS of a COMPONENT during its instantiation: COMPONEN

向modesim中添加alter库 (或者在每次仿真时将库文件加入仿真文件夹一起编译)

在ModelSim中进行仿真需要加入Quartus提供的仿真库,原因是下面三个方面:    ·Quartus不支持Testbench:    ·调用了megafunction或者lpm库之类的Altera的函数:    ·时序仿真要在Modelsim下做仿真.    下面以Altera器件为例,介绍如何在ModelSim中加入Altera的仿真库,Quartus II软件中自带有Altera的仿真库,只要把它拿到ModelSim中去编译一下就可以了,具体步骤如下:1.设置仿真库路径    打开M

MiS603 开发板1.3 Xilinx库编译及其联合Modelsim

作者:MiS603开发团队 日期:20150911 公司:南京米联电子科技有限公司 论坛:www.osrc.cn 网址:www.milinker.com 网店:http://osrc.taobao.com EAT博客:http://blog.chinaaet.com/whilebreak 博客园:http://www.cnblogs.com/milinker/ 1.3 Xilinx库编译及其联合Modelsim Xilinx库编译简单的说就是产生Modelsim能够识别的单元,用于仿真,包括前仿

VHDL基础2

Signals & Variables VHDL 提供了 signal 和 variable 两种对象来处理非静态数据:提供了 constant 和 generic 来处理静态数据. constant 和 signal 是全局的,可以在顺序执行的代码中,也可以在并发执行的代码中:variable 是局部的,只能值顺序代码中,并且它们的值是不能向外传递的(如果想传递出去,必须先把这个变量值传递给一个信号,再由这个信号传递出去). constant constant 可以定义在 package, e