当前位置:首页 > 从零开始 > 正文

怎样学习CPLD

2023-08-23 22:10:13  来源:网络   热度:

一、怎样学习CPLD

学习CPLD可以分为几个方面:1、软件相如quartusⅡ 2、语言 Verilog HDL接近C语言更加形象易学(本人观点)3、数电基础 4、然后再有一个学习板就可以开始做实验了。

书籍建议:《Altera FPGA/CPLD 设计》(基础篇)

《Verilog 数字系统设计教程》夏宇闻编

电子技术基础(数字部分)第五版

编程语言:主要有:VHDL和Verilog hdl,VHDL使用的人比较多,但是Verilog hdl的表达方式和C语言相似,有C语言基础的学起来会容易上手些。

软件:强烈推荐使用quartus网络版,不要用版,否则安装起来会比较麻烦。

学习论坛推荐:

首先学习VHDL或者Verilog hdl的语法,然后尝试在quartus中新建工程,进行仿真;quartus功能强大,需要时间熟悉,先学会在该软件中怎样创建工程、编译、仿真。另外的功能日后慢慢熟悉。

需要什么资料的话留下邮箱,我发到你的邮箱上。

二、T叔在么?求quartus和maxplus的实用教程?

〓◆

CPLD/FPGA常用模块与综合系统设计实例

高清书签

◆〓〓◆

MAX+plusⅡ相关专辑

16册

311M

◆〓〓◆

VHDL实用教程

潘松

367页

4.9M

超清书签版

◆〓

,

好书哦!〓◆

Xilinx

ise

9.x

FPGA

CPLD设计指南

387页

85.3M

清晰书签版

◆〓〓◆

从零开始学CPLD和Verilog

HDL编程技术

265页

34.2M

◆〓〓◆

图灵系列电子书

40册

1.46G

全部书签版

◆〓

新增10册

三、简述基于eda软件的fpga/cpld设计流程主要包括哪几个步骤

1、功能定义/器件选型

一般都采用自顶向下的设计方法,把系统分成若干个基本单元,然后再把每个基本单元划分为下一层次的基本单元,一直这样做下去,直到可以直接使用EDA元件库为止。

2、设计输入

设计输入是将所设计的系统或电路以开发软件要求的某种形式表示出来,并输入给EDA工具的过程。常用的方法有硬件描述语言(HDL)和原理图输入方法等。原理图输入方式是一种最直接的描述方式,在可编程芯片发展的早期应用比较广泛,它将所需的器件从元件库中调出来,画出原理图。

3、功能仿真

功能仿真也称为前仿真是在编译之前对用户所设计的电路进行逻辑功能验证,此时的仿真没有延迟信息,仅对初步的功能进行检测。

4、综合优化

所谓综合就是将较高级抽象层次的描述转化成较低层次的描述。综合优化根据目标与要求优化所生成的逻辑连接,使层次设计平面化,供FPGA布局布线软件进行实现。

5、综合后仿真

综合后仿真检查综合结果是否和原设计一致。在仿真时,把综合生成的标准延时文件反标注到综合仿真模型中去,可估计门延时带来的影响。但这一步骤不能估计线延时,因此和布线后的实际情况还有一定的差距,并不十分准确。

6、实现与布局布线

布局布线可理解为利用实现工具把逻辑映射到目标器件结构的资源中,决定逻辑的最佳布局,选择逻辑与输入输出功能链接的布线通道进行连线,并产生相应文件(如配置文件与相关报告),实现是将综合生成的逻辑网表配置到具体的FPGA芯片上,布局布线是其中最重要的过程。

7、时序仿真

时序仿真,也称为后仿真,是指将布局布线的延时信息反标注到设计网表中来检测有无时序违规(即不满足时序约束条件或器件固有的时序规则,如建立时间、保持时间等)现象。时序仿真包含的延迟信息最全,也最精确,能较好地反映芯片的实际工作情况。

8、板级仿真与验证

板级仿真主要应用于高速电路设计中,对高速系统的信号完整性、电磁干扰等特征进行分析,一般都以第三方工具进行仿真和验证。

9、芯片编程与调试

设计的最后一步就是芯片编程与调试。芯片编程是指产生使用的数据文件(位数据流文件,Bitstream Generation),然后将编程数据下载到FPGA芯片中。其中,芯片编程需要满足一定的条件,如编程电压、编程时序和编程算法等方面。

设计--仿真--综合--约束--布局布线--生成bit流--下载--班级调试--完成

四、CPLD、FPGA、Actel 、SRAM、JTAG分别都是指什么?

CPLD(Complex

Programmable

Logic

Device)复杂可编程逻辑器件,是从PAL和GAL器件发展出来的器件,相对而言规模大,结构复杂,属于大规模集成电路范围。是一种用户根据各自需要而自行构造逻辑功能的数字集成电路。其基本设计方法是借助集成开发软件平台,用原理图、硬件描述语言等方法,生成相应的目标文件,通过下载电缆(“在系统”编程)将代码传送到目标芯片中,实现设计的数字系统.FPGA与CPLD的辨别和分类

FPGA与CPLD的辨别和分类主要是根据其结构特点和工作原理。通常的分类方法是:

将以乘积项结构方式构成逻辑行为的器件称为CPLD,如Lattice的ispLSI系列、Xilinx的XC9500系列、Altera的MAX7000S系列和Lattice(原Vantis)的Mach系列等。

将以查表法结构方式构成逻辑行为的器件称为FPGA,如Xilinx的SPARTAN系列、Altera的FLEX10K或ACEX1K系列等。

尽管FPGA和CPLD都是可编程ASIC器件,有很多共同特点,但由于CPLD和FPGA结构上的差异,具有各自的特点:

①CPLD更适合完成各种算法和组合逻辑,FP

GA更适合于完成时序逻辑。换句话说,FPGA更适合于触发器丰富的结构,而CPLD更适合于触发器有限而乘积项丰富的结构。

②CPLD的连续式布线结构决定了它的时序延迟是均匀的和可预测的,而FPGA的分段式布线结构决定了其延迟的不可预测性。

③在编程上FPGA比CPLD具有更大的灵活性。CPLD通过修改具有固定内连电路的逻辑功能来编程,FPGA主要通过改变内部连线的布线来编程;FP

GA可在逻辑门下编程,而CPLD是在逻辑块下编程。

④FPGA的集成度比CPLD高,具有更复杂的布线结构和逻辑实现。

⑤CPLD比FPGA使用起来更方便。CPLD的编程采用E2PROM或FASTFLASH技术,无需外部存储器芯片,使用简单。而FPGA的编程信息需存放在外部存储器上,使用方法复杂。

⑥CPLD的速度比FPGA快,并且具有较大的时间可预测性。这是由于FPGA是门级编程,并且CLB之间采用分布式互联,而CPLD是逻辑块级编程,并且其逻辑块之间的互联是集总式的

一周热门