基于fpga的数字电压表的设计与实现(编辑修改稿)内容摘要:

构功能十分强大 , 复杂的逻辑控制可以用最简单明确的语言来描述。 ② 独立于 任何 器件的设计:设计人员 使用 VHDL 语言进行硬件电路的设计时, 可以脱离此项设计的逻辑器件来进行设计。 这样,设计人员就 能花费大量的时间与精力来进行设计的构思。 ③ 可进行程序 的 移 植: VHDL 语言的移植能力是允许设计人员对需要综合设计描述 来 进行模拟,在综合前对一个数千门的设计描述进行模拟能省下很多的时间。 因为 VHDL 语言是一种标准化的硬件描述语言,因 而 同一个设计的 VHDL语言描述 能 被不同的 EDA 工具 所 支持,从而使得 VHDL 语言程序的移植成为可能。 ④ 性能评估能力:不依靠 器件的设计和可 以 进行程序移植 的特点 允许设计人员可以 使 用不同的器件结构和综合工具来对自己的设计进行 综合 评估。 ⑤ 易于ASIC 移植: VHDL 语言 高效率 的重要 表现 之一就是 假如 设计人员的设计是被综合到一个 CPLD 器件或 FPGA 器 件,那么就可以使设计的产品以最快的的速度上市。 当产品的数量达到 很大 的规模时,采用 VHDL 语言 可以 很容易地帮助设计人员实现转成 ASIC 的设计。 ⑥ VHDL 语言 具有 标准、规范,易于共享和复用 的特点 : VHDL 语言的语法 标准、规范且可读性非常强。 因为 VHDL 语言是一种IEEE 的工业标准硬件描述语言,具有严格的语法规范和统一的标准 的特点 , 所以 它可以使设计人员之间进行交流和共享 [14]。 设计中用到的语言结构 LIBRARY IEEE。 USE。 USE。 USE。 ENTITY 实体名 IS [PORT ( 端口表 )。 ] END ENTITY 实体名。 以本设计中的程序为例如 entity volmeter is port ( clk : in STD_lOGIC。 int : in STD_lOGIC。 天津科技大学 2020届 本科生 毕业论文 9 dati : in STD_lOGIC_VECTOR (7 downto 0)。 wr, rd, cs : out STD_lOGIC。 reset : in STD_lOGIC。 scan : out STD_lOGIC_VECTOR (2 downto 0)。 dato : out STD_lOGIC_VECTOR (7 downto 0))。 end volmeter。 ARCHITECTURE 结构体名 OF 实体名 IS [说明语句 ] BEGIN [功能描述语句 ] END ARCHITECTURE 结构体名。 PORT ( 端口名 : 端口模式 数据类型。 { 端口名 : 端口模式 数据类型 } )。 以本设计中 的 程序为例如 port ( clk : in STD_lOGIC。 int : in STD_lOGIC。 dati : in STD_lOGIC_VECTOR (7 downto 0)。 wr, rd, cs : out STD_lOGIC。 reset : in STD_lOGIC。 scan : out STD_lOGIC_VECTOR (2 downto 0)。 dato : out STD_lOGIC_VECTOR (7 downto 0))。 type state is (s0, s1, s2, s3)。 signal sta, led_sta :state。 单的赋值语句 赋值目标 = 表达式 如 scan=111 例化名 :元件名 PORT MAP( 端口名 = 连接端口名, ...) ; 如 u0: lpm_rom0 port map ( address=address_l, clock=qclk, q=data_l(15 downto 8)) 天津科技大学 2020届 本科生 毕业论文 10 COMPONENT 元件名 IS PORT (端口名表 ); END COMPONENT 元件名; 如 ponent lpm_rom0 port ( address :in std_logic_vector(5 downto 0)。 clock :in std_logic。 q :out std_logic_vector(7 downto 0) )。 end ponent。 进程语句结构 [进程标号 : ] PROCESS [ ( 敏感信号参数表 ) ] [IS] [进程说明部分 ] BEGIN 顺序描述语句 END PROCESS [进程标号 ]。 如 process(clk, clkcount) begin if clk39。 event and clk=39。 139。 then clkcount=clkcount+1。 end if。 qclk=clkcount(3)。 end process。 进程说明部分可以包含数据类型、常数、变量、属性、子程序 [15]。 在一个结构体中可以包含任意个进程语句结构,所有的进程语句都是并行语句,而由任一进程 PROCESS 引导的语句 (包含在其中的语句 )结构属于顺序语句。 进 程的特点 PROCESS 为一无限循环语句 ; PROCESS 中的顺序语句具有明显的顺序 /并行运行双重性 ; 进程必须由敏感信号的变化来启动 ; 进程语句本身是并行语句; 信号是多个进程间的通信线 ; 一个进程中只允许描述对应于一个时钟信号的同步时序逻辑; 语句 CASE 表达式 IS 天津科技大学 2020届 本科生 毕业论文 11 WHEN 选择值或标识符 = 顺序语句。 ...。 顺序语句 ; WHEN 选择值或标识符 = 顺序语句。 ...。 顺序语句 ; ... WHEN OTHERS = 顺序 语句。 END CASE ; 原则 : 完全性 :表达式所有可能的值都必须说明,可以用 others 唯一性 :相同表达式的值只能说明一次 如 case led_sta is when s0=scan=001。 hexd=39。 039。 amp。 voltage(3 downto 0)。 led_sta=s1。 when s1=scan=010。 hexd=39。 039。 amp。 voltage(7 downto 4)。 led_sta=s2。 when s2=scan=100。 hexd=39。 039。 amp。 voltage(11 downto 8)。 led_sta=s0。 when others=scan=000。 hexd=00000。 led_sta=s0。 end case。 语句 有四种形式 1) IF 条件句 THEN 顺序语句 END IF。 2) IF 条件句 THEN 顺序语句 ELSE 顺序语句 END IF。 3) IF 条件句 THEN 顺序语句 ELSIF 条件句 THEN 顺序语句 ELSE 顺序语句 END IF 4) IF 条件句 THEN IF 条件句 THEN 顺序语句 END IF END IF 天津科技大学 2020届 本科生 毕业论文 12 如 if clk39。 event and clk=39。 139。 then clkcount=clkcount+1。 end if。 表 22 信号与变量赋值语句功能的比较表 信号 SIGNAL 变量 VARIABLE 基本用法 用做电路内的信号连线 用作进 程中局部数据存储单元 适用范围 适用于整个结构体内的任何地方 只能在所定义的进程中使用 行为特性 在进程的最后才对信号赋值 立即赋值 定义信号 SIGNAL 信号名: 数据类型 := 初始值 ; 如 signal data: std_logic_vector(7 downto 0)。 天津科技大学 2020届 本科生 毕业论文 13 3 系统的硬件组成 EDA 技术概述 电子设计自动化 (Electronic Design Automation)也称之为 EDA。 因为 它是一门 才逐渐 发展起来的新 型 技术,涉及 方 面 非常 广 泛 ,内容 十分 丰富,理解 也有 所不同 ,所以 如今还没有 一个 准确 的定义。 但 是 从 EDA 技术的几个 重 要 方向 的内容来看,可以 这样 理解: EDA 技术的 设计载体 是大规模可编程逻辑器件 , 系统逻辑描述的 主要表达方式 是硬件描述语言 ,设计工具 是计算机大规模可编程逻辑器件的开发软件及实验开发系统 ,通过 相 关的开发软件,自动完成 采 用软件的方式设计电子系统到硬件系统的一门新技术。 同时能 实现逻辑编译、逻辑化简、逻辑分割、逻辑综合及优化,逻辑布局布线、逻辑仿真 等功能。 完成对于 一些特定目标芯片的适配编译、逻辑映射、编程下载 等操作 ,最终形成集成电子系统或专用集成芯片 [5]。 EDA 技术是 以 计算机、集成电路、电子系统的设计 为基础逐渐 发展起来的,到现在 已有 30 多年的历 史。 大 概 可以分为三个发展阶段。 1970 年 的 CAD(计算机辅助设计 )阶段:这一阶段的主要特征是利用计算机辅助 来 进行电路原理图 的编辑, 用 PCB 来 布 铜 布线, 这样就可以 使设计师从传统 的 高度重复繁杂的绘图劳动中解脱出来。 1980 年的 QAE(计算机辅助工程设计 )阶段:这一阶段的主要特 点 是核心 为逻辑摸拟、定时分析、故障仿真、自动布局布线 , 着重 解决电路设计的功能检测等 主要 问题,使设计能在产品制作之前预知产品的功能与性能。 1990 年 是 EDA(电子设计自动化 )阶段:这一阶段的主要 特点 是 高级描述语言,系统级仿真和综合技术 ,采用 “自顶向下 ”的设计理念,将设计前期的许多高层次设计由 EDA 工具来完成。 EDA 即为 电子技术设计自动化, 是一种可以帮助人们进行设计电子电路或是系统的软件工具。 在电子产品的各个设计阶段 该工具可以 发挥 非常 重要 的 作用,使设计更复杂的电路和系统 有了希望。 在原理图设计阶段,可以使用 EDA中的仿真工具 来 验 证设计的正确性;在芯片设计阶段,可以使用 EDA 中的芯片设计工具设计制作芯片的版图;在电路板设计阶段,可以使用 EDA 中电路板设计工具 设计多层电路板。 尤其 是支持硬件描述语言的 EDA 工具的出现,使 得 复杂数字系统设计自动化 也有可能实现 , 只要数字系统的行为用用硬件语言描述正确 ,就 能对 该数字系统的芯片 进行 设计与制造。 21 世纪将 会 是 EDA 技术的高速度的 发展 时 期, EDA 技术 也将 对 21 世纪产生重大 的 影响 [6]。 硬件描述语言 : 硬件描述语言 (HDL)是一种用于进行电子系统硬件设计的计算机高级语言,电子系统的逻辑功能、电路结构和连接形式 是通过软件设计的方法来描述的。 常用硬件描述语言有 HDL、 verilog 和 VHDL 语言。 天津科技大学 2020届 本科生 毕业论文 14 如今 EDA 技术 的 发展 十分 迅 猛 , 应用 相当 广泛 , EDA 的应用涵盖 机械、电子、通信、航空航天、化工、矿产、生物、医学、军事等各个领域。 当下 , EDA 技术 广泛使用 在产品设计与制造、教学和科研部门 , 且 发挥着 非常 大的作用。 在产品设计与制造方面 , EDA 技术可实现前期的计算机仿真、系统级模拟及测试环境的仿真、 PCB 的制作、电路板的焊接、 ASIC 的设计等。 在教学方面 , 高校电子类专业的实践教学中 , 几乎所有理工科 (尤其 是电子信息 )类的高 等院 校都开设了 EDA 相关的 课程。 其目的 主要是 为了可以让 学生 充分 了解 EDA 的 基础概念和基本原理 , 掌握描述系统逻辑的方法 , 进行电子电路课程 时可以使用凹ID/ 5PGA 器件进行 模拟仿真实验 , 并在作毕业设计时 进行 简单 易操作的 电子系统的设计 , 既使实验设备或设计出的电子系统具有 可靠性高、比较经济、速度快 , 实现比较容易 , 便利的修改条件, 同时 又可大 大 地增强学生的实践动手能力,发掘学生的 创新能力和 提高学生。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。