⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 嵌入式系统及系统级可编程产品.txt

📁 嵌入式系统及系统级可编程产品
💻 TXT
📖 第 1 页 / 共 4 页
字号:
 ESP产品包含有三个最基本的功能模块,即嵌入式标准功能、通用可编程逻辑阵列和嵌入式存储器。ESP器件中嵌入式功能的典型实现方法是利用标准单元或全定制设计方案。与采用可编程逻辑门实现同样功能相比,这种方法具有较高的性能价格比,并能实现更多的功能。同时它们还能提供可编程逻辑阵列不可能实现的特殊模拟功能。使用嵌入式功能的更大好处是,ESP制造商已对它们的功能和时序进行了严格的测试,实际上已预先验证了最终设计的最基本部分。

6.2.2 设计灵活性问题
 虽然某些ESP器件的嵌入式功能具有一定程度的可定制性,但显然它们的灵活性没有通用可编程逻辑做得好。ESP器件是利用同一个器件上的通用可编程逻辑来弥补灵活性的欠缺。可编程逻辑使设计师在保留嵌入式功能的同时能完全定制部分设计。因而ESP器件具有性能优越、功能可靠、成本低和灵活可编程逻辑等特点。 

6.2.3 ESP器件的设计问题
 ESP器件的设计流程与高密度通用可编程逻辑器件(如大规模FPGA)的设计流程相类似,包括设计输入、功能仿真、逻辑综合、布局和布线、时序仿真和硬件验证。但在几个关键问题上仍有特别之处,Quicklogic公司的W. L. Lim在这方面的评述会有一些参考价值:
·模块化设计、层次化设计和设计复用有助于ASIC和FPGA设计者缓解大型设计的复杂性问题。基于ESP的设计也需要用到这些方法,因而ESP设计的第一步是将设计任务划分为若干个逻辑子功能。在层次化设计的最高层,有两大模块:嵌入式功能和用户的定制逻辑。实际上,嵌入式功能在可编程逻辑设计中有点类似于“黑盒子” 。 下一步就是对可编程逻辑设计定义由顶而下直到最底层的各个功能模块的功能。然后对每个模块进行框图化、编码、验证和添加到设计中。ESP器件的片上存储器(典型情况为双口SRAM)通常也集成到可编程逻辑设计中,可在任意层中作为一个“黑盒子”。 
·一旦设计划分完毕,各模块编码完成,下一步就可以配置嵌入式功能。配置有可能很简单,只需遵循嵌入式功能软件的用户向导即可,但也有可能会很复杂,类似于自主开发运行在嵌入式功能硬件平台上的软件IP。 
功能仿真
   设计师在层次化设计的最高层将嵌入式功能与定制逻辑集成起来进行功能仿真。如果仔细构造了设计的可编程逻辑部分,整个设计的功能仿真应该非常简单,因为嵌入式功能已由ESP器件制造商进行了严格的功能性定义和测试。 
·正如大部分由第三方提供ASIC或FPGA软件IP的情况一样,ESP器件里的嵌入式功能一般都带有软件仿真模型和测试平台。这样即使嵌入式功能是个黑盒子,在设计仿真的各个阶段都可以很容易地评估它们的功能。 
·综合、布局及布线 
逻辑综合阶段与ASIC或FPGA的设计几乎是一样, 但ESP设计在这一步占用的时间较少,因为占设计绝大部分(根据门数来算)的嵌入式功能并不需要综合。 
·布局和布线
 ESP的布局和布线过程与FPGA类似,而结构上的区别以及构造ESP使用的技术又使这两者有所不同。嵌入式功能不需要布局和布线过程。嵌入式功能在一个基于ESP的设计中将占用90%的逻辑门数,因此比起一个相同大小而完全用通用可编程逻辑门实现的设计,ESP设计的布局和布线过程所花的总时间将大大缩短。 
设计者必须运行布局和布线工具来实现自行设计的可编程逻辑部分。ESP在此过程的特别之处在于要处理嵌入式功能和用户定制逻辑之间的信号连接,如果处理不当将会影响整个设计的顺利完成,因此要对它进行严格的检验。 
·与采用许多分立器件完成的设计相比,ESP设计的最大优点之一在于它能极大地提高系统性能。这种性能提高来自于消除了芯片内/外的延迟,但更重要的是在功能模块之间提供了更宽的信号传输路径。比如,在一个典型ESP器件中,嵌入式功能和用户可编程逻辑之间可以很容易地连接300到500个信号线。  
·时序和验证 
  成功地实现布局和布线后,下一步设计流程就是时序仿真。与功能仿真一样,ESP设计的时序仿真速度要比通用可编程逻辑器件的仿真速度快,因为器件制造商在出厂时一般都完成了嵌入式功能的运行和时序特性的验证,而嵌入式功能通常是设计中最复杂的因素。 可是在某些情况下,ESP器件的嵌入式功能是一个必须由设计人员自己配置的硬件平台,它可通过一套基于PROM的开关或是通过软件IP来配置。这些可配置的嵌入式功能给予设计人员一定的灵活性,但同时也要求实施更完全的时序验证。用基于PROM的开关能更轻易地解决时序问题,因为制造商已经测试了几乎所有可能的开关设置。然而用户还是有可能选择到一个制造商未特别测试过的组合,因为100位的PROM能产生多达2100种可能的开关设置。 
  用软件IP来配置要相对复杂些,因为根据软件IP在嵌入式硬件平台上的不同实现,设计中的关键路径会随之改变。尽管如此,与在通用可编程逻辑中实现软件IP功能的时序验证相比,这种情况比较简单,因为嵌入式功能的可能配置通常比通用逻辑要少。 
  通常嵌入式功能的功能仿真需要测试平台和仿真模型,时序仿真可以充分评估它们的运行特性。不同于可随时测量各点信号的基于多种分立器件的设计,ESP器件的许多信号都是在内部传输的,因而与通用可编程逻辑器件相比,它的功能和时序仿真步骤将更加严格。仿真时这些信号都是可视化的,而在硬件验证时却是不可见的。因为其集成度高,ESP器件支持非常复杂的设计,因而更需要仔细地仿真。 
  ESP器件设计开发过程的最后一步是硬件验证。有趣的是,它占用的时间最少,只是简单地检查前面各个步骤是否正确执行就可以了。 
  如果设计在硬件方面不能正确进行,最好回过头去在仿真过程中进行问题的再现,而不是直接调试硬件。设计者要通过硬件调试直接找出问题之所在,一定程度上受到集成度及内部信号的制约。如果必须通过硬件调试,设计者可以临时修改设计,把内部信号通过I/O引脚从可编程逻辑阵列部分引出,从而提高内部设计的可视性。 
  虽然基于ESP设计的硬件调试通常要比调试分立器件甚至基于FPGA的设计更为困难,但系统级验证较简单却是它的优点,因为一旦ESP工作正常,系统设计的大部分工作可能就已经完成了。
7 嵌入式系统设计的若干问题

7.1 系统总体设计
尽管嵌入式系统应用面极广,复杂程度差别极大,应用的个性化要求各不相同。但是,嵌入式系统总体设计需要考虑的主要问题仍然可以归纳成下述几个方面:
 ·进行深入的系统分析,透彻理解应用需求。
 ·根据应用需求,形成总体方案,选择或自行搭建开发平台,完成算法与体系结构的映射;形成软硬件协同设计方案;
·嵌入式处理器选型;
·实时操作系统 (RTOS)选型;
·开发工具 (例如编译器、仿真器)选型或开发;
·数据通路的设计;
·可测试性设计;
·可重用性设计;
·仿证、验证环境的建立;
·目标节点的策划;

7.2 嵌入式处理器
嵌入式处理器是面向应用、面向用户的嵌入式系统的核心,由于面向应用、面向行业的特点,针对不同应用和不同半导体工艺,目前各类嵌入式处理器的变种计有1000余种,大致可分为:
·嵌入式微处理器: ARM, PowerPC, 68000,MIPS,386EX;
·嵌入式微控制器: 8051,MC68HC05,MC68HC11,68300,Am186, TMS320C2X;
·嵌入式DSP处理器: TMS320系列,DSP56000系列;
·嵌入式SOC(片上系统): OMAP, M-Core;

7.3 嵌入式处理器的发展
 随着嵌入式应用领域的日益扩展,如:手机、磁盘驱动器、PDA、网络交换机、打印机等等,要定义“嵌入式”这个概念本身正变得越来越困难。不过有一点可以肯定,那就是嵌入式领域内的诸多应用对诸如性能、价格、功耗等各项指标有着千变万化的要求。为了适应不同要求,推动了面向各种应用的处理器也在同时迅速发展。下面以应用极广的英国ARM公司的嵌入式ARM处理器为例,进行分析。
 ARM处理器微体系结构的演变--过去的十年中,ARM处理器经历了从简单的ARM7TDMI内核发展到最新ARM11EJ-S内核,其主要进展如下:
 ·从简单的三级流水线到先进的8级流水线结构。用单个时钟来进行比较,性能差别不大。
 ·ARM11是ARM家族中性能最强的一个系列。 ARM7TM 通常只能在200MHz以下的频率运行;在0.13微米工艺下,ARM11TM运行频率高达500-700MHz,带来了更为强大的性能。 
 ·ARM处理器在增加流水线级数的同时,结构设计进行了改进。在ARM1026EJ-STM内核里,用一个返回堆栈,减少子程序返回时的流水线刷新时间,提高了系统性能。
·ARM11增加了静、动态组合的跳转预判。
·ARM11支持单指令多数据(SIMD)指令。

7.4 实时操作系统 (RTOS)
软件是嵌入式系统的核心之一,嵌入式系统往往有实时的要求,而且实时操作系统具有简洁、紧凑等特点,因此,嵌入式系统往往选用嵌入式实时操作系统。用于嵌入式系统的实时操作系统很多,但是,不是每种嵌入式实时操作系统都能支持上述嵌入式处理器。因此,嵌入式处理器与嵌入式实时操作系统的选型必须同时考虑。
常见的嵌入式实时操作系统有:

·VxWorks;
·OS-9;
·PSOS;
·VRTX;
·QNX;
·基于Linux的实时操作系统;
·基于Windows的实时操作系统;
·国内自主开发的实时操作系统;

7.5 可测试性设计 ( DFT )与设计验证
系统级FPGA设计验证应该包括:
·设计规则检查
设计规则检查工具可以制定专用的规则,包括代码风格、可综合性、可仿真性检查等;
·RTL级仿真
先对模块源代码的功能进行确认,再对全系统的功能进行确认,符合自底向上的设计思路;
·动态生成测试平台
产生仿真用的网表和测试平台模板,依据其产生的波形文件创建完整的HDL(硬件描述语言)测试平台和测试向量;
·静态时序分析
根据周边时序状况和试验板对FPGA系统提出的时序要求,对FPGA进行约束;
·时序仿真
检查时序是否满足FPGA内触发器的建立、保持时间等要求;
·软硬件协同验证
协同仿真硬件和软件对设计包含的硬件功能、时序和处理器指令系统等进行分析验证;
·形式验证
用特定的数学算法检查连线的拓扑关系,来验证布局布线后的网表是否与布局布线前的网表具有相同的功能;

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -