FPGA基础知识 VHDL简述

目录

EDA技术概论

VHDL简述知识点

EDA技术概论

1.FPGA与CPLD有什么区别,各应用在什么场合?

(1)

CPLD

FPGA

内部结构

Product-term

Look-up Table

程序存储

内部EEPROM

SRAM,外挂EEPROM

资源类型

组合电路资源丰富

集成度

使用场合

完成控制逻辑

能完成比较复杂的算法

速度

其他资源

EAB,锁相环

保密性

可加密

一般不能保密

(2) FPGA采用SRAM 进行功能配置,系统掉电后数据丢失不易保存,因此需要另加EPROM 来保存数据。

CPLD 一般采用EEPROM存储技术,系统掉电后数库不丢失。

(3)FPGA器件含有丰富的触发器资源,易于实现时序逻辑。

CPLD的与或阵列结构,使其适于实现大规模的组合功能,但触发器资源相对较少、

(4)FPGA是细粒结构,CPLD是粗粒结构。

CPLD的利用率较FPGA低。

(5)FPGA为非连续性布线,CPLD为连续性布线。

2.硬件描述语言国际标准有两种,分别是? vhdl verilog hdl

3.基于EDA软件的FPGA / CPLD设计流程

4.EDA技术的含义和内容是什么?

EDA(Electronic Design Automation)是电子设计自动化的意思,指利用计算机辅助设计(CAD)软件,来完成超大规模集成电路(VLSI)芯片的功能设计、综合、验证、物理设计(包括布局、布线、版图、设计规则检查等)等流程的设计方式。

VHDL是电子系统设计者和 EDA工具之间的交流界面。

5.VHDL硬件描述语言的特点?

(1)具有强大的语言结构,系统硬件描述能力强、设计效率高;具有较高的抽象描述能力

(2)VHDL语言可读性强,易于修改和发现错误。

(3)VHDL具有丰富的仿真语句和库函数。

(4)VHDL源代码进行早期功能仿真,有利于大系统的设计与验证。

(5)VHDL设计与硬件电路关系不大

VHDL简述知识点

1.、VHDL中最基本的结构是什么?其作用各是什么?

库、程序包使用说明;

库(library)和包的建立和使用有利于设计的重用和代码共享,同时可以使代码结构更加清晰。

实体说明;

与实体对应的结构体说明

2、说明inout、out 和 buffer有何异同点

3.类属(GENERIC)参量是一种端口界面常数

GENERIC([常数名1:数据类型:=设定值1];

[常数名n:数据类型n:=设定值n]);

4.

常数:constant

信号:signal

数据类型:type

元件:component

函数:function

过程 :procedure

block结构内部语句: 并行描述语句

process结构内部语句是: 顺序描述语句

configuration 配置语句格式和结构体architecture相同 :   for + 被选结构体.

   

1.after 语句和wait for 语句的区别

(1). after表示从仿真周期的起点开始,到当前信号值发生变化时的整个时间区间,当该信号需要再次变化时,时间量只能升序。 例:

x<=1 after 10ns; x<=2 after 20ns; x<=3 after 30ns;

(2). wait for语句表示一个信号值的保持时间长度,时间量的大小不必升序。例:

x<=1;wait for 10ns; x<=2; wait for 5ns; x<=5; wait for 2ns;

静态数据对象:

1.constant -> constant set_bit : BIT :='1'; (一旦赋值不能改变)

常量的作用范围取决于它定义的位置:

包集中:全局;

实体中:对该实体内的所有结构体而言是全局的;

结构体中:结构体内是全局的。

2.generic -> generic (width:integer := 16);

常以一种说明的形式放在实体或块结构体前的说明部分,说明内部电路结构和规模 。

非静态数据:

1.variable -> variable a,b : STD_LOGIC

      例:  variable counter: integer range 0 to 255 := 100;

        变量是一个局部量,只能在进程和子程序中使用;

        变量的赋值是一种数据存取是立即发生的,不存在时延。

2.signal -> signal dbus : std_logic_vector(15 downto 0)

signal sys_clk : bit := '0';

  • 信号赋值延迟更新数值、时序电路;

预定义类型在VHDL标准程序包STANDARD中定义,在应用中自动包含进VHDL的源文件,不需要USE语句显示调用

注意:

  • 实数一定要带有小数点。
  • 整数的子类 : 1.natural -> 大于等于0的整数

2.positive -> 正整数

  • 在系统仿真时,时间数据特别有用,用它可以表示信号延时,从而使模型系统能更逼近实际系统的运行环境。
  • 如果用户需使用这10种以外的数据类型,则必须进行自定义。但大多数的CAD厂商已在包集合中对标准数据类型进行了扩展。 例如,数组型数据等。

用户自定义的数据类型

1.枚举类型: type my_logic is ('Q','z','0');

2.数组类型:

· type row is array(7 downto0 ) of std_logoc        一维数组

                                                                               

· type matrix is array(0 TO 2 ) of row                  1*1维数组

· type matrix is array(0 TO 3,7 downto0 ) of std_logic    二维数组

3.记录类型 (recorde)

记录类型和数组类型有些相似,RECORD类型内部可以包含不同类型的数据,而ARRAY只能包含相同类型的数据

type birthday IS recorde

day: integer range 1 TO 31

month:month_name;

end recorder;

4.赋值运算符:

  • <= 用于对signal赋值
  • := 用于对variable,constant 和 generic 赋值,也可用于初始赋值
  • =〉 给矢量中某些位赋值,或对某些位之外的其它位赋值

 

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值