




已阅读5页,还剩8页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
贵州师范大学学生实习报告科目: EDA 实 习 专业: 电气工程及其自动化 班级: 2010电气自动化班 姓名: 吴 世 方 学号: 101401010054 EDA 实习报告一、 实习目的1.1 实训学习了两周,熟练掌握EDA(电子设计自动化)工具设计模拟电路、数字电路的方法,了解系统设计的全过程;1.2 掌握MAXPLUSII软件的基本操作及绘制原理图,和进行电路仿真的一般方法。二、 实习内容2.1 什么是vhdl?VHDL的英文全名是Very-High-Speed Integrated Circuit Hardware Description Language,诞生于1982年。VHDL主要用于描述数字系统的结构、行为、功能和接口。特别适合于设计的电路有:复杂组合逻辑电路如译码器、编码器、加减法器、多路选择器、地址译码器等、状态机等等。2.2 V h ld语言的特点2.2.1 vhld 语言对字母大小写不敏感;例外:、“”所括的字符、字符串;2.2.2每条VHDL语句由一个分号(;)结束;2.2.3 V HDL语言对空格不敏感,增加可读性;2.2.4在“-”之后的是VHDL的注释语句;2.2.5 VHDL有以下描述风格:行为描述、数据流描述(寄存器传输RTL描述)、结构化描述2.3 V H ld语言的基本结构2.3.1 实体(ENEITY)a.实体语句结构实体说明单元的常用语句结构如下: ENTITY 实体名 IS GENERIC(类属表); PORT(端口表); END ENTITY 实体名;b.类属(GENERIC)说明语句类属(GENERIC)参量是一种端口界面常数,常以一种说明的形式放在实体或块结构体前的说明部分。 内部电路结构和规模。 类属说明的一般书写格式如下: GENERIC(常数名:数据类型:=设定值 ;常数名:数据类型:=设定值 ); 类属常用于定义: 实体端口的大小 设计实体的物理特性 总线宽度 元件例化的数量等。c.PORT端口说明由PORT引导的端口说明语句是对于一个设计实体界面的说明。 实体端口说明的一般书写格式如下:PORT(端口名:端口模式 数据类型;端口名:端口模式 数据类型);数据类型: 指端口上流动的数据的表达格式。为预先定义好的数据类型。 如:bit、bit_vector、integer、std_logic、std_logic_vector等。3.2.2结构体(ARCHITECTURE)结构体是用于描述设计实体的内部结构以及实体端口间的逻辑关系。 结构体的一般语句格式结构体的语句 功能描述语句;END ARCHITECTURE 结构体名;格式如下:ARCHITECTURE 结构体名 OF 实体名 IS 说明语句;BEGIN3.2库、程序包在利用VHDL进行工程设计中,为了提高设计效率以及使设计遵循某些统一的语言标准或数据格式,有必要将一些有用的信息汇集在一个或几个库中以供调用。 库(LIBRARY)的语句格式如下: LIBRARY 库名;VHDL程序设计中常用的库有四种。a. IEEE库IEEE库是VHDL设计中最为常见的库,它包含有IEEE标准的程序包和其他一些支持工业标准的程序包。b.STD库VHDL语言标准定义了两个标准程序包,即STANDARD和TEXTIO程序包,它们都被收入在STD库中。 c. WORK库WORK库是用户的VHDL设计的现行工作库,用于存放用户设计和定义的一些设计单元和程序包。因此自动满足VHDL语言标准,在实际调用中,不必以显式预先说明。d. VITAL库VITAL库是各FPGA/CPLD生产厂商提供的面向ASIC的逻辑门库。使用VITAL库,可以提高VHDL门级时序模拟的精度,因而只在VHDL仿真器中使用。 USE 库名.程序包名.ALL;配置(CONFIGURATION)配置语句的一般格式如下: CONFIGURATION 配置名 OF 实体名 IS FOR 选配结构体名 END FOR; ENDCONFIGURATION配置名;2.4 vhld语言的数据对象三种对象:常量(constant) 变量(variable) 信号(signal)三种对象的物理含义:常量代表数字电路中的电源、地、恒定逻辑值等常数变量代表暂时存放某些值的载体,常用来描述算法信号代表物理设计中的某一条硬件连接线,包括输入、输出端口三种数据对象的特点及说明场合信号:全局量用于architecture、package、entity变量:局部量用于process、function、procedure常量:全局量,可用于上面两种场所。2.5 vhld语言的顺序语句顺序语句(Sequentia Statements): 执行顺序与书写顺序一致,与传统软件设计语言的特点相似。顺序语句只能用在进程和子程序中。 可描述组合逻辑、时序逻辑。 VHDL有如下六类基本顺序语句:赋值语句、转向控制语句、等待语句、子程序调用语句、返回语句和空操作语句。2.6 设计d触发器用if语句设计一个上升沿触发器:if 语句的门闩控制 if 条件 then 顺序处理语句; end if例:if (ena=1) then q=d; end if综合后生成锁存器条件改为时钟沿,则生成D触发器 if (clkevent and clk=1) then q=d); end if;2.7 vhld语言的设计要求2.7.1语句结构描述中方括号“ ”内的内容为可选内容; 2.7.2 对于VHDL的编译器和综合器来说,程序文字的大小写是不加区分的; 2.7.3 程序中的注释使用双横线“-”;2.7.4为了便于程序的阅读与调试,书写和输入程序时,使用层次缩进格式,同一层次的对齐,低层次的,较高层次的缩进两个字符;2.7.5 考虑到MAX+plusII要求源程序文件的名字与实体名必须一致,因此为了使同一个VHDL源程序文件能适应各个EDA开发软件的使用要求,建议各个源程序文件的命名均与其实体名一致;2.8 VHDL程序基本结构 一个相对完整的VHDL程序(或称为设计实体)具有如图4.2所示的比较固定的结构,即至少应包括三个基本组成部分:库、程序包使用说明,实体说明和实体对应的结构体说明。2.8.1 实体语句结构实体说明单元的常用语句结构如下: ENTITY 实体名 IS GENERIC(类属表); PORT(端口表); END ENTITY 实体名;2.8.2 类属(GENERIC)说明语句类属(GENERIC)参量是一种端口界面常数,常以一种说明的形式放在实体或块结构体前的说明部分。内部电路结构和规模。类属说明的一般书写格式如下: GENERIC(常数名:数据类型:设定值 ;常数名:数据类型:=设定值 );2.8.3 PORT端口说明 由PORT引导的端口说明语句是对于一个设计实体界面的说明。 实体端口说明的一般书写格式如下:PORT(端口名:端口模式 数据类型; 端口名:端口模式 数据类型);2.8.4 结构体(ARCHITECTURE) 结构体是用于描述设计实体的内部结构以及实体端口间的逻辑关系。. 结构体的一般语句格式结构体的语句格式如下:ARCHITECTURE 结构体名 OF 实体名 IS 说明语句;BEGIN 功能描述语句;END ARCHITECTURE 结构体名;2.8.5结构体说明语句 结构体中的说明语句是对结构体的功能描述语句中将要用到的信号(SIGNAL)、数据类型(TYPE)、常数(CONSTANT)、元件(COMPONENT)、函数(FUNCTION)和过程(PROCEDURE)等加以说明的语句。a. 块语句是由一系列并行执行语句构成的组合体,它的功能是将结构体中的并行语句组成一个或多个模块。b. 进程语句定义顺序语句模块,用以将从外部获得的信号值,或内部的运算数据向其他的信号进行赋值。c.信号赋值语句将设计实体内的处理结果向定义的信号或界面端口进行赋值。d. 子程序调用语句用于调用一个已设计好的子程序。e. 元件例化语句对其他的设计实体作元件调用说明,并将此元件的端口与其他的元件、信号或高层次实体的界面端口进行连接。2.9 VHDL语言要素 VHDL语言要素主要有:VHDL文字规则、数据对象、数据类型、各类操作数和运算操作符等。2.9.1 VHDL文字规则 VHDL文字(Literal)主要包括数值和标识符。数值型文字主要有数字型、字符串型和位串型等。 2.10 VHDL数据对象 在VHDL中,凡是可以赋予一个值的对象就称为数据对象(Data Objects),它类似于一种容器,它接受不同数据类型的赋值。数据对象有三种,即常量(CONSTANT)、变量(VARIABLE)和信号(SIGNAL2.11 数据类型 VHDL是一种强类型语言,要求设计实体中的每一个常数、信号、变量、函数以及设定的各种参量都必须具有确定的数据类型,并且只有数据类型相同的量才能互相传递和作用。VHDL作为强类型语言的好处是能使VHDL编译或综合工具很容易地找出设计中的各种常见错误。VHDL中的数据类型可以分成四大类。 标量型(SCALAR TYPE):属单元素的最基本的数据类型,通常用于描述一个单值数据对象,它包括实数类型、整数类型、枚举类型和时间类型。复合类型(COMPOSITE TYPE):可以由细小的数据类型复合而成,如可由标量复合而成。复合类型主要有数组型(ARRAY)和记录型(RECORD)。存取类型(ACCESS TYPE):为给定的数据类型的数据对象提供存取方式。文件类型(FILES TYPE):用于提供多值存取类型。2.12 VHDL顺序语句顺序语句(Sequentia Statements): 执行顺序与书写顺序一致,与传统软件设计语言的特点相似。顺序语句只能用在进程和子程序中。可描述组合逻辑、时序逻辑。VHDL有如下六类基本顺序语句:赋值语句、转向控制语句、等待语句、子程序调用语句、返回语句和空操作语句2.13 VHDL并行语句相对于传统的软件描述语言,并行语句结构是最具VHDL特色的。在VHDL中,并行语句具有多种语句格式,各种并行语句在结构体中的执行是同步进行的,或者说是并行运行的,其执行方式与书写的顺序无关。在执行中,并行语句之间可以有信息往来,也可以是互为独立、互不相关、异步运行的(如多时钟情况)。2.14 设计时钟。时钟原理图三、实训心得两周的实训已经过去了,我们在老师提供的实践平台上通过自己的实践学到了很多课本上学不到的宝贵东西,熟悉了对MAXPLUS软件的一般项目的操作和学到了处理简单问题的基本方法,更重要的是掌握了VHDL语言的基本设计思路和方法,我想这些会对我今后的学习起到很大的助推作用。此外,还要在今后的课本理论知识学习过程中要一步一个脚印的扎实学习,灵活的掌握和运用专业理论知识这样才能在以后出去工作的实践过程中有所成果,在次感谢老师!四、附录4.1 D触发器的程序library ieee;use ieee.std_logic_1164.all;entity d_ff isport(clk,d,clr:in std_logic; q:out std_logic);end d_ff ;architecture behave of d_ff isbeginprocess(clk)beginif clkevent and clk=1 thenif clr=1 then q=0;else q=d;end if;end if;end process;end behave;4.2 时钟设计程序 4.2.1 二十四进制程序 library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity clock24 isport(clk,clr:in std_logic;q1:out std_logic_vector(3 downto 0);q2:out std_logic_vector(1 downto 0);end clock24;architecture behave of clock24 issignal count_1:std_logic_vector(3 downto 0);signal count_10:std_logic_vector(1 downto 0);begin q1=count_1;q2=count_10;process(clk,clr)beginif(clr=1) thencount_1=0000; count_10=00; elsif(clkevent and clk=1) thenif( count_1=3 and count_10=2) thencount_1=0000;count_10=00; elsif(count_1=9) thencount_1=0000; if (count_10=2)thencount_10=00; else count_10=count_10+1; end if;else count_1=count_1+1; end if;end if;end process;end behave;4.2.2 六十进制程序library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity clock60 isport(clk,clr:in std_logic; q1:out std_logic_vector(3 downto 0); q2:out std_logic_vector(2 downto 0);end clock60;architecture behave of clock60 issignal count1:std_logic_vector(3 downto 0);signal count10:std_logic_vector(2 downto 0);beginq1=count1;q2=count10;process(clr,clk)beginif (clr=0) thencount1=0000; count10=000;elsif (clkevent and clk=1) thenif (count1=9) thencount1=0000 ;if (count10=5) thencount10=000 ;else count10=count10+1;end if;else count1=count1+1;end if;end if;end process;end behave; 4.2.3 动态扫描器程序library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity seltime2 isport(clk1,reset:in std_logic;sec1_in,min1_in:in std_logic_vector(3 downto 0); sec10_in,min10_in:in std_logic_vector(2 downto 0); hour1_in:in std_logic_vector(3 downto 0); hour10_in:in std_logic_vector(1 downto 0); daout:out std_logic_vector(3 downto 0); sel:out std_logic_vector(2 downto 0);end seltime2 ;architecture fun of seltime2 issignal count:std_logic_vector(2 downto 0);beginsel=count;process(clk1,reset)beginif reset=0 thencount=101) thencount=000;else countdaoutdaout(3)=0;daout(2 downto 0)daoutdaout(3)=0;daout(2 downto 0)daoutdaout(3 downto 2)=00;daout(1 downto 0)=hour10_in;end case;end process;end fun; 4.2.3 时钟程序library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity clock isport(clk,clear:in std_logic; bcd1_out:out std_logic_vector(3 downto 0); bcd10_out:out std_logic_vector(2 downto 0); bcd100_out:out std_logic_vector(3 downto 0); bcd1000_out:out std_logic_vector(2 downto 0); bcd10000_out:out std_logic_vector(3 downto 0); bcd100000_out:out std_logic_vector(2 downto 0);end clock; architecture rtl of clock is signal bcd1n:std_logic_vector(3 downto 0); signal bcd10n:std_logic_vector(2 downto 0); signal bcd10
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024收银审核员测试卷(原创题)附答案详解
- 2024-2025学年注册公用设备工程师练习题附答案详解【满分必刷】
- 2024-2025学年扬州中瑞酒店职业学院传统康复治疗技术期末综合提升测试卷(黄金题型)附答案详解
- 2024-2025学年度主管护师(中级)模拟试题含答案详解(培优B卷)
- 2023年度教师公开招聘能力提升B卷题库及参考答案详解【基础题】
- 2025临床执业医师高频难、易错点题附答案详解【黄金题型】
- 计算机三级题库试题附参考答案详解【完整版】
- 2024年安全员考试过关检测试卷及答案详解【有一套】
- 2024年中医助理医师过关检测试卷(达标题)附答案详解
- 教师招聘之《中学教师招聘》综合提升测试卷及完整答案详解(各地真题)
- 气瓶安全协议书
- 锚杆锚索施工合同协议
- 铝合金门窗购销合同范文9篇
- 2025-2030中国MLCC粉末行业市场发展趋势与前景展望战略研究报告
- 无人机吊装作业安全管理
- 处方审查的常见问题与解决方法试题及答案
- 监理员质量知识培训课件
- 2025年经综396真题试及参考答案
- 2025年电信人工智能学习考试题库(含答案)
- 2024年金昌市科技馆招聘笔试真题
- 电力三种人培训
评论
0/150
提交评论