首页资源分类其它科学普及 > VHDL语言在FPGA中的应用_齐京礼

VHDL语言在FPGA中的应用_齐京礼

已有 445110个资源

下载专区

上传者其他资源

    文档信息举报收藏

    标    签:VHDL语言在FPGA中的应用_齐京礼

    分    享:

    文档简介

    VHDL语言在FPGA中的应用_齐京礼

    文档预览

    您的论文得到两院院士关注 文章编号:1008- 0570(2006)12- 2- 0149- 03 P LD CP LD FP GA 应 用 VHDL 语言在 FPGA 中的应用 Ap p lica tio n o f VHDL La n g u a g e in FPGA De ve lo p m e n t (1.军械工程学院训练部 2.河北制药)齐 京 礼 1 宋 毅 芳 2 陈 建 泗 1 QI JINGLI SONG YIFANG CHEN JIANSI 摘要:本 文 讨 论 了 用 VHDL 语 言 进 行 FPGA 设 计 的 方 法 ,简 单 介 绍 了 VHDL 语 言 的 基 本 概 念 以 及 FPAG 的 设 计 流 程 , 并 举 例 说 明 了 如 何 编 写 可 综 合 的 VHDL 代 码 ,使 用 Altera 公 司 的 MAX+PLUSII10.2 开 发 软 件 进 行 功 能 仿 真 并 给 出 仿 真 波 形 。 关 键 词 : F P G A; VH DL ; M AX+P L US2 中图分类号:TP312 文献标识码:A Abstr act:Ihe design method of FPGA based on VHDL is discussed in this paper. The basic concept of VHDL and the process of VHDL design are given. An example is also given to explain how to compile the synthetic RTL VHDL code1.At last, using MAX+ PLUS2,the flow char is given and the simulation result is attached. Keywor d:FPGA,VHDL,MAX+PLUS2 技 1 引言 随着微电子设计技术与工艺的发展, 数字集成电 路 从 电 子 管 、晶 体 管 、中 小 规 模 集 成 电 路 、超 大 规 模 集 成电路( VLSIC) 逐步发 展到今天的 专用集成电 路( A- SIC) 。ASIC 的出现降低了产品的生产成本, 提高了系 统的可靠性, 缩小了设计的去留尺寸, 推动了社会的 数字化进程。但是 ASIC 因其设计周期长, 改版投资大, 灵活性差等缺陷制约着它的应用范围。硬件工程师希 望有一种更灵活的设计方法, 根据需要, 在实验室就能 设计、更改大规模数字逻辑, 研制自己的 ASIC 并马上 投入使用, 这是提出可编程逻辑器件的基本思想。 目前常用的可编程逻辑器件主要有简单的逻辑 阵列( PAL/GAL) 、复杂可编程逻辑器件( CPLD) 和现场 可编程逻辑阵列( FPGA) 等 3 大类。 与 输 入 、功 能 仿 真 、综 合 等 。 下 面 作 简 单 介 绍 。 术 ( 1) 电路的设计与输入 创 电 路 设 计 与 输 入 是 指 通 过 某 些 规 范 的 描 述 方 式 , 将工程师电路构思输入给 EDA 工具。最常用的设计方 新 法 是 HDL 设 计 输 入 法 , 比 较 流 行 的 HDL 主 要 有 VHDL、ABEL- HDL、AHDL 等,其中,VHDL 对系统的行 为描述 能力最强,已 被 IEEE 确 定 为 标 准 HDL,并 得 到 目前所有流行 EDA 软件的支持,进而成为系统设计领 域最佳的硬件描述语言。用 VHDL 设计电路系统,可以 把任何复杂的电路系统视为一个模块, 对应一个设计 实体。在 VHDL 层次化设计中,它所设计的模块既可以 是顶层实体,又可以是较低层实体,但对不同层次模块 应 选 择 不 同 的 描 述 方 法(如 行 为 描 述 或 结 构 描 述)。 2 VHDL 语言介绍 VHDL 是用来描述从抽象到具体硬件级别的工业 标 准 语 言,并 已 成 为 一 种 通 用 的 硬 件 设 计 交 换 媒 介 。计 算 机 辅 助 工 程 软 件 的 供 应 商 已 把 VHDL 作 为 其 CAD 或 EDA 软 件 输 入 与 输 出 的 标 准 , 例 如 SYNOPSYS、 ALTERA、CA- DENCE、VIEWLOGIC 等 EDA 厂商 均 提 供了 VHDL 的编译器,并在其仿真工具、综合工具和布 图工具中提供了对 VHDL 的支持。VHDL 的设计流程, 如图( 1) 所示。 3 基于 VHDL 综合的 FPGA 设计流程 一般来说, 完整的 FPGA 设计流程包括电路设计 齐京礼:讲师 国家自然科学基金项目资助 项目批准号: 60472009 (1) ( 2) 功能仿真 电路设计完成后, 要用专用的仿真工具对设计尽 行功能仿真, 验证电路功能是否符合设计要求。功能 仿真有时也称为前仿真。本文中主要采用 ALTERA 公 司的 MAX+PLUS2 进行仿真。 《 P LC 技术应用 200 例》 邮局订阅号: 82-946 360 元 / 年 -149- P LD CP LD FP GA 应 用 中 文 核 心 期 刊《 微 计 算 机 信 息 》( 嵌 入 式 与 SOC)2006 年 第 22 卷 第 12-2 期 ( 3) 综合优化 综 合 优 化 ( Synthesize) 是 指 将 HDL 语 言 、原 理 图 等 设 计 输 入 翻 译 成 由 与 、或 、非 门 , RAM, 触 发 器 等 基 本逻辑单元组成的逻辑连接( 网表) , 并根据目标与要 求优化所生成的逻辑连接, 输出 edf 和 edn 等标准格 式的网表文件, 供 PFGA 厂家的布局布线器进行实现。 ( 4) 综合后仿真 综合完成后需要检查综合结果是否与原设计一 致, 做综合后仿真。 ( 5) 实现与布局布线 FPGA 的结构相对复杂, 为了获得更好的实现结 果, 特别是保证能够满足设计的时序条件, 一般采用 时序驱动的引擎进行布局布线, 所以对于不同的设计 输入, 特别是不同的时序约束, 获得的布局布线一般 有较大差异。 ( 6) 时序仿真与验证 将布局布线的时延信息反标注导设计网表中, 技 所进行的仿真就叫时序仿真或布局布线后仿真, 简 称后仿真。 术 ( 7) 板级仿真与验证 在有些高速设计情况下还需要使用第三方的板 创 级验证工具进行仿真与验证。 新 ( 8) 调试与加载配置 设计开发的最后步骤就是在线调试或者将生成 的 配 置 文 件 写 入 芯 片 中 进 行 测 试 。示 波 器 和 逻 辑 分 析 仪是逻辑设计的主要调试工具。 4 设计实例 上 面 介 绍 了 VHDL 语 言 的 基 本 概 念 和 FPGA 的 典 型 设 计 流 程,下 面 举 一 个 例 子 加 以 说 明 。这 是 一 个 八 位比较器的设计。此八位比较器是由两个四位比较器 级联而成的。主要功能是对输入的两个八位数进行比 较, 输出相等、大于、小于三个结果。 四位比较器的源程序: LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; USE IEEE.STD_LOGIC_UNSIGNED.ALL; ENTITY COMPARE4 IS — ——四位比较器 PORT (IA_MORE_THAN_B:IN STD_LOGIC; — — — 高 位 比 较 的 标 志 位 的 输 入 IB_MORE_THAN_A:IN STD_LOGIC; IA_EQUAL_B:IN STD_LOGIC; A:IN STD_LOGIC_VECTOR (3 DOWNTO 0);— —— 两个输入 B:IN STD_LOGIC_VECTOR(3 DOWNTO 0); OA_MORE_THAN_B:OUT STD_LOGIC; OB_MORE_THAN_A:OUT STD_LOGIC; OA_EQUAL_B:OUT STD_LOGIC); END COMPARE4; ARCHITECTURE BEHAV OF COMPARE4 IS BEGIN PROCESS(IB_MORE_THAN_A, IA_EQUAL_B,I- A_EQUAL_B) BEGIN IF(IA_EQUAL_B=' 1' )THEN — ——从最高位 比较, 如果高 位大则停止 比较输出 结果, 否则进行下一位比较 IF(A(3)>B(3))THEN OA_MORE_THAN_B<=' 1' ; OB_MORE_THAN_A<=' 0' ;OA_EQUAL_B<=' 0' ; ELSIF(A(3)<B(3))THEN OA_MORE_THAN_B<=' 0' ; OB_MORE_THAN_A<=' 1' ;OA_EQUAL_B<=' 0' ; ELSIF(A(2)>B(2))THEN OA_MORE_THAN_B<=' 1' ;OB_MORE_THAN_A<= ' 0' ;OA_EQUAL_B<=' 0' ; ELSIF(A(2)<B(2))THEN OA_MORE_THAN_B<=' 0' ; OB_MORE_THAN_A<=' 1' ;OA_EQUAL_B<=' 0' ; ELSIF(A(1)>B(1))THEN OA_MORE_THAN_B<=' 1' ; OB_MORE_THAN_A<=' 0' ;OA_EQUAL_B<=' 0' ; ELSIF(A(1)<B(1))THEN OA_MORE_THAN_B<=' 0' ;O B_MORE_THAN_A<=' 1' ;OA_EQUAL_B<=' 0' ; ELSIF(A(0)>B(0))THEN OA_MORE_THAN_B<=' 1' ; OB_MORE_THAN_A<=' 0' ;OA_EQUAL_B<=' 0' ; ELSIF(A(0)<B(0))THEN OA_MORE_THAN_B <= ' 0' ; OB_MORE_THAN_A<=' 1' ;OA_EQUAL_B<=' 0' ; ELSE — ——如果输入中两个数相等的标志位为 0, 则表 明高位不相等, 停止比较, 输出结果。 OA_MORE_THAN_B<=' 0' ; OB_MORE_THAN_A<=' 0' ;OA_EQUAL_B<=' 1' ; END IF; ELSE OA_MORE_THAN_B <=IA_MORE_THAN_B; OB_MORE_THAN_A<=IB_MORE_THAN_A; OA_EQUAL_B<=IA_EQUAL_B; END IF; END PROCESS; END BEHAV; 八位比较器: 由两个 4 位比较器原则上可以级联成 -150- 360元 / 年 邮局订阅号: 82-946 《 现场总线技术应用 200 例》 您的论文得到两院院士关注 任意位的比较器, 下面是级联成八位比较器的源程序。 LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; USE IEEE.STD_LOGIC_UNSIGNED.ALL; ENTITY COMPARE8 IS PORT(IA_MORE_THAN_B:IN STD_LOGIC; IB_MORE_THAN_A:IN STD_LOGIC; IA_EQUAL_B:IN STD_LOGIC; A:IN STD_LOGIC_VECTOR(7 DOWNTO 0); B:IN STD_LOGIC_VECTOR(7 DOWNTO 0); OA_MORE_THAN_B:OUT STD_LOGIC; OB_MORE_THAN_A:OUT STD_LOGIC; OA_EQUAL_B:OUT STD_LOGIC); END COMPARE8; ARCHITECTURE BEHAV OF COMPARE8 IS COMPONENT COMPARE4 PORT(IA_MORE_THAN_B:IN STD_LOGIC; IB_MORE_THAN_A:IN STD_LOGIC; IA_EQUAL_B:IN STD_LOGIC; A:IN STD_LOGIC_VECTOR(3 DOWNTO 0); B:IN STD_LOGIC_VECTOR(3 DOWNTO 0); OA_MORE_THAN_B:OUT STD_LOGIC; OB_MORE_THAN_A:OUT STD_LOGIC; OA_EQUAL_B:OUT STD_LOGIC); END COMPONENT; signal carry_out1,carry_out2,carry_out3:std_logic; BEGIN — — — 第 一 个 四 位 比 较 器 U1:COMPARE4 PORT MAP (IA_MORE_THAN_B=>IA_MORE_THAN_B, IB_MORE_THAN_A=>IB_MORE_THAN_A,IA_ EQUAL_B=>IA_EQUAL_B, A=>A(7 DOWNTO 4),B=>B(7 DOWNTO 4), OA_MORE_THAN_B=>CARRY_OUT1, OB_MORE_THAN_A=>CARRY_OUT2,OA_ EQUAL_B=>CARRY_OUT3); — — — 第 二 个 四 位 比 较 器 U2:COMPARE4 PORT MAP (IA_MORE_THAN_B=>CARRY_OUT1, IB_MORE_THAN_A=>CARRY_OUT2,IA_ EQUAL_B=>CARRY_OUT3, A=>A(3 DOWNTO 0),B=>B(3 DOWNTO 0), OA_MORE_THAN_B=>OA_MORE_THAN_B, OB_MORE_THAN_A=>OB_MORE_THAN_A, OA_EQUAL_B=>OA_EQUAL_B); END BEHAV; 5 MAX+PLUS2 仿真 P LD CP LD FP GA 应 用 采 用 ALTERA 公 司 的 MAX+PLUS2 对 除 法 器 进 行仿真, 图( 2) 为仿真波形图。 图(2) 6 结论 FPGA 芯片的使用可以有效地缩短系统的开发周 期, 降低系统成本。面向对象的 VHDL 可提高设计者 实现更复杂、更大规模的元件的重用。但 要注意必须 对 VHDL 设计进行优化, 这对系统实现有很大影响。 技 本文的创新点是: 设计了可以级联成任何位比较器的 四位比较器, 并利用八位比较器的设计例子介绍了 FPGA 的设计流程。 术 参考文献: 创 [1]刘朝霞.基于 VHDL 的 FPGA 器件设计[J].微计算机信息,1998, 6:80- 83. 新 [2]陈耀和. VHDL 语言设计技术[M].北京:电子工业出版社,2004. [3]冯涛,王程.可编程逻辑器件开发技术—MAX+PLUS2 入门与 提高[M].北京:人民邮电出版社,2002. [4]王诚,吴继华,范丽珍等.Altera FPGA/CPLD 设计[M]. 北京:人 民邮电出版社,2005. 作 者 简 介 : 齐 京 礼 , 男 , 研 究 生 , 讲 师 ,E - MAIL:zmf3 - 403@163.com。 Biogr aphy:Qi Jingli,Male,Master,Instructor. (050003 石家庄市军械工程学院训练部)齐京礼 陈建泗 (050003 石家庄市河北制药)宋毅芳 (Tr ainning Depar tment,Or dance Engineer ing College)Qi J ingli Chen J iansi (Hebei Phar macy,Shijiazhuang,Hebei 050003)Song Yifang 通讯地址:(050003 石家庄市军械工程学院教保处) 陈建泗 (收 稿 日 期:2006.6.27)(修 稿 日 期:2006.7.25) (上接第 201 页) (210009 南京工业大学)孙敬 张九根 (210007 空军 94608 部队 59 分队)曹建培 (Nanjing Univer sity of Technology, Nanjing 210009) Sun J ing Zhang J iugen (PLA Air For ce 94608 ar my 59th unit 210007)Cao J ianpei 通讯地址:(210009 南京工业大学 202 信箱)孙 敬 (收 稿 日 期:2006.1.22)(修 稿 日 期:2006.2.20) 《 P LC 技术应用 200 例》 邮局订阅号: 82-946 360 元 / 年 -151-

    Top_arrow
    回到顶部
    EEWORLD下载中心所有资源均来自网友分享,如有侵权,请发送举报邮件到客服邮箱bbs_service@eeworld.com.cn 或通过站内短信息或QQ:273568022联系管理员 高进,我们会尽快处理。