共1条
1/1 1 跳转至页
嵌入式内核是集成的下一步发展(老站转)
通常,集成是工业三大要素――更高性能,更短面市时间和更低制造成本――的主要策略。在不断地向更高集成度前行的崎岖道路上,微处理器和可编程逻辑器件沿着相同的路线在各自发展。
在更高性能的推动下,微处理器的数据通道变得更宽,能处理更长的指令。板上高速缓冲,更优的时钟速率和更高效的逻辑操作提高了工作速度。处理器越来越复杂的同时,设计者使用高级语言如C,C++和Java进行复杂的设计,处理器经常协同片内调试工具如Background Debug Mode,Enhanced JTAG和N-Wire一起工作。
同时,PLD随着工艺技术的改善,速度越来越快,容量越来越大,价格越来越低。随着结构越来越小,电路小片尺寸相对不变,所以那个增加更多的单元如板上RAM。更大的集成度意味着在PLD结构中嵌入存储器 。正如增加的复杂性导致在微处理器设计中采用更高级的语言,PLD的复杂性到手硬件描述语言成为PLD设计开发中实时上的工具。PLD的应用越来越庞大和复杂,这样就出现了片内调试工具。
器件使用逻辑操作解决一系列问题,如在器件功能上,根据用户应用的改变准确地组合或配置操作,这样就要求PLD和微处理器并行地开发。通常,最高性能所需的操作需要直接硬件实现,而低速顺序操作的微处理器也可以满足不太严格的性能要求。那么下一步的发展要融合微处理器和PLD也就不足为奇了。
然而,在这种集成之前PLD技术已经到达了临界点。早期的PLD规模太小无法承载微处理器。随着工艺技术的改进和结构的缩小,电路小片有足够的空间容纳微处理器,但是价格太高,速度太慢。但是PLD容量一直在增加,1999年就已到达临界点。这时可以在PLD中实现可变的软核,而且价格和性能和板级器件相当。
利用这一进展,消除了入片和出片延迟增强系统性能。功耗降低了,更小的电路小片和更低的制造费用降低了整体成本。最近开发的32位RISC处理器内核已经可以适用于可编程逻辑。由于这些内核具有更高的集成度,更大的灵活性和更短的面市时间,是一些系统应用的理想选择。 这样,Altera引入了业界第一款专门为可编程逻辑优化的软核RISC嵌入处理器。
设计者在设计嵌入处理器PLD时必须考虑的问题是采用软核还是硬核。软核或便携逻辑块现在一些应用中相对硬核有许多优势。灵活性是主要的优点。软核处理器的可配置参数那个满足你不同应用的需求。如果你购买了成熟的解决方案,那么要在你的设计目标和现有产品已有功能之间进行权衡。你可能得为不需要的外设支付费用,或者用功能很强大的外设完成特定的工作。这两种情况中,你浪费了许多硅资源和金钱。若采用软核,你可以根据你的需求购买和付费。
在基本的硬核技术中,把可配置性构建到硬核中的标准技术是在预期的功能中进行设计,然后使用寄存器和复用器为特定的应用选择所需的功能(叫作运行可配置性)。也就是当系统引导启动时,对寄存器进行编程提供所需的功能。而采用软核,可配置性在编译器件进行,因为你不必实现不使用的功能从而节省了硬件资源。
软核的可配置性可以很容易地进行修改和变更,会大大地缩短PLD的设计周期。例如,USB核用于不同的应用,而每种应用都有各自的特定,这也就意味着每中应用都必须单独配置。如果你用硬核单独设计每种应用,费用会不断攀升。
可配置的参数意味着设计者可以对基本的性能和面积进行权衡。设计者可以选择16或32位数据宽度,是否使用在单时钟周期内进行多比特移位的桶形移位器,在一个时钟周期内执行加法和移位的特殊指令m-step,映射中断服务程序的寄存器文件大小。例如,如果某个应用需要许多多比特位移,从性能角度上看,即使它可能增加成本,需要更大的芯片,采用桶形移位器仍然是有意义的。另一方面,如果应用不需要大量的多比特移位,那么可以不用桶形移位器,采用更小更便宜的内核。对于某种应用,处理器的工作速度相对于芯片花费而言,有很大的自由度。这些因素反过来影响成本。
设计者有时被芯片所固有的外设所困扰,有时又无法提供所需的所有功能。采用可编程的微处理器,定制外设能够不多不少地满足你所需要的功能。
然而,在你把软核集成到系统中之前,必须了解软核给设计增加的复杂性。
虽然有些产商以门级或网表描述软核,但是更多的产商用硬件描述语言(HDL)如VHDL或Verilog进行行为或寄存器传输级(RTL)的描述。综合工具用于创建设计的门级描述,能够面向特定的技术 。
行为描述的软核没有物理属性,适合于不同工艺技术的芯片。你也通常选择特定内核实现设计:基于单元,门阵列和PLD。
随着大容量可编程逻辑芯片市场的增长,PLD产商和第三方内核产品合作使你能够向设计基于内核ASIC一样设计基于内核的PLD。PLD单位费用比同等门数量的ASIC高,但是PLD绝对有更快的面市时间。PLD另一个优势是NRE费用通常要比ASIC低。
硬核与软核
硬核是在物理级设计的。它们是用于特定技术的具有时限规范的预定义模块。另一方面,软核虽然在不同技术中性能有所不同,但可满足最小性能规范。
硬核明确定义的参数是时限要求严格应用的最佳选择,如高性能处理器引擎和高速I/O功能。你也能够实现混合信号芯片中的模拟部分作为硬核。
硬核逻辑需要重新设计和重新验证每种目标技术。另一方面,软核是技术有关的,针对目标工艺进行综合之后只需要仿真和时限验证――也就是能加快开发时间。
当你要解决和处理器相关的问题,要取决于处理器的复杂性和运行速度。但是在可编程逻辑结构中,你可以选取处理器顺序执行的部分代码,把它们下载到智能外设中并行执行。例如,DEC(数据加密标准)可以在软件循环中实现,但是专用的DEC外设能以更高的速率进行加密。所以再一次说明,需要在采用微处理器还是分立硬件之间进行权衡和折衷。把以前在软件中运行良好的部分移植到硬件中会大幅度地提高性能。
第三方和自产的内核
通常更可取的是采用由供应商提供的内核而非自行开发的内核。一方面,产商已经开发了你所需要的内核,能够节省你的开发成本。而且,产商通常提供一整个综合套件,测试平台和文档。当你不想自行开发这些东西,它可以大大地加快开发进度。
另一个考虑采用第三方产商软核的原因是确保符合工业标准。内核产商也提供预定义的Verilog和VHDL内核模型用于设计验证。
基于软核的设计需要逻辑的RTL描述,内核模型仿真逻辑行为,测试程序验证内核和综合脚本。因为内核必须符合工业标准,你需要产商设计和验证的兼容性测试环境。
产品寿命缩短造成设计时间缩短的压力促进了基于软核设计的快速增长,有时成为单芯片系统设计的必备部分,但是预定义的软核需要在缩短设计时间的性能和工业标准兼容性之间进行权衡。从一开始,就不得不在可选择的设计方案中寻求平衡。
如果你从产商那购买内核,软核的复杂性和工艺/设计实现的灵活性意味着你可能需要从内核提供商或许可人的设计协助。大部分的内核产商既提供产品也提供服务。
内核设计问题
软核模型没有互连寄生延迟信息,所有也没有精确的时限信息。产商会为某种技术提供参考时限数据。产商也提供总线功能(bus-functional)的模式,仿真内核和外部电路之间管脚的内核的状态,而无需建造内核内部配置。
内核产商把产品设计成同步时限可预测逻辑模块,保证在不同技术上能够正常工作。因为行为或RTL仿真并不验证性能,在你把内核综合为目标工艺的门级电路后可以检查时限性能。然后你使用产商提供的评估该技术的时限延迟。精确的时限仿真只有在布局布线和互连附加延迟回注后才能进行。
你选择并配置了处理器之后,你必须设计内部总线结构把所选的外设及其接头或其它定制的外设胶合在一起。
重要的是这些单元应该能自动生成,因为如果自动生成,那么就是正确的。也就是说消除了人为的错误。
优秀的系统设计工具会生成连接所有处理器外设的通用部件,包括片选译码器,数据返回复用器,中断控制器和等待周期生成器。例如,对于Altera用于APEX产品系列的Nios软核处理器,在Excalibur开发工具包中有生成向导,能够自动地配置外设总线模块(PBM)。它生成HDL,例化和连接所有的处理器外设――无论是预制还是定制,已经创建必要的胶合逻辑。向导自动生成等待状态,中断控制,可变总线宽度和地址译码。例如,用户火锅指示哪些外设中断处理器。对每个可中断的外设,向导自动分配中断查找表地址,生成相应的中断控制逻辑。总线宽度转换器根据需要把32位总线适配到16位。这类功能不仅大大地缩短了设计周期,而且确保了逻辑的正确
测试问题
软核也面临着独特的测试问题。内核产商应该在硅片内实现和检验设计,应该确认他们的产品符合工业标准规范,在附随的测试平台上提供可接受的仿真。然而,既然软核有灵活的技术和实现,那么你必须提供在特定设计中测试他们的手段。
对于HDL格式的内核,在你把内核嵌入到芯片后测试平台定义了如何检验内核逻辑的节点,并测试整个芯片。测试平台应该为内核提供全面的差错覆盖。在门级表示中,测试矢量组同样提供采用全面差错覆盖检查内核的功能。
※ 作 者: pppc 02-1-4 上午 09:06:46 ※
关键词: 嵌入式 内核 集成 下一步 发展 老站转 微处理器
共1条
1/1 1 跳转至页
回复
有奖活动 | |
---|---|
【有奖活动】分享技术经验,兑换京东卡 | |
话不多说,快进群! | |
请大声喊出:我要开发板! | |
【有奖活动】EEPW网站征稿正在进行时,欢迎踊跃投稿啦 | |
奖!发布技术笔记,技术评测贴换取您心仪的礼品 | |
打赏了!打赏了!打赏了! |
打赏帖 | |
---|---|
与电子爱好者谈读图二被打赏50分 | |
【FRDM-MCXN947评测】Core1适配运行FreeRtos被打赏50分 | |
【FRDM-MCXN947评测】双核调试被打赏50分 | |
【CPKCORRA8D1B评测】---移植CoreMark被打赏50分 | |
【CPKCORRA8D1B评测】---打开硬件定时器被打赏50分 | |
【FRDM-MCXA156评测】4、CAN loopback模式测试被打赏50分 | |
【CPKcorRA8D1评测】--搭建初始环境被打赏50分 | |
【FRDM-MCXA156评测】3、使用FlexIO模拟UART被打赏50分 | |
【FRDM-MCXA156评测】2、rt-thread MCXA156 BSP制作被打赏50分 | |
【FRDM-MCXN947评测】核间通信MUTEX被打赏50分 |