Oct19电气信息技术FPGA第四轮讲课件

上传人:人*** 文档编号:568793964 上传时间:2024-07-26 格式:PPT 页数:43 大小:1.96MB
返回 下载 相关 举报
Oct19电气信息技术FPGA第四轮讲课件_第1页
第1页 / 共43页
Oct19电气信息技术FPGA第四轮讲课件_第2页
第2页 / 共43页
Oct19电气信息技术FPGA第四轮讲课件_第3页
第3页 / 共43页
Oct19电气信息技术FPGA第四轮讲课件_第4页
第4页 / 共43页
Oct19电气信息技术FPGA第四轮讲课件_第5页
第5页 / 共43页
点击查看更多>>
资源描述

《Oct19电气信息技术FPGA第四轮讲课件》由会员分享,可在线阅读,更多相关《Oct19电气信息技术FPGA第四轮讲课件(43页珍藏版)》请在金锄头文库上搜索。

1、 电气信息技术FPGA实验讲稿 北京航空航天大学电工电子中心北京航空航天大学电工电子中心2009年年10月月19日日 2024/7/261Oct192009电气信息技术FPGA第四轮讲课件电气信息技术实践基础电气信息技术实践基础FPGA实验的目的实验的目的n一、熟悉一款实验设备一、熟悉一款实验设备KH31001n二、学习一种硬件描述语言二、学习一种硬件描述语言VHDLn三、掌握一款三、掌握一款FPGACyclone 1C6Qn四、熟悉一种集成开发环境四、熟悉一种集成开发环境QuartusII-5.0 2024/7/262Oct192009电气信息技术FPGA第四轮讲课件数字器件的种类数字器件的

2、种类2024/7/263Oct192009电气信息技术FPGA第四轮讲课件2024/7/264Oct192009电气信息技术FPGA第四轮讲课件FPGA应用实例应用实例2024/7/265Oct192009电气信息技术FPGA第四轮讲课件FPGA的概述的概述 什么是什么是FPGA? 现场可编程门阵列(FPGA)是由可编程逻辑快组成的数字集成电路,这些逻辑块之间用可编程的互连资源。设计者可以对器件进行编程来完成各种各样的任务。 FPGA的应用领域: 1 ASIC和定制硅 2 数字信号处理 高速DSP传统上是用数字信号处理器来实现的,现在的FPGA可以 包含内嵌的的乘法器、专用计算历程和大量的片上

3、RAM,加上FPGA提供的并行 性,其结果比最快的DSP还快500倍。 3 嵌入式处理器 嵌入式处理器由CPU、定时器和I/O 组成。现在的FPGA足以实现 一个集成有可选定制I/O功能的软核处理器,于是FPGA实现了嵌入式处理器的功 能。 4 物理层通信 FPGA长期以来用于实现物理层通信芯片和网络协议层互联的粘合 逻辑。今天的高端FPGA拥有了多种高速收发器,这意味着通信和网络功能可以 合并到同一设备中。 5 可重配置计算技术 这是指由FPGA 提供的固有的并行性和可重构性来实现软 件算法的硬件加速。许多公司正在建立大型的以FPGA 为基础的可重配置计算引 擎。2024/7/266Oct1

4、92009电气信息技术FPGA第四轮讲课件简单的可编程功能简单的可编程功能2024/7/267Oct192009电气信息技术FPGA第四轮讲课件几种半导体芯片发明的时间几种半导体芯片发明的时间2024/7/268Oct192009电气信息技术FPGA第四轮讲课件几个名词几个名词nPLD 可编程逻辑器件(可编程逻辑器件(1967)nPAL 可编程阵列逻辑(上世纪可编程阵列逻辑(上世纪70年代末期年代末期 与可编程)与可编程)nPLA 可编程逻辑阵列(可编程逻辑阵列(1975年年 与、或都可编程)与、或都可编程)nGAL 通用阵列逻辑通用阵列逻辑nCPLD 复杂可编程逻辑器件(上世纪复杂可编程逻辑

5、器件(上世纪70年代末期)年代末期)nFPGA 现场可编程门阵列(现场可编程门阵列(1984)nASIC 专用集成电路专用集成电路 (上世纪(上世纪70年代末期)年代末期)nHDL 硬件描述语言硬件描述语言(1982年年,1987年年IEEE标准标准)nEDA 电子设计自动化电子设计自动化nISP 系统在线编程系统在线编程(Lattice公司发明公司发明,在线在线 高压高压)2024/7/269Oct192009电气信息技术FPGA第四轮讲课件主要主要PLD厂商厂商nALTERA 是最大可编程逻辑器件供应商之一。开发软件为MaxplusII和QuartusII。 nXILINX FPGA的发明

6、者。开发软件为Foundition和ISE。全球PLD/FPGA产品60%以上是由Altera和Xilinx提供的。可以讲Altera和Xilinx共同决定了PLD技术的发展方向。nLattice Lattice是ISP技术的发明者,ISP技术极大的促进了PLD产品的发展,与ALTERA和XILINX相比。中小规模PLD比较有特色。nACTEL 反熔丝(一次性烧写)PLD的领导者,由于反熔丝PLD抗辐射,耐高低温,功耗低,速度快,所以在军品和宇航级上有较大优势。2024/7/2610Oct192009电气信息技术FPGA第四轮讲课件硬件描述语言硬件描述语言n硬件描述语言硬件描述语言(Hardw

7、are Description Language)。n硬件描述语言的作用:硬件描述语言的作用:描述硬件的逻辑结构。描述硬件的逻辑结构。n硬件描述语言的种类:硬件描述语言的种类:VHDL,Verilog等等2024/7/2611Oct192009电气信息技术FPGA第四轮讲课件实验箱结构框图实验箱结构框图 2024/7/2612Oct192009电气信息技术FPGA第四轮讲课件实验箱实物图实验箱实物图 2024/7/2613Oct192009电气信息技术FPGA第四轮讲课件LED 32 2024/7/2614Oct192009电气信息技术FPGA第四轮讲课件7 段(独立段(独立/扫描)显示器扫描

8、)显示器 8 2024/7/2615Oct192009电气信息技术FPGA第四轮讲课件VHDL 工程设计流程图工程设计流程图2024/7/2616Oct192009电气信息技术FPGA第四轮讲课件VHDL 程序设计基本结构和程序设计例子程序设计基本结构和程序设计例子a、b:输入端端口名:输入端端口名s:通道选择控制信号输入端端口名:通道选择控制信号输入端端口名y:输出端端口名:输出端端口名功能描述:若功能描述:若s=0则则y=a;若;若s=1则则y=bIEEE库使用说明库使用说明实体:器件实体:器件mux21的外的外部信号接口说明,部信号接口说明,PORT相当于器件的引脚相当于器件的引脚结构体

9、:器件结构体:器件mux21的内的内部工作逻辑描述,即为实部工作逻辑描述,即为实体描述的器件功能结构体描述的器件功能结构2024/7/2617Oct192009电气信息技术FPGA第四轮讲课件进程进程进程语句结构 进程标号: PROCESS (敏感信号参数表) 实体名 IS 进程说明部分 BEGIN 顺序描述语句 END PROCESS进程标号; 进程的例子 ARCHITECURE s_mode OF start IS BEGIN p1: PROCESS BEGIN WAIT UNTIL clock ;-等待clock 激活进程 IF(driver1)THEN CASE output IS W

10、HEN s1 output s2 WHEN s2 output s3 WHEN s3 output s4 WHEN s4 output s1 END CASE END IF; END PROCESS p1; END ARCHITECURE s_mode;2024/7/2618Oct192009电气信息技术FPGA第四轮讲课件CASE语句结构CASE 表达式 ISWhen 选择值 = 顺序语句;(“ = ”相当于then)When 选择值 = 顺序语句;END CASE;使用CASE语句需注意:1 条件语句中的选择值必须在表达式的取值范围之内。2 CASE语句的每个选择值只能出现一次。3 CAS

11、E语句执行中必须选中且只能选中所列条件语句中的一条。这表明CASE语句至少包含一个条件语句。4 除非条件语句的选择值能够覆盖CASE语句中表达式的值,否则最末一个条件句中的选择必须用“OTHERS”,它表明所有条件句中未能列出其他可能的取值。2024/7/2619Oct192009电气信息技术FPGA第四轮讲课件2024/7/2620Oct192009电气信息技术FPGA第四轮讲课件CASE 语句常见错误语句常见错误nSIGNAL value :INTEGER RANGE 0 TO 15 nSIGNAL out1: STD_LOGIC;nnCASE value IS 缺少以when引导的条件句

12、nEND CASE;nCASE value ISn WHEN 0= out1 out1 out1 out1连接端口名连接端口名,。);。);例如:程序例如:程序1LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL ;ENTITY nd2 ISPORT(a,b:IN STD_LOGIC;c: OUT STD_LOGIC);END nd2;ARCHITECTURE nd2behv OF nd2 ISBEGIN C= a NAND b; END nd2behv;2024/7/2622Oct192009电气信息技术FPGA第四轮讲课件程序程序22024/7/2623Oct

13、192009电气信息技术FPGA第四轮讲课件综合后的结果综合后的结果 2024/7/2624Oct192009电气信息技术FPGA第四轮讲课件选择信号赋值语句选择信号赋值语句 n选择信号赋值语句的语句格式如下:nWITH 选择表达式 SELECT n赋值目标信号=表达式 WHEN 选择值n表达式 WHEN 选择值n 。n表达式 WHEN 选择值n选择信号赋值语句本身不能在进程中应用,其功能却与进程中的CASE语句的功能相似。CASE语句的执行依赖于进程中敏感信号的改变而启动进程,而且要求CASE语句中各子句的条件不能有重叠,必须包含所有的条件。选择信号语句中也有敏感量,即关键词WHEN旁的选择

14、表达式,每当选择表达式的值发生变化时,就将启动此语句对各子句的选择值进行测试对比,当发现有满足条件的子句时,就将此子句表达式中的值赋给赋值目标信号。与CASE语句相类似,选择赋值语句对子句条件选择值的测试具有同期性,不像以上条件信号赋值语句那样是按照子句的书写顺序从上至下逐条测试的。因此,选择赋值语句不允许有条件重叠现象,也不允许存在条件涵盖不全的情况。n例如2024/7/2625Oct192009电气信息技术FPGA第四轮讲课件n。nWITH selt SELECTnMuxout = a WHEN 0 | 1 ,n b WHEN 2 TO 5,n c WHEN 6,n d WHEN 7,n

15、Z WHEN OTHERS;n 。n 上例是一个列出选择条件为不同取值范围的4选1多路选择器,当不满足条件时,输出呈高阻态。2024/7/2626Oct192009电气信息技术FPGA第四轮讲课件VHDL中状态机的实现中状态机的实现n数字电子学中许多过程遵循由一系列时钟脉冲所发起的预先确定的步序。这些过程可由一个单独的时钟输入驱动,在每一个时钟脉冲输入时有一个或多个输出以一种特殊的顺序进行响应。除了时钟触发器,这些过程常常还有其他外部激励对输出状态进行影响。这种可在逻辑系统中执行的事件序列称为状态机。状态机的输出跟随可以预测的时序,受时钟和其他输入激励信号触发。2024/7/2627Oct19

16、2009电气信息技术FPGA第四轮讲课件跑马灯实验2024/7/2628Oct192009电气信息技术FPGA第四轮讲课件实验连线和实验操作n输入信号:n时钟clk 接10Hz 输入(SW7);n复位rst 接拨动开关I01(拨码开关SW3 左1);n输出信号:n8 位输出信号接LED 模块O25O32。n下载程序,将SW7 拨至第二段(10Hz),拨码开关SW3 的IO1 拨至ON 的位置,此时,LED 灯的前8 位会有规律的闪烁。2024/7/2629Oct192009电气信息技术FPGA第四轮讲课件跑马灯设计跑马灯设计2024/7/2630Oct192009电气信息技术FPGA第四轮讲课

17、件nif(rst=0)then - 系统初始化n present=s0;n q10);nelsif(clkevent and clk=1)thenn case present isn when s0 = if(q1=00000000)then -S0模式:从左到右逐个点亮LEDn q1=10000000;n else if(count=0111)thenn count0);n q1=00000001;n present=s1;n else q1=q1(0) & q1(7 downto 1);n count=count+1;n present=s0;n end if;n end if;2024/

18、7/2631Oct192009电气信息技术FPGA第四轮讲课件nq1 if(count=0111)then -S1模式:从右到左逐个点亮LEDn count0);n q1=10000001;n present=s2;n else q1=q1(6 downto 0) & q1(7);n count=count+1;n present if(count=“0011”)then-S2模式:从两边到中间 逐个点亮LEDn count0);n q1=00011000;n present=s3;n else q1(7 downto 4)=q1(4) & q1(7 downto 5);n q1(3 down

19、to 0)=q1(2 downto 0) & q1(3);n count=count+1;n present=s2;n end if;2024/7/2634Oct192009电气信息技术FPGA第四轮讲课件向中间移动向中间移动n初值10000001nq1(7 downto 4)=q1(4) & q1(7 downto 5);前四位右移nq1(3 downto 0) if(count=0011)then -S3模式:从中间到两边逐个点亮LEDn count0);n q1=10000000;n present=s0;n else q1(7 downto 4)=q1(6 downto 4) & q1

20、(7);n q1(3 downto 0)=q1(0) & q1(3 downto 1);n count=count+1;n present=s3;n end if;n end case;nend if;nend process;nq=q1;nend;2024/7/2636Oct192009电气信息技术FPGA第四轮讲课件1 格雷码序列器的状态机格雷码序列器的状态机n状态格雷码状态格雷码 nS0 000 nS1 001 nS2 011 nS3 010 nS4 110 nS5 111 nS6 101 nS7 1002024/7/2637Oct192009电气信息技术FPGA第四轮讲课件2024/7

21、/2638Oct192009电气信息技术FPGA第四轮讲课件VHDL 编程注意事项编程注意事项n1 在在VHDL中,共有中,共有3种常用对象类型:常量、变量和信号。种常用对象类型:常量、变量和信号。n2 应注意端口信号的方向。应注意端口信号的方向。Out方向只能被赋值;方向只能被赋值;in方向可以赋值:方向可以赋值:buffer可以赋可以赋值和被赋值;由于值和被赋值;由于inout就是输入就是输入/输出端口,因此可以赋值和被赋值。特别需要输出端口,因此可以赋值和被赋值。特别需要注意的是,当输出信号要反馈回去时,必须定义为注意的是,当输出信号要反馈回去时,必须定义为inout。n3 信号使用信号

22、赋值符信号使用信号赋值符“=”。n4 变量使用变量赋值符变量使用变量赋值符“:=”。n5 std_logic和和std_logic_vector是可综合是可综合VHDL描述中常见的数据类型描述中常见的数据类型n6 在在ieee.std_logic_unsigned.all包的支持下,可进行包的支持下,可进行std_logic和和std_logic_vector的加减运算。的加减运算。n7 在同一个进程中,信号可以被多次赋值,但是只有最后一个赋值有效。在进程在同一个进程中,信号可以被多次赋值,但是只有最后一个赋值有效。在进程中,因为语句的执行是顺序的,虽然对一个信号有多次赋值,但是仍然认为该信号

23、中,因为语句的执行是顺序的,虽然对一个信号有多次赋值,但是仍然认为该信号具有具有一次驱动。在进程中,可以对一个信号进行多次赋值。具有具有一次驱动。在进程中,可以对一个信号进行多次赋值。n 但是,变量确不然,在一个进程内,对变量的多次赋值完全可以按照设计的逻辑但是,变量确不然,在一个进程内,对变量的多次赋值完全可以按照设计的逻辑进行。进行。n8 在结构体中,不能对一个信号赋值多次,因为各个信号赋值语句之间是并发关系。在结构体中,不能对一个信号赋值多次,因为各个信号赋值语句之间是并发关系。n9 被赋值信号的位数与赋予它的数值位数必须相等,否则出错。例如,将被赋值信号的位数与赋予它的数值位数必须相等

24、,否则出错。例如,将2位八进位八进制赋予制赋予4位逻辑矢量是错误的。解决这一问题的办法是:把位数凑齐。例如位逻辑矢量是错误的。解决这一问题的办法是:把位数凑齐。例如3 bit 的的std_logic_vector和和1位的位的std_logic可以通过以下的方法链接可以通过以下的方法链接addtemp:=0&A1&A0+0&B1&B0+”00”&CYI;2024/7/2639Oct192009电气信息技术FPGA第四轮讲课件VHDL 编程注意事项编程注意事项(续续)n10 为使赋值和被赋值情况下不出现错误,可以在结构体内声明与输入、为使赋值和被赋值情况下不出现错误,可以在结构体内声明与输入、输

25、出端口相同数据类型的信号。在结构体中,先将输入端口赋予信号,然输出端口相同数据类型的信号。在结构体中,先将输入端口赋予信号,然后在对信号进行逻辑处理后,再用赋值语句将信号赋予输出端口。后在对信号进行逻辑处理后,再用赋值语句将信号赋予输出端口。n11 定义整形数范围的时候,计数器计数的范围实际上是定义整形数范围的时候,计数器计数的范围实际上是2的的n次幂减次幂减1。例。例如如integer rang 0128,实际上会计数到,实际上会计数到255,因为,因为128需要需要8位二进位二进制表示。制表示。n12 Case语句需要时钟触发的。语句需要时钟触发的。n13 信号量不可以在进程内定义。信号量

26、不可以在进程内定义。n14 VHDL文件不能放在根目录下,需要建一个文件夹。否则编译不能通过文件不能放在根目录下,需要建一个文件夹。否则编译不能通过。n15 对含有元件例化的文件,器件必须在另一个文件里。顶层实体和工程对含有元件例化的文件,器件必须在另一个文件里。顶层实体和工程名必须和总文件相同。名必须和总文件相同。n16 器件例化语句不能放在进程内器件例化语句不能放在进程内n17 有有“”编译不能通过的原因是缺少库文件编译不能通过的原因是缺少库文件ieee_logic_unsigned.all。n18 时钟触发不同于时钟触发不同于 clkEVENT and clk=1。2024/7/2640

27、Oct192009电气信息技术FPGA第四轮讲课件参考书目参考书目n1 北京航空航天大学电工电子中心北京航空航天大学电工电子中心 FPGA实验指导书实验指导书n2 EDA先锋工作室先锋工作室 吴继华吴继华 王诚王诚 编著编著 人民邮电出版社人民邮电出版社 2005年年7月月n3 EDA先锋工作室先锋工作室 吴继华吴继华 王诚王诚 编著编著 人民邮电出版社人民邮电出版社 2005年年7月月n4 潘松潘松 王国栋王国栋 编著编著 电子科技大学出版电子科技大学出版社社 2003年年6月月n5 夏宇闻夏宇闻 北京航空航天大学北京航空航天大学出版社出版社 2003年年7月月2024/7/2641Oct192009电气信息技术FPGA第四轮讲课件学习网站: 1) 2) 3) 4) 2024/7/2642Oct192009电气信息技术FPGA第四轮讲课件 谢谢!谢谢!2024/7/2643Oct192009电气信息技术FPGA第四轮讲课件

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 资格认证/考试 > 自考

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号