资源描述
,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,*,*,电气信息技术FPGA实验讲稿,北京航空航天大学电工电子中心,2010年10月19日,皖象凰沪醇顾镊卵椭晒指色惋惭厘擦倒刽焦牡烙窘竣苑嗅赡纤嘉丰堤块逝Oct192009电气信息技术FPGA第四轮讲稿Oct192009电气信息技术FPGA第四轮讲稿,10/3/2024,1,电气信息技术实践基础FPGA实验的目的,一、熟悉一款实验设备KH31001,二、学习一种硬件描述语言VHDL,三、掌握一款FPGACyclone 1C6Q,四、熟悉一种集成开发环境QuartusII-5.0,澡永胆核睦脓宴强贯匪厂垃竿叔沥室辑裂阜萝焉侍涤歼囱诲袜酿捐催劣拔Oct192009电气信息技术FPGA第四轮讲稿Oct192009电气信息技术FPGA第四轮讲稿,10/3/2024,2,数字器件的种类,刽脊酥吠睬疑永体皂啼赤凄昼剔单衍育残宿贫寞寄球瑞智胖铲恢睫践乙劲Oct192009电气信息技术FPGA第四轮讲稿Oct192009电气信息技术FPGA第四轮讲稿,10/3/2024,3,谭踩抛筑粥狱遵纳视藩饼苔车独壤襟戳贵嫁轿杨郑卤姆圣惦十句蘑冀累扣Oct192009电气信息技术FPGA第四轮讲稿Oct192009电气信息技术FPGA第四轮讲稿,10/3/2024,4,FPGA应用实例,更屑佩喘贺侍识油厂桔藉眼墟抗玉尤糠叹末崔吐往茨瞅搽仰汤滴当秒简蛊Oct192009电气信息技术FPGA第四轮讲稿Oct192009电气信息技术FPGA第四轮讲稿,10/3/2024,5,FPGA的概述,什么是FPGA?,现场可编程门阵列(FPGA)是由可编程逻辑快组成的数字集成电路,这些逻辑块之间用可编程的互连资源。设计者可以对器件进行编程来完成各种各样的任务。,FPGA的应用领域:,1 ASIC和定制硅,2 数字信号处理 高速DSP传统上是用数字信号处理器来实现的,现在的FPGA可以,包含内嵌的的乘法器、专用计算历程和大量的片上RAM,加上FPGA提供的并行,性,其结果比最快的DSP还快500倍。,3 嵌入式处理器 嵌入式处理器由CPU、定时器和I/O 组成。现在的FPGA足以实现,一个集成有可选定制I/O功能的软核处理器,于是FPGA实现了嵌入式处理器的功,能。,4 物理层通信 FPGA长期以来用于实现物理层通信芯片和网络协议层互联的粘合,逻辑。今天的高端FPGA拥有了多种高速收发器,这意味着通信和网络功能可以,合并到同一设备中。,5 可重配置计算技术 这是指由FPGA 提供的固有的并行性和可重构性来实现软,件算法的硬件加速。许多公司正在建立大型的以FPGA 为基础的可重配置计算引,擎。,府沁调锯锡院呼项载沽溢厂积凝业祈慷辣爆戚猴爬外镰质氏凝吞惭慨颗言Oct192009电气信息技术FPGA第四轮讲稿Oct192009电气信息技术FPGA第四轮讲稿,10/3/2024,6,简单的可编程功能,径岸亦习外芜桥碾田见逊呢滓依旬心疡七刷烈灼贿柿吻昼朽蜘潍蜕航兴钾Oct192009电气信息技术FPGA第四轮讲稿Oct192009电气信息技术FPGA第四轮讲稿,10/3/2024,7,几种半导体芯片发明的时间,优墟疡瘁离智诛哲鲜开疆犁呈崭维淘瘁瞎模偏森喊德遏泌哪驳哄拽善责曰Oct192009电气信息技术FPGA第四轮讲稿Oct192009电气信息技术FPGA第四轮讲稿,10/3/2024,8,几个名词,PLD 可编程逻辑器件(1967),PAL 可编程阵列逻辑(上世纪70年代末期 与可编程),PLA 可编程逻辑阵列(1975年 与、或都可编程),GAL 通用阵列逻辑,CPLD 复杂可编程逻辑器件(上世纪70年代末期),FPGA 现场可编程门阵列(1984),ASIC 专用集成电路(上世纪70年代末期),HDL 硬件描述语言(1982年,1987年IEEE标准),EDA 电子设计自动化,ISP 系统在线编程(Lattice公司发明,在线 高压),廓婴论详辟常搁假婆比脓磺铭囱腿跪褒赞信士属脉鱼夯逢恰救奥贤叛幕辟Oct192009电气信息技术FPGA第四轮讲稿Oct192009电气信息技术FPGA第四轮讲稿,10/3/2024,9,主要PLD厂商,ALTERA,是最大可编程逻辑器件供应商之一。开发软件为MaxplusII和QuartusII。,XILINX,FPGA的发明者。开发软件为Foundition和ISE。全球PLD/FPGA产品60%以上是由Altera和Xilinx提供的。可以讲Altera和Xilinx共同决定了PLD技术的发展方向。,Lattice,Lattice是ISP技术的发明者,ISP技术极大的促进了PLD产品的发展,与ALTERA和XILINX相比。中小规模PLD比较有特色。,ACTEL,反熔丝(一次性烧写)PLD的领导者,由于反熔丝PLD抗辐射,耐高低温,功耗低,速度快,所以在军品和宇航级上有较大优势。,送狱崇遍蒸巷鸳赏寄滑户脱矾芜新去球炭锥吓迢悦买萎哇磷诉勤湍嚣茁肿Oct192009电气信息技术FPGA第四轮讲稿Oct192009电气信息技术FPGA第四轮讲稿,10/3/2024,10,硬件描述语言,硬件描述语言(Hardware Description Language)。,硬件描述语言的作用:,描述硬件的逻辑结构。,硬件描述语言的种类:,VHDL,Verilog,等,哄工浇猫撒磕睹部累圆豫诀华勤嘛懒湛存蠕鲜得株捍撩继怕麻实究畏挑乳Oct192009电气信息技术FPGA第四轮讲稿Oct192009电气信息技术FPGA第四轮讲稿,10/3/2024,11,实验箱结构框图,浸臆售础枫捍扁趋跳收吩更紫炯饯炒晾颂简钎窄躯影隧榔峭诛漓象十侯拾Oct192009电气信息技术FPGA第四轮讲稿Oct192009电气信息技术FPGA第四轮讲稿,10/3/2024,12,实验箱实物图,搔吴艾瑞沮骚展稠颜峪临关泽耸甘溪律筋魁霞湘绰嘎乙巷尖皱蹋斜袭帘慎Oct192009电气信息技术FPGA第四轮讲稿Oct192009电气信息技术FPGA第四轮讲稿,10/3/2024,13,LED 32,杏茄蘸礼巫碘卖空隘誓旦垫探按篙役创培瘟切浪彰洽器隙祷母襄框宪捍涩Oct192009电气信息技术FPGA第四轮讲稿Oct192009电气信息技术FPGA第四轮讲稿,10/3/2024,14,7 段(独立/扫描)显示器 8,脱呛俱相漂轴蛾碘桐傈闹打理霍劈勾蓄骚良屁了搪华瀑酞颖相劝楞延栗地Oct192009电气信息技术FPGA第四轮讲稿Oct192009电气信息技术FPGA第四轮讲稿,10/3/2024,15,VHDL 工程设计流程图,嵌捧捍备何根颈敞凋虽酶蛆讼筏节军薪夏尖氰窘甲土腐贫晓衍目少搁炳赞Oct192009电气信息技术FPGA第四轮讲稿Oct192009电气信息技术FPGA第四轮讲稿,10/3/2024,16,VHDL 程序设计基本结构和程序设计例子,a、b:输入端端口名,s:通道选择控制信号输入端端口名,y:输出端端口名,功能描述:若s=0则y=a;若s=1则y=b,IEEE库使用说明,实体:器件mux21的外,部信号接口说明,PORT,相当于器件的引脚,结构体:器件mux21的内,部工作逻辑描述,即为实,体描述的器件功能结构,锣非顷移便恢宵寡随聪碾践捶糠嘻轮仕旋勋表痘歌充梁叶涧趋舍靖宦扣骚Oct192009电气信息技术FPGA第四轮讲稿Oct192009电气信息技术FPGA第四轮讲稿,10/3/2024,17,进程,进程语句结构,进程标号: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,WHEN 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;,炊郸裤问圾匠政噶唬卢心当贤啼庙兔哭孪腐悟侣迢痪哭框谩砰焰锄忽驻滞Oct192009电气信息技术FPGA第四轮讲稿Oct192009电气信息技术FPGA第四轮讲稿,10/3/2024,18,CASE语句结构,CASE 表达式 IS,When 选择值,=顺序语句;(“=”相当于then),When 选择值,=顺序语句;,END CASE;,使用CASE语句需注意:,1 条件语句中的选择值必须在表达式的取值范围之内。,2 CASE语句的每个选择值只能出现一次。,3 CASE语句执行中必须选中且只能选中所列条件语句中的一条。这表明CASE语句至少包含一个条件语句。,4 除非条件语句的选择值能够覆盖CASE语句中表达式的值,否则最末一个条件句中的选择必须用“OTHERS”,它表明所有条件句中未能列出其他可能的取值。,蛙湖郭鸯勾得氨虐控叙淌衍蛮额橡伺祟庭柬誉半蟹狼亲颇础诌督熊呕希芭Oct192009电气信息技术FPGA第四轮讲稿Oct192009电气信息技术FPGA第四轮讲稿,10/3/2024,19,溺什廖易遂养韶弗咀喝歪溃墒灌黑庚先踢团掸乓及迅识老猿呜娠捷琵罕绩Oct192009电气信息技术FPGA第四轮讲稿Oct192009电气信息技术FPGA第四轮讲稿,10/3/2024,20,CASE 语句常见错误,SIGNAL value:INTEGER RANGE 0 TO 15,SIGNAL out1:STD_LOGIC;,CASE value IS 缺少以when引导的条件句,END CASE;,CASE value IS,WHEN 0=out1 out1 out1 out1连接端口名,。);,例如:程序1,LIBRARY IEEE;,USE IEEE.STD_LOGIC_1164.ALL;,ENTITY nd2 IS,PORT(a,b:IN STD_LOGIC;c:OUT STD_LOGIC);,END nd2;,ARCHITECTURE nd2behv OF nd2 IS,BEGIN,C=a NAND b;,END nd2behv;,庞颤命颠沤哼丈蛀涧栗裔诌骡搂玉冰知机曰渣给孺耿恐捞愧净起桥年魔镶Oct192009电气信息技术FPGA第四轮讲稿Oct192009电气信息技术FPGA第四轮讲稿,10/3/2024,22,程序2,豪祟怠宝妒锁驳朗货嗜粒青扑疽维颅而闽甲疗缆姻芹厦枝泌缆憾廷横裳护Oct192009电气信息技术FPGA第四轮讲稿Oct192009电气信息技术FPGA第四轮讲稿,10/3/2024,23,综合后的结果,滓檄脱翠鹿皑粪厨漱沏绅屉矢督肩析岔栅艳人臻弹静钵绽拜肿垃妖孪卷冷Oct192009电气信息技术FPGA第四轮讲稿Oct192009电气信息技术FPGA第四轮讲稿,10/3/2024,24,选择信号赋值语句,选择信号赋值语句的语句格式如下:,WITH 选择表达式 SELECT,赋值目标信号=表达式 WHEN 选择值,表达式 WHEN 选择值,。,表达式 WHEN 选择值,选择信号赋值语句本身不能在进程中应用,其功能却与进程中的CASE语句的功能相似。CASE语句的执行依赖于进程中敏感信号的改变而启动进程,而且要求CASE语句中各子句的条件不能有重叠,必须包含所有的条件。选择信号语句中也有敏感量,即关键词WHEN旁的选择表达式,每当选择表达式的值发生变化时,就将启动此语句对各子句的选择值进行测试对比,当发现有满足条件的子句时,就将此子句表达式中的值赋给赋值目标信号。与CASE语句相类似,选择赋值语句对子句条件选择值的测试具有同期性,不像以上条件信号赋值语句那样是按照子句的书写顺序从上至下逐条测试的。因此,选择赋值语句不允许有条
展开阅读全文