EDA实验总结报告

合集下载
相关主题
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

CPLD与电子CAD报告

班号: XXXXXXXXX

序号: XXXXX

学号: XXXXXXX

姓名: XXXXXXX

同组同学姓名: XXXXXXX

三峡大学电气与新能源学院

1

CPLD及电子CAD

⏹前言 VDHL初步理解和软件常规操作

⏹第一章 VHDL中的进程、信号与变量

⏹第二章并行语句、顺序语句

⏹第三章循环语句、双向口

⏹第四章数字钟综合设计

⏹第五章Protel原理图、PCB图

⏹总结学习CPLD心得和体会

前言 VDHL初步理解和软件常规操作

一,VHDL的历史

1982年,诞生于美国国防部赞助的vhsic项目

1987年底,vhdl被IEEE和美国国防部确认为标准硬件描述语言,即IEEE-1076(简称87版)

1993年,IEEE对VHDL进行了修订,公布了新版本的VHDL,即IEEE标准的1076-1993(1164)版本

1996年,IEEE-1076.3成为VHDL综合标准

二,VHDL软件Max+plusⅡ的常规操纵方法

1)新建文件后,输入项目文件名(File-Project-Name)(此时save as名称如果是程序则需要用vhd结尾保存文件)

2)输入源文件(图形、VHDL、波形输入方式)

(Max+plusⅡ-graphic Editor;Max+plusⅡ-Text Editor;Max+plusⅡ-Waveform Editor)

3)指定CPLD型号,选择器件(Assign-Device)(应选择EP1K 30TC144-1)4)设置管脚、下载方式和逻辑综合的方式

(Assign-Global Project Device Option,Assign-Global Logic Synthesis) 5)保存并检查源文件(File-project-Save & Check)

6)指定管脚(Max+plusⅡ-Floorplan Editor)(具体的管脚应该参考

2

3

CPLD 管脚资源表格)

7)保存和编译源文件(File-project-Save & Compile) 8)生成波形文件(Max+plus Ⅱ-Waveform Editor) 9)仿真(Max+plus Ⅱ-Simulator)

10)下载配置(Max+plus Ⅱ-Programmer)

第一章 VHDL 中的进程、信号与变量

1.VHDL 中编程单元以及用法:

1.Entity(实体):像一个黑盒子一样,用来说明模型外部的输入输出特征

2.Architecture (构造体):用来定义模型的内容和功能,每一个构造体必须有一个实体与它相对应,所以两者一般成对出现;

3.Generic(类属参量):规定端口的大小、实体中子元件的数目等;

4.Ports (端口):是实体的一部分,主要用于信号的传输;常见的端口类型有IN (数据只能进实体),OUT (数据只能流出实体),INOUT (即可流进又可流出),BUFFER (数据流进实体同时可被反馈);

5.数据类型:BIT(位类型,只取‘0’或‘1’);BIT_VECTOR (位矢量类型,包含一组位类型);BOOLEAN (布尔类型,其值可为‘TEUE ’或‘FALSE ’);INTEGER (整型);Natural (自然数类型);Positive (正整数类型);REAL (浮点数类型);

6.Std_Logic 数据类型:IEEE1164中定义的一种数据类型,包含9种取值 (U,X,0,1,Z,W,L,H,_)。电路中有三态逻辑必须用std_logic 和std_logic_vector ;

7.构造体:描述实体的内部结构和逻辑功能,和实体相联系,一个实体可以 有多个构造体,构造体的运行时并发的;

2.进程语句意义和用法:

进程语句是VHDL 中最重要的语句,具有并行和顺序行为的双重性,其特点主要有:

1.进程和进程语句之间是并行的关系;

2.进程内部是一组连续执行的顺序语句;

3.进程语句与结构体中的其余部分进行信息交流是靠信号来完成的;

4.一个构造体可以有多个进程语句;

5.进程的基本格式:

【进程标号:】PROCESS[(信号敏感表)]IS <说明区> BEGIN

<顺序语句>

END PROCESS[进程标号]; 6.进程举例

4

library ieee;

use ieee.std_logic_1164.all; entity if_case_55_56 is port

(a,b,c,d: in std_logic;

sel : in std_logic_vector (1 downto 0); y,z:out std_logic);

end if_case_55_56;

architecture logic of if_case_55_56 is begin

if_label:process(a,b,c,d,sel) begin

if sel="00" then y<=a; elsif sel="01" then y<=b; elsif sel="10" then y<=c; else y<=d; end if;

end process if_label; case_label:

process(a,b,c,d,sel) begin

case sel is

when "00" =>z<=a; when "01" =>z<=b; when "10" =>z<=c; when "11" =>z<=d; when others =>z<='0';

end case;

end process case_label; end logic;

7.其仿真波形为

相关文档
最新文档