




已阅读5页,还剩52页未读, 继续免费阅读
(测试计量技术及仪器专业论文)xilinx+fpgacpld和vhdl语言应用研究.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
南京航空航天大学硕士学位论文 y3 2 1 9 0 0 摘要 f 当今数字系统设计领域中 f p g a 和v h d l 是研究热点之一 高密度现场可编 程门阵列f p g a 复杂可编程逻辑器件c p l d 和高效率硬件描述语言v h d l 的结合 使用 大大变革了电子系统的设计方法 加速了系统的设计进程 j 本文对x i l i n x 盟f p g a 和c p l d 技术进行介绍和探讨 文中详细介绍了的 s p a r t a nf p g a 并行配置器的工作原理和设计过程 本文还对y h d l 语言的应用进行 研究 讨论了适合于x i l i n x 公司p l d 的v h d l 设计流程和注意事项 并对如何应 用v h d l 语言设计控制状态机进行了详细讨论 在文中总结了一些应用v h d l 语言 进行硬件描述的技巧和注意点 最后介绍自行研制的面向教学 科研两个层次的 f p g a 和c p l d 硬件实验开发系统 关键词 e d a v r m bf p g ac p l d a s i c x i l i n x x j v a b s t r a c t i nt h ef i e l do f d i g i t a ls y s t e m t h ef p g a a n dv h d la r eo n eo ft h es t u d yh o t s p o t s h i g h d e n s i t yf p g a a n dc p l da n d h i g he f f e c t i v ev h d li m p r o v e t h ed e s i g n i n gm e t h o d so ft h e d i g i t a ls y s t e ma n dp r o c e s sg r e a t l y t h i st h e s i si n t r o d u c e st h e t e c h n o l o g y o fx i l i n xf p g aa n dc p l d a n dd e p i c t st h e o p e r a t i o n a lp r i n c i p l ea n dd e s i g n i n gp r o c e s so fs p a r t a nf p g a c o l l a t e r a lc o n f i g u r e rw h i c h u s e sx i l i n xc p l di nd e t a i l s n e x t t h i st h e s i s p r o p o s e sad e s i g n i n gp r o c e s ss u i t i n gf o r x i l i n xf p g a c p l da n dm a t t e r sn e e d i n ga t t e n t i o n i na d d i t i o n h o wt o d e s i g nf s m u s i n gv h d l i se x p a t i a t e d m o r e o v e r s o m es k i l l sa n dn o t i c e sa r es u m m a r i z e di nt h i st h e s i s a tl a s t t h i st h e s i sd e s c r i b e st h eh a r d w a r ed e v e l o p m e n ts y s t e m w h i c hi sd e s i g n e db ym e f o rt e a c h i n ga n ds c i e n t i f i cr e s e a r c h k e y w o r d e d a v h d lf p g ac p l da s i cx i l i n x 南京航空航天大学硕士学位论文 第一章绪论 本章简介 f p g a 和c p l d 及h d l 语言是一种新兴的技术 是目前数字系统设 计领域的研究热点之一 本章对f p g a 和c p l d 技术 它对数字系统设计的影响和 设计方法及其发展趋势作一简要的介绍 最后介绍了本课题的研究内容 进入二十世纪9 0 年代以后 e d a e e c t r o n i ed e s i g na u t o m a t i o n 电子系统设计自 动化 技术的发展给数字系统的设计带来了革命性的变化 基于芯片的设计方法正将 逐步成为今后电子系统设计方法的主流 e d a 技术的两大技术基础是大规模可编程逻辑器件p l d p r o g r a m m a b l el o g i c d e v i c e 和e d a 设计工具 当大规模逻辑器件f p g a f i e l dp r o g r a m m a b l eg a t ea r r a y 和c p l d c o m p l e xp r o g r a m m a b l el o g i cd e v i c e 的出现 并且有了相应的e d a 工具之 后 e d a 就走进了普通的实验室 从而实现了所谓基于芯片的设计方法 今天 随 着半导体工艺向深亚微米 o 3 5 u r n 以下 发展 大规模可编程逻辑器件的集成度越来 越高 现在已出现2 0 0 百万门的p l d 器件 软件与硬件的界限正在模糊 现在国外 的软 硬i p i n t e l e c t u a p r o p e r t y 知识产权 芯核产业正在迅猛发展 片上系统f s o c s y s t e m o n c h i p 设计方法正在成为国内外专家的研究热点 1 1 可编程逻辑器件对电子系统设计的影响 电子系统设计的变革是从二十世纪8 0 年代中期开始的 1 9 8 4 年x i l i n x 公司发 明了埋岂要麴堡 陈班 里磐垒 睫厦些塑工曩蓥互绩猩望捏器 蛔c p l d 这些器件 由于具有用户可编程的特性 使得电子系统设计工程师可以利用相应的c a d 软件 在办公室或实验室里设计出满足用户要求的a s i c a p p l i c a t i o ns p e c i f i ci n t e g r a t e d c i r c u i t 器件 因此构成了可编程集成电路这一类器件 采用可编程逻辑器件 p l d 对 于半导体制造厂家而言 可按照一定的规格以通用器件大量地生产 对于用户则可 按通用器件从市场上选购 再由用户自己通过编程实现a s i c 的要求 由于这种方 式对厂家和用户都带来方便而受欢迎 发展也就特别迅速 目前已经成为一个很重 要的实现a s i c 的手段 可编程a s i c 器件不仅使设计的电子产品达到小型化 集成化和高可靠性 而 且由于器件具有用户可编程特性 从而大大缩短了设计周期 减少了设计费用和降 低了设计风险 不仅如此 如果可编程a s i c 具有为设计者提供的在系统内再编程 或 再配置 的能力 即可编程a s i c 器件除了具有用户可编程的能力 还具有将器件插 x i l i n xf p g a c p l d 和v h d l 语言应h j 研究 在系统内或电路板上就能对其进行编程或再编程的能力 这就为设计者进行电子系 统设计和开发提供了可实现的最新手段 采用系统内可再编程的技术 使得系统内 硬件的功能可以象软件一样地通过编程来配置 从而可以方便灵活地进行在线开发 和更改 这种称为 软 硬件的全新的系统设计概念 使新一代的电子系统具有极 强的灵活性和适应性 它不仅使电子系统的设计和开发以及产品性能的改进和扩充 变得十分简易和方便 而且使电子系统具有多功能的适应能力 为实现多种复杂的 信号处理和信息加工提供新的思路和方法 提高可编程a s i c 的性能主要基于下面两方面 一方面是集成电路工艺水平的 不断提高 另一方面是器件本身的内部结构不断改进 工艺上采用亚微米技术和三 层以上金属布线以及器件结构本身的改进都使可编程a s i c 器件的密度和运行速度 有极大的提高 如出现了集成度达一百万门 现在两百万门的v i r t e x 器件已发布 的 x i l i n x 公司v i r t e x 系列f p g a 器件 采用o 2 2 u r nc m o s 工艺 5 层金属布线 支 持的最大时钟达2 0 0 m h z 从结构上看 下几代f p g a 在芯片内将包含内置的逻辑分析仪 支持d a 和 a d 采用片内锁相环 支持高速时钟的同时减少信号的畸变和实现时钟的复用 在提供更丰富的布线资源的同时 对逻辑和i o 功能块作进一步的简化 为满足用 户对不同规模r a m 的要求 在芯片内提供分布r a m 块r a m 和对芯片外d r a m 高速存取的接口 简化的逻辑功能块将包含独立的快速进位链 为实现有效的乘法 功能增加专门电路 可满足d s p 等应用的要求 逻辑功能块的局部布线和相互之间 的通用布线 提供虚拟诊断互连 可以精确地预测网线的延时 i o 功能块有快速的 i o 驱动 寄存输入和输出 三态使能控制等 以及可编程的扭曲率 上拉和输入延 时等控制的特性 此外 随芯片线宽的缩小 芯片工作电压相应降低 1 1 0 块必须具 有兼容几种电压标准的能力 内芯和1 7 0 使用不同的电压 在保证降低内部功耗的 同时能与3 3 v 和5 v 的器件连接 在编程技术方面 由于芯片上集成系统增加了对 多次编程器件的需求 许多厂家推出采用s r a m 作编程元件的f p g a x i l i n x 发明 的f p g a 一开始就采用基于s r a m 的查找表结构 即由s r a m 存储的数值控制器 件中可编程节点的通断来实现要求的功能 a c t e l 开始要推出的系统可编程门阵列 s p g a 没有使用其通常采用的反熔丝技术 面是采用s r a m 技术 c y p r e s s 也不采 用它的v i a l i n k 可编程反熔丝元件 也要推出基于s r a m 的f p g a 近几年国外的大学和研究机构积极丌展可再配置计算技术的研究 采用可配置 逻辑器件作为专门的可再配置协处理器 执行器件具有全部或部分再配置的能力 配置速度也大大提高 此外还有用户可存取的s r a m 和通用微处理器接口 使硬件 具有高速进行复杂算法的能力 还具有软件的灵活性 并以重复利用硬件来降低成 本 模糊了硬件与软件之间的界限 大多数早期的可配置计算技术集中在利用大的 f p g a 阵列实现相对复杂的算法 目前的应用趋向于较小规模的阵列 某些情况下 甚至是单片f p g a 这些应用包括语音识别和模糊逻辑控制 d s p 应用中的线性卷 南京航空航天大学硕士学位论文 积 高带宽的图象获取 实时机器视觉处理和神经网络加速等 可编程逻辑器件性能高度的集成和设计软件的迅速发展将促使数字系统朝着系 统集成化方向发展 1 2 系统集成芯片的设计要求 当可编程a s i c 器件的集成度达到近万门时 原来的采用原理图输入的设计方 法就显得过于繁琐 从而要求设计方法从原理图输入能向硬件描述语言 h d l h a r d w a r ed e s c r i p t i o nl a n g u a g e1 的设计和综合方法转变 至少是原理图输入和 h d l 输入两种方法的混合使用 为了缩短v l s i v e r yl a r g es c a l ei n t e g r a t i o n 的开发 周期 逻辑合成方式在九十年代初已成为设计标准 在以后的自顶向下的设计系统 中 以逻辑合成技术为主 增补了各种工具 使具有多功能的复杂v l s i 设计能够 用e d a 软件来实现 利用语言而无须画电路图的设计方式是通过高度抽象的语言来 描述系统的功能 这就需要e d a 软件具有相应的计算能力才能将语言描述的功能转 换为芯片上具体实现的功能 为了在一个芯片上实现系统集成的设计 能够在短时间内将包含数千万只晶体 管的单片集成方案开发出来 需要综合利用知识产权 i p 功能块进行v l s i 设计的方 法 所谓i p 功能块是以v h d l v h s i ch a r d w a ed e s c r i p t i o nl a n g u a g e 或其它h d l 等 语言描述的构成v l s i 中各种功能单元的软件群 i p 功能块是要提供中央处理器 c p u 数字信号处理器 d s p 外设互连接1 5 f p c i 和通用串行总线 u s b 等足够可 靠的功能块 供应商在提供i p 功能块时 已经排除了语言描述的冗余性 并且经过 验证 所以 系统设计者采用i p 功能块进行设计时 可以集中精力去解决系统的重 点课题 并用优化的i p 功能块合并到其定制的核心电路中来进行逻辑合成 如果在板级集成系统时是选择各个厂家的器件按印制板构成系统的话 那么在 芯片内集成系统是选择各个厂家的i p 功能块综合到芯片上构成系统 v l s i 的这种 设计方法也扩展和渗透到可编程a s i c 器件 许多a s i c 设计者常利用f p g a 作为产 品的样本 把大的i p 功能块划分到几个f p g a 来进行硬件仿真 设计软件的工作平台正从u n i x 的工作站转向w i n d o w s n t w i n d o w 9 5 1 9 8 的p c 机 我们使用的f p g ae x p r e s s 开发软件就是x i l i n x 与s y n o p s y s 共同投资开发基于 p c 机的x i l i n x f p g a 综合软件 它是先推出其p c 机版本 然后再移植到工作站的 1 3 设计方法的发展趋势 从二十世纪9 0 年代初期开始 伴随着万维网w w w w o r l dw i d ew e b 的发展 全世界正在进入互连匿 i n t e m e t 的时代 今后网上工程师将主要通过w w w 购买可 再利用的设计知识产权 i p 的产品 i n t e m e t 将越来越多地用于销售和分发各个厂家 x i l i n xf p g a c p l d 和v h d l 语言应用研究 有关核心库的各种信息 以提供设计工程师进行设计选择用 现在x i l i n x a l t e r a a c t e l 和l u c e n t 等公司都己在销售可再利用的核心库 有许多因素正在促使以i n t e m e t 为中心的电子设计环境加速地形成 随着完成一 项设计所需要的信息量和知识量的不断增加 i n t e r n e t 和i n t r a n e t 企业内部互连网 将 成为通信和传递信息的优选工具 基于i n t e r n e t 的设计环境所具有的灵活性和先进性 将极大地提高设计效率 这个设计环境中 设计工具 数据 信息和知识都是即插 即用的 并且完全和办公室自动化工具和通信工具集成在一起的 e d a 工具和知识 产权是作为基于标准的模块化产品提供的 它们专门解决特定的设计任务 设计工 程师可以在i n t e m e t 上选购这些产品 在全球范围获取几乎无限的信息资源 自由地 混合和搭配它们 建立更富仓q 造性 更高生产率的设计环境 现在x i l i n x 公司就率 先推出了一种基于w e b 的适配引擎 w e bf i t t e r 的服务 设计人员可以将一个复杂可 编程逻辑器件设计发送到它的一个w e b 站点 而针对该器件的优化布线的最终设计 将通过e m a i l 传送回来 1 4 本课题的研究内容 目前 我们国家复杂数字系统的设计才开始起步 在数模混合信号电路系统的 设计技术上还是空白 面临二十一世纪 中国的电子工业要赶上或接近世界先进水 平 新一代的电子设计师必须掌握这种全新的设计方法 因为a s i c 设计方法的革 命性改变将使我们能设计出性能价格比更高的专用集成电路 如果在设计方法上不 能很快地赶上 在竞争中被淘汰出局将是必然的 本课题的研究内容有以下两个 一 做一套面向教学和科研两个层次的f p g a 和c p l d 实验开发系统 该f p g a 和 c p l d 实验开发系统已用于教学实践 取得较好效果 二 探讨硬件描述语言v h d l 在可编程逻辑电路中的应用 并应用v h d l 语言进 行一个具体的设计 s p a r t a nf p g a 并行配置器的研制 从中探讨采用v h d l 语言进 行系统设计的方法和技巧 该设计利用x c 9 5 7 2c p l d 做了一个专用于s p a r t a nf p g a 并行配置的适配器 它可从并行8 位可擦除e p r o m 如2 7 2 5 6 2 7 5 1 2 中取数据 然后严格按照s p a r t a nf p g a 的配置时序产生配置时钟和串行数据 完成配置 解决 了s p a r t a n 系列f p g a 不能并行配置的问题 4 南京航空航天大学硕士学位论文 第二章 s p a r t a nf p g a 的配置时序 本章简介 s p a r t a n 系列f p g a 是x i l i l l 公司新近推出的产品 其特征是性价 比很高 1 万门的s p a n a i lf p g a 仅2 3 美金 是4 万门以下场合用f p g a 替代a s i c 的 最佳方案之一 它是x i l i 似的经典成熟产品x c 4 0 0 0 系列f p g a 的简装版 与x c 4 0 0 0 系列相比较 s p a r t a nf p g a 仅少了宽边译码器 少了并行和外设两种配置方式 只 提供串行配置方式 主串和从串 而且只提供4 万门以下的产品 由于s p a n a l l 的 性价比高 正越来越受到设计人员的欢迎 但是由于它只提供串行配置方式 使用 它时只能通过x i l i n x 公司提供的一次性可编程 o t p 的串行p r o m 来配置 这使得 调试开发s p a n a n 很不方便 开发成本也较高 本课题用c p l d 做了一个专用于 s p a n a nf p g a 并行配置的适配器 它可从8 位可擦除e p r o m 如2 7 2 5 6 2 7 5 1 2 1 取 数据 然后严格按照s p a n a l l 的配置时序产生配置时钟和串行数据 完成配置 本章主要介绍s p a n a n 系列f p g a 的配置模式和配置时序 2 1s p a r t a nf p g a 的配置模式 s p a 九a n 系列f p g a 器件 以下简称s p a r t a n 同x c 4 0 0 0 系列f p g a 一样也是以 c m o s 静态r a m 单元为基础构成的 详细结构图见附录3 因此必须在每次开机时 对芯片进行配景 s p a n a l l 是以x c 4 0 0 0 系列为基础 在配置方式上比x c 4 0 0 0 简化 了许多 配置模式线由x c 4 0 0 0 系列的3 根 变为s p a n a l l 的1 根m o d e 线 s p a n a l l 只有两种配置方案 主串模式 从串模式 这两种配置方式是通过s p a r t a n 器件的 m o d e 线为高电平或为低电平来选择 当m o d e l 时 为从串模式 当m o d e 0 时 为主串模式 当配置时 m o d e 引脚有一个弱的上拉电阻 因此当配置为从串模式时 可以 悬空m o d e 脚 如果要配置为主串模式时 推荐的下拉电阻为4 7 q 主串模式 在主串模式下 s p a n a n 用自身内部的振荡器产生配置时钟 c c l k 并用于驱动 可能存在的从器件和产生存放配置数据的p r o m 地址和读数据时序 这个配置时钟 可以通过综合软件来选择慢模式 i m h z 缺省的设置 或快模式 8 m h z 配置时钟容 许有一5 0 一 2 5 的误差 在主串模式下 引导器件输出c c l k 驱动 个x i l i n x 串行p r o m p r o m 把数 x i l i n xf p g a c p l d 和v i i d l 语言应用研究 据送到f p g a 的d i n 引脚 每个c c l k 输出的上升沿把p r o m 内部地址加一 使 p r o m 把下一个地址的数据放在f p g a 的d i n 引脚上 而f p o a 则在下一个c c l k 的上升沿读进该数据 当在菊花链编程时 主从模式的f p g a 是放在链头的主器件 我们称之为引导 f p g a 引导f p g a 把引导位和溢出数据送到d o u t 脚上 d o u t 的变化出现在c c l k 的下降沿上 而菊花链上的后面一个f p g a 则在紧接着的时钟的上升沿接收数据 配置时序见图2 1 图2 1s p a r t a nf p g a 主模式配置时序图 从串模式 在从串模式中 f p g a 的c c l k 由外部提供 在每个c c l k 的上升沿 串行的 d i n c c l k d o u t 字节n 字节n 1 i r c c i 1 tccl t d c c f 一 l t c c t t t c c o 字节n 一1 字节n 说明符号最小最大单位 c c d i n 建立时间 t l c c 0 d 珊保持时间 t c c d 0 到d o u tt c c a 3 8 时钟高 t c c i 4 5 时钟低t c c l4 5 姗z 频率f c c 图2 2 从串模式配置时序图 6 南京航空航天大学硕十学位论文 设置位流必须在d i n 引脚有一定的建立时间 引导f p g a 将引导位和它的溢出数据 从它的d o u t 脚送出 d o u t 脚在c c l k 下降沿改变输出 而菊花链上后一个f p g a 则在c c l k 的上升沿获得数据 也就是说其间有0 5 个c c l k 的延迟 图2 2 示出 了从串模式的配置时序要求 图2 3 示出了一个有主串和从串模式的电路图 其中 第一个器件是主串模式 第三 四个器件是从串模式 x c l 7 0 0 是0 t p 一次性可编 图2 3 主从串配置连接图 程 的串行p r o m 是配置数据源 2 2 数据格式 两种模式的数据流的格式是相同的 如表2 l 所示 设置数据流以一串1 开头 s e r i a tm o d e s d a t at y p e d o f i l ib v t e 1 1 1 1 1 1 1 1 b p r e a r n b l ec o d e0 0 1 0 b l e n g t hc o u n tc o u n t 2 3 0 f i l lb i t s 1 1 1 1 b f i e i dc b e c kc o d e s 随r tf i e l d0 b d a t af r a m e d a t a n 1 o c r co rc o n s t a n t x o 伐 c r c l f i e l dc h e c ko r o l l o b e x t e n dw r i t ec y c l e p o s t a m b l e 喇艇舒 褊骛i 瓣 s 瑚蚺蟪獬鲻襻溅秘燕鳓磷鞲黢辩耩 表2 1 配置数据流格式 以0 0 1 0 作为引导码 p r e a m b l ec o d e 引导码后 面是一个2 4 位的长度计数 l e n g t hc o u n t 和4 个1 组成的段分割符 f i l lb i t s 接着就是实际 的设置数据 设置数据的长度依器件的不同而 不同 数据分成一个个数据帧 每个帧内数 据以0 起始 以4 个错误检测位 c r cf i e l d c h e c k 结束 每个s p a r t a n 或x c 4 0 0 0 系列器 的执行软件有一个c r c 或n o n c r c 检验的选 项 在n o n c r c 选项下 每个数据帧以0 1 1 0 为尾 在c r c 选项下 则对每一帧进行c r c 计算 然后将四位检查结果写到帧的结尾 最 后以后缀码 p o s t a m b l e 结束以指明一个器件的 数据结束 在所有的情况下 都有额外的启动 数据位 s t a r t u pb e s 来提供配置结束后的启动时所需的四个 或更多 的时钟 当是 7 x i l i n xf p g a c p l d 和v h d l 语言应用研究 较长的菊花链时 可能需要更多的启动时钟以移动最后的数据到链的最后一个器件 用户不用关心启动位的个数 软件产生的比特流 b i t s t r e a m s 不包括该位 它应由下 载 d o w n l o a d 时一相应的下载软件自动产生 在配置过程中如果检测到错误 则将i n i t 脚下拉 不再继续接收数据 在主模 式中 c c l k 和地址信号在外部继续出现 用户必须检测i n i t 信号 通过触发 p r o g r a m 引脚或重置v c c 来使它重新设置 多个f p g a 器件可以通过将它们的 c c l k 并联起来并将每个器件的d o u t 引脚连到下一个器件的d i n 引脚构成所谓的 菊花链结构 这样就可以通过主f p g a 从同一个数据源里读取数据 数据头包括文 件计数长度 它被传递到每个f p g a 并被每个f p g a 所识别 只要出现0 0 1 0 信号 就被识别 在一个f p g a 接收到计数长度所指明的数据数目之前 d o u t 输出保持 为高 在一个f p g a 已经接收到它应有的设置数据后 就将多余的数据帧起始位和设 置数据送出它的d o u t 脚 当总的编程时钟数与2 4 位的计数相等时 所有的f p g a 器件就开始启动 一起工作 2 3 设置顺序 s p a r t a nf p g a 上电配置顺序时 有四个主要的步骤 清除设置存储器 初始化 配置 启动 清除设置存除器 图2 4 示出了f p g a 器件的启动顺序 当f p g a 器件上电或重新上电时 器件 内部电路强迫设置逻辑初始化 在v c c 电平达到一定电平后 内部电路对设置位进 行读写测试 然后是一个约为1 6 m s 的n g 当是主模式时 延迟时间是6 4 m s 以便 使所有的从器件达到一个固定的电平 这种方式便于将不同的器件混合在一个菊花 链中编程 这种延迟仅应用在上电时 当通过拉p r o g a r m 来重新配置 没有这 种延迟 在这个延迟期间内 只要p r o g r a m 被拉低 设置逻辑一直保持设置存 储器处于清除状态 设置数据被内部时钟顺序地清除 在存储器被清完之后 上电 等待电路和p r o g r a m 脚被检测 如果没有新的等待或p r o g r a m 出现 则再清 一次设置存储器 然后测试i n i t 脚 初始化 在初始化和设置期间 输出引脚h d c l d c 和i n i t 可以作为系统接口的状态 信号 在开始上电时 l d c i n i t 和d o n e 为低 h d c 则为高电平 在内部初始 化过程全部完成后 释放漏极开路的i n i t 线 在主模式中 经过大约4 0 u s 至1 6 0 u s 的延迟之后 内部逻辑才去测试i n i t 是否为高电平 在测到i n i t 为高后再经过两 南京航空航天大学硕士学位论文 个时钟周期 f p g a 采样模式线 以确定配置模式 然后 激活相应的接口线 设 置引导位和数据开始被装载 配置 0 0 1 0 引导码指示这下面的2 4 位数是长度计数 也就是装载所有配置数据所需 要的总的配置时钟 需要四个额外的配置时钟来完成配置进程 如前所述 一旦引 导码和计数长度被装入所有菊花链上的器件之后 d o u t 就被保持高电平 阻止其 后的数据进入从器件 在每个数据帧中 总有一个0 起始位 其后紧跟设置数据和 4 位的错误标志 如果某一帧的数据发生错误 则f p g a 就停止装载 然后i n i t 脚 变低 在主器件的数据全部装载以后 d o u t 引脚就与d i n 引脚输入数据一致 把 其余的数据装到从器件 启动 启动是指从设置过程向用户规定的工作方式的转换 也就是说 实现从一个时 钟源向另一个时钟源的转换和实现从设茕过程中高阻态引脚向用户设定的i o 方式 的转换 启动过程必须保证用户的逻辑 保证输出与设置信号不冲突 且要在适当 的时刻 将内部触发器从全局复位 或置位 释放出来 当配置过程中没有出现错误 在接收到后缀码后 d o n e 脚将变高 d o n e 脚的变高将触发内部逻辑按设定的起 动顺序启动 2 4 上电后如何延迟设置 在上电后 有两种方法可以推迟设置过程 使用一个集电极开路的驱动器把 p r o g a r m 输入拉低 或把双向引脚i n i t 拉低偿 见图2 4 当电源上升时间很长或无法估计时 一个基本方法是在p r o g r a m 引脚上加一 个低电平 只要p r o g r a m 为低 s p a r t a n 器件就保持在清除状态 当p r o g r a m 变高时 再清一次设置存储器 然后开始设置 这时i n i t 引脚的外部输入不允许为 低 如果p r o g a r m 的输入为低的话 1 n i t 输出被强制为低 在设置开始时 如果采用一个集电极开路或漏极开路的驱动器保持i n i t 为低 则f p g a 在清除完设置存储器之后处于等待状态 当i n i t 的外部输入不再为低时 器件开始采样模式线 开始进行设置处理 主模式器件一般要等待3 0 0 u s 以确保 所有在菊花链上的从器件都能采样到i n i t 变高的信号 9 x i l i n xf p g a c p l d 和v h d l 语言应用研究 主c c l k 有效 厶出 瓣粼穆 电n 多 厶障设i 存储又 f j 彝一次清除设置献 慵器 采样竺 童 c 一帧设置戢据 岁 圃 秽 懈i r 二d 移出数毒 i 惹j 潞 启动 副 图2 4 启动顺i 序图 枢 o 1 0 南京航空航天大学硕士学位论文 第三章 s p a r t a nf p g a 并行配置器的设计 本章简介 本章介绍s p a n a i lf p g a 并行配置器的结构和设计思想 重点介绍其 中的控制状态机的设计 3 1 并行配置器的设计思想 从第二章对s p a n 孤的配置时序分析可知 要使s p a r t a n 器件可以接收并行的数 据 必须做一适配器 它应该具有如下功能 具有并串转换的功能 应有移位寄存器的功能 能连续不断地将移位寄存器中的数据输出 应有1 6 位地址计数器 地址计数器的计时时钟周期应是移位寄存器的8 倍 具有控制时钟输出和输出个数的能力 以便严格遵循s p a n a n 的配置时序 设计的s p a r t a n 并行适配器的电路图简图如图3 1 所示 e r r o rm 岫t o rs u c c e s sm 岫t o r a 0 a 1 5 2 7 s 1 2 d 0 d 8 c eo e i h 2 a 0 a 1 5d a t a s p a r t a n c c l k f i t t e r i n l d 0 一d 7 s p n 口m d o h e d i n c c l k i n i t p r o 郾 r n 訾 鍪 并 一伽re量set制毒岫veprom 调试板 c l kl 叫c c 并行控制单元 嗣饥戗 图3 1s p a r t a nf p g a 配置器简图 工作原理是这样的 s p a r t a n 并行适配板包括控制单元 e p r o m 时钟振荡电 路 复位开关和两个l e d 显示器等几部分构成 适配板通过1 0 芯电缆与s p a r t a n 调 试板相连 当调试完毕后 可以拔去电缆 使两板脱离 配黄丌始时 将配置板与 调试板相连 加上电 按下配置板上的复位键r e s e t 这时控制单元 s p a r t a l lf i r e r 输 出到s d a n a l lf p g a 芯片p r o g a r m 引脚的信号sj r o g a r m 将拉低一段时间后抬高 由 前述的s p a r t a n 配置时序可知 当p r o g a r m 拉低时 s p a r t a l lf p g a 一直处于清存储 器的j 状态 且i n i t 引脚也一直处于低电平状态 在p r o g r a m 信号的上升沿 s p a n a n 将再清除一次配置存储器 并释放i n i t 线 使i n i t 线变为高电平 经过一段延时 1 l x i l i n xf p g a c p l d 和v h d l 语言应用研究 后 s p a r t a n 采样模式线 准备配置 在主模式下 延时增加到3 0 0 u s 控制单元 s p a r t a n f i t t e r 在s2 d r o g a r m 由低变高后 将等待 n i t 变高 如 n i t 为高 则再经过一段时 间的延时后 发出c c l k 与串行数据 进行配置过程 当配置结束时 s p a r t a n 的d o n e 信号将变为高电平 控制单元在接收到d o n e 为高后 再输出1 0 个附加配置c c l k 后 停止c c l k 和数据的输出 如在配置过程中出现错误 s p a r t a n 将拉低i n i t 控制单元在配置过程中接收到i n i t 为低时 将重新拉低sp r o g a r m 输出 重新开始 配置过程 如果三次配置不成功 则输出配罱出错标志 e r r o ri n d i c a t o r 如果配置 成功 则输出成功标志 s u c c e s si n d i c a t o r 3 2 控制单元 s p a r t a nf i t t e r 芯片设计 并行配置器共分为七个模块 键输入去抖电路 o s h a k e 使能触发器 f d e n 八分频器 d i v i d e r 8 延时电路 d e l a y 控制状态机 s t a t em a c h i n e 并串转换电路f pt os 和地址计数器 a d d r c o n t 各子模块之间的信号连接关系如图3 2 所示 1 键输入去抖电路 n o s h a k e 该子模块的输入是r e s e t 1 和r e s e t 2 两信号 输出信号是r e s e t 复位脉冲信号 输入的键是三位式带锁开关 如图3 3 所示 键去抖可以有两种方法 一种是采用 普通的两位式开关 即输入到电路信号只有一个端 另一端是接地或是接电源 在 南京航空航天大学硕士学位论文 电路中将采样键电平的时间控制好 如在键按下后 过了抖动时间后再采样 则可 以去抖 另一种方法是采用三位式开关 输入到电路的有两根信号线 第三根开关 公共线接地 在这儿采用第二种方法 因为如采用第一种方法 虽然可节省一根i o 口线 但是需要大量的计数器 因为电路的时钟是m h z 级 而键抖动是m s 级 故需要一个大计数器 2 使能触发器 f o r n 在前述的时序分析中可知 输出时钟是受控制的 只有满足一定的条件时才有 输出 使能触发 器是受状态机控 制的 只有当 f d e n 信号为高 时 c c l k 才有 输出 是c l k 输入时钟的2 分 频 使能触发器 有一个复位控制 图3 3 键输入去抖电路 端 r e s e t 当输入低有效时 即r e s e t 产生低电平时 使能触发器的输出c c l k 保持 高电平 这个措施保证了c c l k 输出的第一个时钟沿是下降沿 后面将详细讨论的 并串转换电路 p j o s 的有效时钟沿也是下降沿有效 这样c c l k 产生的第一个下 降沿 使p t o s 电路先移出首位数据 c c l k 紧接着的上升沿使s p a r t a n 将该首位 数据读入s p a r t a n 配置存储器 这样使d a t a 数据的建立时间有约1 2 个c c l k 时钟 周期 3 延时电路 d e l a y 从图2 4s p a r t a n 的配置过程中 可知当配置开始时 s p a r t a n 需要时间来清除配 置存储器及等待各潜在的从芯片初始化 本设计中 设立了一个延时约l m s 的延时 电路 它由计数使能端c o n t e n c o n t e n l 0 和复位端r e s e t 控制 当c o n t e n 为高时 延 时电路l m s 延时开始 计满后输出脉宽为一个时钟周期的d e l a y o v e r 信号 在配置过 程中当d o n e 变高后 配置器还需送出l o 个附加的c c l k 脉冲 这1 0 个脉冲的计 数也由延时电路 d e t a y 的计数器来完成 当c o n t e r t l 0 为高时 计数器计满十个脉冲 后由d e l a y l 0 输出一个脉冲 脉宽为一个时钟周期 当r e s e t 有效时 延时电路清零 4 八分频器 d i v i d e r 8 八分频器用来将c c l k 时钟八分频产生8 c c l k 信号 8 c c l k 信号作为地址 1 3 x i l i n xf p g a c p l d 和v h d l 语言应用研究 计数器 a d d o c o n t 的计数时钟 同时作为并串转换电路 p t o j 的l o a d 信号 8 c c l k 的脉宽是c c l k 的一个时钟周期 即在第八个c c l k 的上升沿 8 c c l k 变高 在第 九个c c l k 的上升沿 8 c c l k 变低 由于并串转换电路是在c c l k 的下降沿有效 这样能保证在每八个c c l k 的上升沿 地址计数器的地址加一 使d 0 7 总线上的 数据更新 在紧接着的下降沿出现一次l o a d 的高电平 p j o 电路将更新的数据 锁存入移位寄存器 同时将最低位移出 详细时序图参见图5 2 图5 3 图5 4 所 示 p 3 2 5 并串转换电路 p t o s 并串转换电n p t o s 用来将并行的8 位并行数据导入移位寄存器 并在时钟 c c l k 作用下 在每个时钟的下降沿移出一位数据 当l o a d 为高电平时 则在c c l k 的下降沿 将d 0 7 总线上的数据锁存入移位寄存器 同时也把该新数据的低位从 d a t a 端移出 6 地址计数器 a d d r e o n t 地址计数器主要产生外置e p r o m 的地址信号 当r e s e t 有效时 低有效 地址 计数器清零 按升序地址取数据 在每个时钟 8 c l k 的上升沿地址计数器地址加一 7 控制状态机 s t a t em a c h i n e 控制状态机是芯片的核心部分 它负责着整个配置器的时序控制 当接收到r e s e t 为低时 状态机将拉低s p r o g r a m 并启动延迟电路 输出c o n t e n 有效 高电平 当 延时到时 d e l a y o v e r 变为高 状态机将sp r o g r a m 释放 为高 然后等待i n i t 信号 当i n i t 为高时 状态机将再次启动延时电路 延时到后将输出时钟信号c c l k 和 串行数据信号d a t a 详细功能见下面的控制状态机设计 3 3 控制状态机设计 状态控制器的状态转移图如图3 4 所示 状态图说明 图中有六个输出口 f d e n 使能触发器的使能控制信号 d e l a y l m s 配置器输 出的s p r o g r a m 信号 c o m e n 延时计数器的计数使能 c o n t e n l 0 附加配置时钟配置 计数使能 s u c c e s s g d 置成功标志 e h d r i d 配置失败标志 有六个输入口 d e l a y l o o v e r 延时计数器己送出1 0 个附加配置时钟标志1 d o n e i n i t r e s e t c l k d e l a y o v e r 1 m s 延时到脉冲 定义了两个全局信号量 f l a g c o n t 和定义了一个局部变量 t e m p 在方框中的表达式是响应 这儿包括了三种响应 状态响应 转换响应 输 1 4 南京航空航天大学硕士学位论文 入响应 状态响应是现态变量的函数 当状态图转移到该状态时 就有相应的输出 适 合于描述 莫尔 型的状态机 在图中用从状态园圈右部拉出的方框来表示 如 状态s 1 中的 d e l a y l m s 1 输出 转换响应是输入与现态变量的函数 当输入 条件满足时且转移到该状态时 才有相应的输出 适合于描述 米勒 型的状态机 在图中用覆盖在转换箭头线上的方框来表示 如从状态s 5 转向s 2 箭头的 c o n t c o n t l 响应 图中还有输入响应 它也是一种转换响应 它也是输入与状态的函 数 图中用从状态园圈上部拉出的方框表示 如状态s l 中的 t e m p 1 响应 箭头上未加方框的表达式表示转换条件 图中三角形框表示系统的总复位信号 在任何时候 只要复位信号r e s e t 有 效 系统就转移到复位状态s l 用这种总复位信号表达方式可以避免在每个状态上 都拉出一个复位转移 状态图分析 s 1 态 s 1 态是复位态 当r e s e t 为有效低电平时 系统在s 1 复位态 在s 1 态 系统初始化 禁止延时计数器 c o n t e n c o n t e n l o 0 禁止使能触发器发出 c c l k f d e n o 清配置次数计数器 c o n t 0 清复位标志 f l a g 0 及初始化 标志输出 s u c c e s s 1 e r r o f i d 1 1 s 2 态 在s 2 态延时计数器l m s 延时开始进行 c o n t e n 为高有效电平 同时 d e l a y l m s 输出低电平 此时配置器输出的低电平 s p r o g r a m 信号 使s p a r t a n 器件 一直处于清除配置存储器状态 s 3 态 s 3 态时 s p r o g a r m 信号的i m s 延时到 等待i n i t 信号变高
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 软件设计师考试助攻2025年试题及答案
- 软件设计方法与过程的试题及答案探究
- 软考网络工程师成功笔记试题及答案
- 2025年医药电商平台医药电商药品销售渠道合规管理专家观点报告
- 医疗改革政策的伦理问题试题及答案
- 2025年儿童教育游戏化课程实施中的挑战与对策研究报告
- 2025年新能源储能技术资金申请可行性研究
- 西方制度与治理的创新实例试题及答案
- 未来公共治理的多元化策略试题及答案
- 公共政策中的公正与效率问题试题及答案
- 商业保险在风险管理中的应用
- 家庭法律顾问合同范本
- 备考2025年高考数学-名师导学-一轮总复习-参考答案
- 基于IPv6的校园网升级改造
- 新时代中小学教师职业行为十项准则课件
- 2024年四川省广元市中考英语试卷真题(含答案解析)
- DB3305╱T 114.4-2019 污水零直排区建设与管理规范 第4部分:其他区域
- 医院药房培训课件
- 对外投资合作国别(地区)指南 -津巴布韦-20250106-00613
- 建筑施工与组织 江苏开放大学考试资料
- iso28000-2022供应链安全管理手册程序文件表单一整套
评论
0/150
提交评论