微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 综合技术问答 > EDA使用问答 > SystemVerilog改进基于FPGA的ASIC原型产生--2

SystemVerilog改进基于FPGA的ASIC原型产生--2

时间:03-14 整理:3721RD 点击:
用Systemverilog改进基于FPGA的asic原型产生--2
把FPGA组件的I/O区块与模块连接是另一个挑战。通常当模块在ASIC设计中分开时,用于连接FPGA组件所需的总I/O埠数要多于这些组件上的可用数量。
通常,为容纳所有I/O,接脚必须是多任务的。SystemVerilog提供一种可在无需修改ASIC设计前提下、在用FPGA进行原型产生时,帮助提供该功能的特性。
Verilog透过模块端口把不同端口连接起来。为定义构成设计各模块的具体端口,需对进行的硬件设计有详尽把握。若干模块常常有许多相同端口,因而需对各模块进行冗余重复的埠定义。例如,与同一个数据总线协议连接的各个模块必须有相同的端口定义。
SystemVerilog接口透过聚焦单一位置的描述,为通讯模式中的抽象提供了一种对象导向的范例(paradigm)。这种将接口描述本地化、将其作为抽象埠类型,以及能够在设计过程中让合成适当分布于硬件中的能力,为整个设计过程提供了巨大优势。
许多设计团队编写了总线规格,却未曾设想到在整合测试时发现该规格不够严谨清晰、存在两或更多个歧义,因而必须对这些部份进行返工。
接口是独立于模块定义的,它介于关键词‘接口’和‘端接口’(endinterface)之间。模块可把接口完全当作单一端口使用。
从最简单的形态看,接口可被认为是一束导线。但界面比仅仅用来表述一束互连讯号具有更多意涵。接口还可包含数据类型声明、功能、连续指配描述以及流程区块,以明确基于总线讯号的通讯协议。接口还可包含对利用该接口的各模块,以说明公共功能以及内建协议检测功能。因此,接口适用于在连接I/O区块时,在FPGA设计顶层多任务讯号。
当使用接口时,工程师可拥有接口并提供一个其它工程师可用以连接总线的API,因而隐去了数据在总线上传输的细节。由于描述是单一位置的,因此此举可在可扩展性方面提供优势。若另一个讯号需添加在接口上,则无需对所有通过该总线交换数据的模块进行修改就可添加该讯号。
接口的另一个方便性是它们可与支持相同API的接口互换。例如,若设计开始是用串行总线开发的,但随后发现需用并行总线,则可对接口进行替换而设计其余部份可保留不变——因而成为一种重构(retarget)设计非常快速的方法。换言之,就FPGA原型产生的情况,总线定义既可在ASIC设计又可在FPGA设计间改变且不影响任何逻辑区块。
SystemVerilog允许利用modport定义接口的多个视域。如,每个连接接口的模块可确定并共享本地于接口端口的讯号方向。当多个模块指涉相同接口时,有可能显著缩短程序代码——这是因为,不必列出各模块的端口,单一端口足以表代该接口。
下例显示了定义、例示和连接接口的基本语法。
file:///C:\DOCUME~1\Steve\LOCALS~1\Temp\msohtml1\01\clip_image001.jpg
file:///C:\DOCUME~1\Steve\LOCALS~1\Temp\msohtml1\01\clip_image002.jpg
本文小结
随着竞争益发激烈及产品生命周期越来越短,设计师用以开发高性能复杂设计可用时间也越来越短。同时,ASIC的开发成本在急剧增加,所以,在许多对成本敏感的应用中,不经过充分测试和仿真就采用ASIC组件的可能性也越来越低。为克服这些难题,导入FPGA原型产生以提供一种实时并具成本效益的设计方法学,将能在进行昂贵的ASIC设计前,即有可能对系统进行验证。
然而,用FPGA产生原型会有困难;如何连接一个FPGA内或多个FPGA间的逻辑一直是个主要问题。与采用其它hdl语言相较,借助SystemVerilog,可高效地对许多连接性问题进行处理。
作者:Roger Do

[转载自电子工程杂志]

gooood............

上一篇:PADS9.0教程
下一篇:最后一页

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top