FPGA简易扩展底板原理图

Altium公司的FPGA开发板的原理图

1 12 23 34 45 56 67 78 8 D D C C B B A A 1 02 1/02/20101:34:44 PM NB3000_Top.SchDoc Project Title Size: Date:File:Revision:Sheet of Time:A2Sheet Title NB3000 Top Level Assy:81 NB3000AL - Altera D-820-0053 Altium Limited 3 Minna Close Belrose NSW 2085Australia PSU PSU.SchDoc SRAM SRA M1 SRAM_256Kx 16_TSOP44 STATUS_LED U SE R _STATUS_L E DS DB_LEDS_0603 SRAM1 SRAM2 MEM_COMMON DAU_RESET_SW BUZZER ONE_WIRE_DB_PB SW DIP USERIO EXT_A RS232 KEYBOARD MOUSE TFT_IO DB_PROGRAM STATUS_LED USER_LEDS RELAY I2C CODEC VGA ETH DBSD DBUSB PWM SPDIF DAC ADC RS485 MIDI DB_JTAG DB_CLOCKS DB_SPI ISP176X PROTOTYPE SPAREIO TFT_TSC FPGA _USE R FPGA.SCHDOC INT EXT V IDE O_OU T VGA_OUT.SCHDOC CON CON_VGA CON_VGA_DB15 HOST_JTAG LED1LED2 1WID DB_PROGRAM CLK_PLL FLASH_BOOT HOSTUSB SRAM RTC SD HOST_AUDIO DB_JTAG DB_CLOCKS FLASH_USER DB_SPI PB_A EXTSPI FLASH_GOLDEN DIAGCOMMS FPGA _HOST HOST_FPGA.SchDoc HOST_JTAG HOST_JTA G HOST_JTAG.SchDoc INT EXT R S232 RS232_HIN232 EXT INT KE Y BOA RD PC_PS2 RS232# KBD#MSE# RS232 KEYBOARD EXT INT MOUSE PC_PS2 DIPSW DB_RESET CON CON_DBU SB CON_MINI_USBB_RA_KME04-USBMU03A01-1 DBUSB DBUSB# CON CON_DBSD CON_SD_KSDC012551 DBSD EXT INT DBU SB_TX RX USB_CY7C68001-56LFC.SchDoc INT EXT E TH Ethernet_RTL8201CL.SchDoc ETH CLK_PLL CL K_PL L CLK_ICS307-02_PLL 1WID NB_ID 1WB_DS2502_ID CON CON_HOST_USB CON_MINI_USBB_RA_KME04-USBMU03A01-1 TFT_TSC TFT_TOUCH L CDTFT TSC_XPT2046.SchDoc TFT_TSC TFT_IO CON CON_MOU SE CON_PS2PORT_MINIDIN6F_BLACK INT CON PDA _SW ITCHE S SW_PB_SPNOx5_SMD INT TE ST_RE SE T SW_RESET_SPNO CON USERPOWER CON_IO CON_USER_20WBOXHDRRAMx 2 UIO BUZZER CODEC_AUD AUDIO SPK_L SPK_R HOST_AUDIO AIN AOUT_PBA A UDIO_A MP AUDIO_AMP_NB2C PB_AIN AUDIO SPK_L USER_LEDS CON U SE R _L E D LED_RGB_SMDx 8.SCHDOC USER_LEDS VGA# VGA SW SRAM SRA M2 SRAM_256Kx 16_TSOP44 RELAYS CON R E L AY RELAY_X4_IM03GR RELAY PWM CON PW M PWM_5.8A_30V_X4 PWM 1V21V82V53V35V0 PBPOW E R 1V21V82V53V35V0 I2C DIGITAL CODEC_AUD AIN A UDIO_CODE C Audio_Codec.SchDoc CODEC SPK_L SPK_R CON_SPE AKE R S CON_EXT_SPK SPK_R PB_AOUT PBIO LED1LED2 LED1_EXT LED2_EXT L E D_HOST LED_RGB_SMDx 2 SPDIF CON_SPDIF CON_SPDIF_INOUT_A SPDIF SPI CON DAC DAC_DAC084S085_SPI SPI CON A DC ADC_ADC084S021_SPI DAC ADC CON CON_E TH CON_ETHERNET_RJ45_LEDS ETH# TFT_IO TFT_TOUCH CON_L CDTFT CON_FFC40_LCDTFT.SCHDOC CON CON_RE L AY CON_RELAYx 4_KMRJIO3_5MM_12WAY CON CON_RS232 CON_RS232DCE_DB9_TH BOOT_FLASH MOUNTS Mounts.SchDoc INT EXT R S485 RS485_ISL8491 CON_PSU PWJACK+SWITCH.SchDoc HOST_USB HOSTUSB# EXT INT HOST_USB_TXR X USB_CY7C68001-56LFC.SchDoc VBATT CON_BA TT CON_BATT_COIN VBATT VBATT RTC R T CL OCK CLK_PCF2123_RTC HOST_RTC USERPOWER U SE R _POW E R USERPWR.SCHDOC CON CON_HOST_SD CON_SD_KSDC012551 RS485#CON CON_RS485 CON_RS485_RJ45 INT EXT MIDI INTE RFA CE MIDI_FULL CON CON_MIDI CON_MIDI_DIN5 MIDI# MIDI RS485HOST_AUDIO PBCTRL DB_PROGRAM HOST_JTAG HOST_ID HOST_CLK HOST_SRAM HOST_LED1 HOST_LED2 HOST_SD DB_SRAM1 DB_SRAM2 DB_MEM DB_STATUS ADC# RELAYS# PWM# DAC# UIO_PWR DB_JTAG DB_CLOCKS PB_SPI USER_FLASH DB_SPI EXT ONE_WIRE_DB_PB AIN I2C SPI AOUT CTRL PBPOWER CON_PE R IPHE R AL _BRD PBCON USER_LEDS SW_PDA SPARE_IO CON_L E DKBD CON_NB3000_LEDKB SERFLASH SYSBOOT FLASH_M25PX0_SPI_8Mbit GOLD_FLASH SERFLASH GOL DE N FLASH_M25PX0_SPI_8Mbit FLASH U SE R _FL A SH FLASHSPI_M25PX0 INT SW _DIP8_SM T SW_DIP8_SMT CON CON_KE YBOAR D CON_PS2PORT_MINIDIN6F_BLACK CON CON_USB1 CON_USBA_RA_UPRIGHT LEDS# ATE DIAGCOMMS A TE INTE R FACE CON_NB3000_ATE_INTF ISP176X PORT1 PORT2 PORT3 U SB_U SE RHOST USB_ISP1760 ATE VGA#SPDIF UIO ADC#DAC#AUDIO HOST_JTAG PWM RS232#RS485#KBD#MSE#MIDI# HOST_ID A TE INTE R FACE VGA#SPDIF UIO ADC# DAC# AUDIO HOST_JTAG PWM# RS232#RS485#KBD#MSE#MOUSE ISP176X PORT1 PORT2 PORT3 PROTOTYPE U SE R _PROTOTYPE _AR E A PROTOTYPE_A PROTOTYPE CON CON_AU DIO CON_AUDIO_AC99_NOMIC.SCHDOC DIAGCOMMS MIDI# HOST_ID SW# SPAREIO MEM COMM ON_ME M OR Y CommonMemory CON CON_ADC CON_ADCx 4_KMRJIO3_5MM_6WAY CON CON_DAC CON_DACx 4_KMRJIO3_5MM_6WAY CON CON_PW M CON_PWMx4_KMRJIO3_5MM_6WAY CON CON_USB2 CON_USBA_RA_UPRIGHT CON CON_USB3 CON_USBA_RA_UPRIGHT SRAM SRA M_HOST SRAM_256Kx 16_TSOP44 TFT_TOUCH INT U SB_CL K OSC_24MHZ.SchDoc HOST_USB.XTALIN HOST_USB.XTALOUT CMOSOUT XTALIN XTALOUT OSC DBUSB.XTALIN

FPGA原理图方式设计流程图

2 Quartus II软件的使用、开发板的使用 本章将通过3个完整的例子,一步一步的手把手的方式完成设计。完成这3个设计,并得到正确的结果,将会快速、有效的掌握在Altera QuartusII软件环境下进行FPGA设计与开发的方法、流程,并熟悉开发板的使用。 2.1 原理图方式设计3-8译码器 一、设计目的 1、通过设计一个3-8译码器,掌握祝组合逻辑电路设计的方法。 2、初步了解QuartusII采用原理图方式进行设计的流程。 3、初步掌握FPGA开发的流程以及基本的设计方法、基本的仿真分析方法。 二、设计原理 三、设计内容 四、设计步骤 1、建立工程文件 1)双击桌面上的Quartus II的图标运行此软件。

开始界面 2)选择File下拉菜单中的New Project Wizard,新建一个工程。如图所 示。 新建工程向导

3)点击图中的next进入工作目录。 新建工程对话框 4)第一个输入框为工程目录输入框,用来指定工程存放路径,建议可根据自己需要更改路径,若直接使用默认路径,可能造成默认目录下存放多个工程文件影响自己的设计,本步骤结束后系统会有提示(当然你可不必理会,不会出现错误的)。第二个输入框为工程名称输入框。第三个输入框为顶层实体名称输入框,一般情况下保证工程名称与顶层实体名称相同。设定完成后点击next。

指定工程路径、名称 5)设计中需要包含的其它设计文件,在此对话框中不做任何修改,直接点 击next。 工程所需其它文件对话框

6)在弹出的对话框中进行器件的选择。在Device Family框中选用Cyclone II,然后在Available device框中选择EP2C35F484C8,点击next进入下一步。 器件选择界面 7)下面的对话框提示可以勾选其它的第三方EDA设计、仿真的工具,暂时不作任何选择,在对话框中按默认选项,点击next。

【精品博文】基于FPGA的原理图PCB设计

【精品博文】基于FPGA的原理图PCB设计 我的开发工具:Cadence 16.6,所用FPGA为Altera 家的。画FPGA原理图需准备以下资料:(1) 原理图库文件(2) 芯片手册(3) Pin out file原理图库文件可以从官网上下载,比如我用cadence画Altera家EP4CE115F29I7N原理图,就直接下载EP4CE115.OLB文件。 https://https://www.360docs.net/doc/608832694.html,/support/support-resources/downlo ad/board-layout-test/pcb/pcb-cadence.html原理图中,这种大量管脚的芯片一般分为多个part,包括电源、地、各个bank、配置等。芯片手册几乎给出了关于这个芯片设计(Cyclone IV Device Handbook)的所有需注意的问题,包括配置方式、全局时钟网络、专用时钟接口、lvds接口等。pin out file中有每个管脚的详细说明。(1)芯片配置配置方式主要有JTAG 或AS模式我只预留JTAG接口,有些板子上预留了两个下载接口,一个JTAG,用于下载程序,一个AS,用于固化程序,感觉这样很麻烦,我在固化时选择JIC(JTAG Indirect Configuration File)文件,尽管相对于AS模式会固化程序 会慢一点,但毕业还是JTAG方式,这样就省去了烦琐的 AS模式。JTAG方式有用的信号其实就4个:TCK(测试时钟)、TDO(测试数据输出)、TMS(测试模式选择)、TDI (测试数据输入),再加上VCC和GND,共6根线,所以

其实可以把标准10pin下载口简化为6pin,标准10pin下载口体积大,而6pin连接器可以自己选择,这样更方便。nConfig、nStatus、CONF_DONE、TMS、TDI需要上拉,TCK需要下拉。配置芯片一般为EPCS系列,如EPCS64,EPCS128,相应地,可以用ST公司的M25P64和M25P128代替,连接方式如下图所示。画完原理图,一定要检查下面16个管脚,连接是否正确,否则,板子很可能不工作(2)专用时钟专用时钟输入与输出的选择仍然需要参考,首先,专用时钟输入管脚都是可以驱动内部PLL的,可以配置为普通IO输入,但不能配置为输出管脚,之前有一次就因为没太注意,把这个管脚用作了输出,结果板子出了问题。而专用时钟输出管脚,可以用于普通IO输出,也可以用于时钟输出。设计时,最好是把专用时钟输入管脚全部用作时钟输入,把专用时钟输出管脚全部胜任专用时钟输出,毕竟,IO 资源一般不会这么紧张。(3)lvds设计关于lvds设计,需要仔细看技术手册和Pin-Out Files for Altera Devices,下载地址: https://https://www.360docs.net/doc/608832694.html,/support/literature/lit-dp.html#Cyclo ne-IV对于c4,rx和tx复用,见Cyclone IV Device Handbook 第133页,从pin out file里也可以看出,P和N都是确定好了的,如DIFFIO_T35P和DIFFIO_T35N。 而对于c5器件,存在专用lvds通道,rx和tx是分开的,例

FPGA最小系统原理图

电源电路:5V 转3.3V 、2.5V ;3.3V 转1.2V 。 复位电路 晶振电路 JTAG 接口 FLASH C270.1u C320.1u C90.1u C120.1u C460.1u 0 SW2 SW_PB_SPST nCONFIG C13

MAX232串口电路 P AGE : 1 of 5 DATE : March 2010 P AGE : 2 of 5 DATE : March 2010 VE RSION : 1.0P AGE : 3 of 5 DATE : March 2010 P1-3VREFB1N07VREFB2N031VREFB3N046VREFB4N065VREFB5N080VREFB6N0105 VREFB7N0119VREFB8N0 136 CLK1_23/ DIFFCLK_0N 23CLK2_24/ DIFFCLK_1P 24CLK3_25/ DIFFCLK_1N 25CLK4_91/ DIFFCLK_2P 91CLK5_90/ DIFFCLK_2N 90CLK6_89/ DIFFCLK_3P 89CLK7_88/ DIFFCLK_3N 88P AGE : 4 of 5 DATE : March 2010 P AGE : 5 of 5 DATE : March 2010 CLK 50M PIN25RST N PIN91PIN90PIN88 PIN89IO 7 IO 80 IO 65 IO 46 IO 31 IO 119 IO 105IO 136

TXD IO 142IO 141RXD IO 115IO 114IO 112IO 113IO 110IO 121IO 120IO 111IO 126IO 125IO 124IO 127IO 135IO 129IO 128DATA0IO 137IO 133IO 138IO 132 ASDO IO 99IO 103nCSO IO 86IO 87IO 101IO 98IO 31IO 7IO 80IO 65IO 46IO 136IO 119IO 105RST N CLK 50M PIN91 PIN25J2 HEADER 22x2/SM J3 HEADER 22x2/SM 2468101214161820222426283032343638404244 135791113151719212325272931333537394143

FPGA结构与原理

FPGA 结构与原理初步 查找表((Look-Up-Table)的原理与结构 一.查找表 采用这种结构的PLD芯片我们也可以称之为FPGA:如altera的ACEX,APEX系列,xilinx 的Spartan,Virtex系列等。 查找表(Look-Up-Table)简称为LUT,LUT本质上就是一个RAM。目前FPGA中多使用4输入的LUT,所以每一个LUT可以看成一个有4位地址线的16x1的RAM。当用户通过原理图或HDL语言描述了一个逻辑电路以后,PLD/FPGA开发软件会自动计算逻辑电路的所有可能的结果,并把结果事先写入RAM,这样,每输入一个信号进行逻辑运算就等于输入一个地址进行查表,找出地址对应的内容,然后输出即可。 下面是一个4输入与门的例子, 实际逻辑电路LUT的实现方式 a,b,c,d 输入 逻辑输出地址RAM中存储的内容 0000 0 0000 0 0001 0 0001 0 .... 0 0 1111 1 1111 1 基于查找表((LUT)的FPGA的结构 二.基于查找表 我们看一看xilinx Spartan-II的内部结构,如下图:

xilinx Spartan-II 芯片内部结构Slices结构 Spartan-II主要包括CLBs,I/O块,RAM块和可编程连线(未表示出)。在spartan-II中,一个CLB包括2个Slices,每个slices包括两个LUT,两个触发器和相关逻辑。Slices可以看成是SpartanII实现逻辑的最基本结构(xilinx其他系列,如SpartanXL,Virtex的结构与此稍有不同,具体请参阅数据手册) altera的FLEX/ACEX等芯片的结构如下图:

FPGA经典面试题

FPGA与CPLD内部结构区别? CPLD 以altraMAX7000这种PLD为例,可分为三块结构:宏单元(Marocell),可编程连线(PIA)和I/O控制块。宏单元是PLD的基本结构,由它来实现基本的逻辑功能。可编程连线负责信号传递,连接所有的宏单元。I/O控制块负责输入输出的电气特性控制,比如可以设定集电极开路输出,摆率控制,三态输出等。 这种基于乘积项(实际就是与或阵列)的PLD基本都是由EEPROM和Flash 工艺制造的,一上电就可以工作,无需其他芯片配合。布线方式是全局的,所以延时可预测。CPLD适合做逻辑设计。 FPGA FPGA基于LUT,LUT本质上就是一个RAM,每一个LUT可以看成一个有4位地址线的16x1的RAM。这也是为什么FPGA需要外接一个rom来上电配置。 以xilinx的Spartan-II为例,主要包括CLBs,I/O块,RAM块和可编程连线。在spartan-II中,一个CLB包括2个Slices,每个slices包括两个LUT,两个触发器和相关逻辑。Slices可以看成是SpartanII实现逻辑的最基本结构。 FPGA的制造工艺确定了FPGA芯片中包含的LUT和触发器的数量非常多,往往都是几千上万,PLD一般只能做到512个逻辑单元,而且如果用芯片价格除以逻辑单元数量,FPGA的平均逻辑单元成本大大低于PLD。所以如果设计

中使用到大量触发器,例如设计一个复杂的时序逻辑,那么使用FPGA就是一个很好选择。 https://www.360docs.net/doc/608832694.html,tch和Register区别?行为描述中Latch如何产生? 本质的区别在于:latch是电平触发,reg是边沿触发。时序设计中尽量使用reg触发。 行为描述中,如果对应所有可能输入条件,有的输入没有对应明确的输出,系统会综合出latch。 比如:always@( a or b) //缺少else语句 begin if(a==1) q <= b; end 3.对竞争冒险的理解,以及如何消除? 在组合逻辑中,由于门的输入信号通路中经过了不同的延时,导致到达该门的时间不一致叫竞争。产生毛刺叫冒险。如果布尔式中有相反的信号则可能产生竞争和冒险现象。解决方法:一是添加布尔式的消去项,二是在芯片外部加电容。 4.用Verilog设计一个5分频器。 5分频,奇数分频都可以类似这么做,只需要改div1和div2的参数。div1为奇数分频除2的余数。采用上升延和下降延分别触发不同波形,最后叠加的方式产生奇数分频。 module divfreq(clk, clk1x, rst, clk1xpose, clk1xnege, coutpose, coutnege);

1.2.1FPGA工作原理与简介如前所述,FPGA是在PAL、GAL、EPLD、CPLD等可编

1.2.1 FPGA工作原理与简介 如前所述,FPGA是在PAL、GAL、EPLD、CPLD等可编程器件的基础上进一步发展的产物。它是作为ASIC领域中的一种半定制电路而出现的,即解决了定制电路的不足,又克服了原有可编程器件门电路有限的缺点。 由于FPGA需要被反复烧写,它实现组合逻辑的基本结构不可能像ASIC那样通过固定的与非门来完成,而只能采用一种易于反复配置的结构。查找表可以很好地满足这一要求,目前主流FPGA都采用了基于SRAM工艺的查找表结构,也有一些军品和宇航级FPGA采用Flash或者熔丝与反熔丝工艺的查找表结构。通过烧写文件改变查找表内容的方法来实现对FPGA的重复配置。 根据数字电路的基本知识可以知道,对于一个n输入的逻辑运算,不管是与或非运算还是异或运算等等,最多只可能存在2n种结果。所以如果事先将相应的结果存放于一个存贮单元,就相当于实现了与非门电路的功能。FPGA的原理也是如此,它通过烧写文件去配置查找表的内容,从而在相同的电路情况下实现了不同的逻辑功能。 查找表(Look-Up-Table)简称为LUT,LUT本质上就是一个RAM。目前FPGA中多使用4输入的LUT,所以每一个LUT可以看成一个有 4位地址线的的RAM。当用户通过原理图或HDL语言描述了一个逻辑电路以后,PLD/FPGA开发软件会自动计算逻辑电路的所有可能结果,并把真值表(即结果)事先写入 RAM,这样,每输入一个信号进行逻辑运算就等于输入一个地址进行查表,找出地址对应的内容,然后输出即可。 下面给出一个4与门电路的例子来说明LUT实现逻辑功能的原理。 例1-1:给出一个使用LUT实现4输入与门电路的真值表。 表1-1 4输入与门的真值表 从中可以看到,LUT具有和逻辑电路相同的功能。实际上,LUT具有更快的执行速度和更大的规模。 由于基于LUT的FPGA具有很高的集成度,其器件密度从数万门到数千万门不等,可以完成极其复杂的时序与逻辑组合逻辑电路功能,所以适用于高速、高密度的高端数字逻辑电路设计领域。其组成部分主要有可编程输入/输出单元、基本可

FPGA考试复习资料

一、填空题: 1、 FPGA结构一般分为三部分:可编程逻辑块(CLB)、可编程I/O模块和可编程内部连线。 2、 CPLD的内部连线为连续式布线互连结构,任意一对输入、输出端之间的延时是固定;FPGA的内部连线为分段式布线互连结构,各功能单元间的延时不定(不可预测)。 3、大规模可编程器件主要有CPLD和FPGA两类,其中CPLD通过可编程乘积项逻辑实现其逻辑功能。基于SRAM的FPGA器件,每次上电后必须进行一次配置。FPGA内部阵列的配置一般采用在电路可重构技术,编程数据保存在静态存储器(SRAM) ,掉电易失。 4、目前世界上有十几家生产CPLD/FPGA的公司,最大的两家是:Altera,Xilinx。 5、硬件描述语言(HDL)是EDA技术的重要组成部分,是电子系统硬件行为描述、结构描述、数据流描述的语言,它的种类很多,如VHDL、Verilog HDL、AHDL 6、 WHEN_ELSE条件信号赋值语句和 IF_ELSE顺序语句的异同: * WHEN_ELSE条件信号赋值语句中无标点,只有最后有分号;必须成对出现;是并行语句,必须放在结构体中。 * IF_ELSE顺序语句中有分号;是顺序语句,必须放在进程中 7、可编程逻辑器件设计输入有原理图输入、硬件描述语言输入和波形输入三种方式。原理图输入方式是一种最直接的设计描述方式,波形设计输入适用于时序逻辑和有重复性的逻辑函数。 硬件描述语言的突出优点是: * 语言与工艺的无关性;语言的公开可利用性,便于实现大规模系统的设计; * 具有很强逻辑描述和仿真功能,而且输入效率高,在不同设计输入库之间的转换非常方便,用不着对底层的电路和PLD结构的熟悉。8、用VHDL/Veilog HDL语言开发可编程逻辑电路的完整流程:文本编辑→功能仿真→逻辑综合→布局布线→时序仿真。 *所谓综合,就是根据设计功能和实现该设计的约束条件(如面积、速度、功耗和成本等),将设计输入转换成满足要求的电路设计方案,该方案必须同时满足与其的功能和约束条件。综合的过程也是设计目标的优化过程,其目的是将多个模块化设计文件合并为一个网表文件,供布局布线使用,网表中包含了目标器件中的逻辑单元和互连的信息。 *布局布线就是根据设计者指定的约束条件(如面积、延时、时钟等)、目标器件的结构资源和工艺特性,以最优的方式对逻辑元件布局,并准确地实现元件间的互连,完成实现方案(网表)到使实际目标器件(FPGA或CPLD)的变换。 9、基于EDA软件的FPGA / CPLD设计流程为:原理图/HDL文本输入→功能仿真→综合→适配→时序仿真→编程下载→硬件测试。 * 综合是EDA设计的关键步骤,综合就是将电路的高级语言转换成低级的,可与FPGA/CPLD相映射的功能网表文件。为实现系统的速度、面积、性能的要求,需要对综合加以约束,称为综合约束。 10、构成一个完整的VHDL语言程序的五个基本结构: 实体(ENTITY)、结构体(ARCHITECURE)、配置(CONFIGURATION) 、库(LIBRARY) 、程序包 (PACKAGE) 。 *实体的由实体说明和结构体两部分组成。实体说明部分用于描述所设计系统的外部端口信号和参数的属性和设置,而结构体部分则定义了设计单元的具体功能、行为、数据流程或内部结构。 *结构体的三种描述方式,即行为级描述、数据流级描述和结构级描述。 *结构体通常由结构体名称、定义语句和并行处理语句构成。 *程序包用于存放各设计模块能共享的数据类型、常数、子程序等。 *库用于存放已编译的实体、结构体、程序包和配置,可以通过其目录进行查询和调用。在VHDL语言中,可以存在多个不同的库,但是库与库之间是独立的,不能互相嵌套。它可由用户生成或由ASIC芯片制造商提供,以便于在设计中为大家所共享。 *库用于存放已编译的实体、结构体、程序包和配置,可以通过其目录进行查询和调用。在VHDL语言中,可以存在多个不同的库,但是库与库之间是独立的,不能互相嵌套。它可由用户生成或由ASIC芯片制造商提供,以便于在设计中为大家所共享。 常用库: (1)IEEE库:IEEE库主要包括std_logic_1164、numeric_bit、numeric_std等程序包,还有一些程序包非IEEE标准,但并入IEEE库,如 std_logic_arich、std_logic_unsigned、std_logic_signed。使用IEEE程序包,必须声明。 (2) std库:包含 standard textio程序包。Std库符合IEEE标准,应用中不必声明。 (3) work库:用户的VHDL设计先行工作库。 (4) vital 库:包含时序程序包vital_timing和vital_primitives。设计开发过程通常不用,每个设计实体都必须有各自完整的库说明语句和use语句。Use语句的使用将使说明的程序包对本设计实体部分全部开放,即是可视的。 11、VHDL的数据对象包括常量(constant)、变量(varuable) 和信号(signal) ,它们是用来存放各种类型数据的容器。 12、在VHDL的端口声明语句中,端口方向包括 in 、out 、buffer 、inout、linkage 。“BUFFER”为缓冲端口,与OUT类似,只是缓冲端口允许实体内部使用该端口信号,它可以用于输出,也可以用于端口信号的反馈。当一个结构体用“BUFFER”说明输出端口时,与其连接的另一个结构体的端口也要用BUFFER说明。以“LINKAGE”定义的端口不指定方向,无论哪个方向的信号都可以连接。 13、VHDL的PROCESS(进程)语句是由顺序语句组成的,但其本身却是并行语句。 14、VHDL的子程序有过程(PROCEDURE) 和函数(FUNCTION) 两种类型,具有可重载性特点。

相关主题
相关文档
最新文档