用SystemVerilog改進基於FPGA的ASIC原型產生
时间:03-14
整理:3721RD
点击:
用Systemverilog改進基於FPGA的asic原型產生
用FPGA產生原型仍存在著困難;如何連接一個FPGA內或多個FPGA間的邏輯模組一直是主要障礙...
ASIC為擷取高性能複雜設計概念提供了方案,並能防止競爭者輕實現類似設計。但無論如何,研發一款ASIC都需要高度投資。一款90nm ASIC/SoC設計開發成本接近兩千萬美元,而45nm的SoC更可高達四千萬美元。因此,幾乎只有非常大量的產品才用得起ASIC的趨勢正在形成。
除了光罩組成本增加外,一次設計即成功的機率越來越小,整體開發成本也不斷提升。隨著設計複雜性持續提高,一項調查顯示,目前的SoC設計只有約1/3能一次投片成功,近一半的返工是由於功能邏輯錯誤引發的。因此,驗證主管們正專注於強化功能驗證方法學的途徑。
在展開真正的ASIC設計前,為展示設計概念的可行性,運用FPGA進行ASIC設計的原型產生,使其作為ASIC驗證方法學一部份的方法正日益風行。
用FPGA原型產生ASIC設計,雖然經常得到不同性能,但通常可獲得相同的邏輯功能。另外,在FPGA原型上以真實的激勵全速執行,可實現真正且徹底得多的功能覆蓋以及與嵌入式軟體的早期整合。因此,FPGA原型產生可有效地補充且擴展現有的功能驗證方法學。
長期以來,由於ASIC設計規模擴大的步伐一直比FPGA元件的發展快,因此通常要用多個FPGA為單一ASIC產生原型。利用多個FPGA元件的挑戰在於:如何將用於ASIC設計內、分散於各個FPGA內的邏輯區塊連接起來。實體上,利用FPGA元件內的高速I/O模組,不同實體元件間的連接被簡化了。然而,業界已證實,邏輯區塊連接的方法不僅勞心費力且容易出錯。而現在,隨著SystemVerilog(一種改進的RTL語言)以及諸如MentorGraphics的Precision Synthesis等先進混合語言合成工具的推出,連接的過程已獲得簡化。
SystemVerilog
SystemVerilog并非一种全新RTL语言。借助其在现有Verilog hdl基础上的丰富扩展集,SystemVerilog向后相容Verilog 95和Verilog 2001。对Verilog的许多拓展,使其可轻易为任何规模的设计产生准确可合成的模块。这些扩展还使SystemVerilog更易用,并能为每个正在采用Verilog的工程师带来切实利益。
SystemVerilog的连接性优势主要来自于两大特性:1. 借助高效编码方法的更紧密RTL描述。2. 封装(Encapsolation),允许设计师以更高抽象接口描述建模。
利用SystemVerilog进行FPGA原型产生不意味着一定要用SystemVerilog编写整个ASIC设计才能享有SystemVerilog的好处。仅需用SystemVerilog描述每个FPGA的顶层模块就可简化多组件原型产生的连接性挑战。
file:///C:\DOCUME~1\Steve\LOCALS~1\Temp\msohtml1\01\clip_image001.jpg
图1:SystemVerilog可简化多组件原型产生的连接性挑战。
紧密的程序代码
设计规模的不断扩大相应地使描述设计RTL程序代码的长度不断加长。实际上,设计缺陷与编写的程序代码长度相关。SystemVerilog改善了设计规格、提供了更精准的表述并实现了验证和设计统一。所有这些好处都有助于产品的更快上市和设计缺陷的及早检测。实际上,SystemVerilog程序代码的紧密程度比Verilog RTL提升了两到五倍。
VHDL和Verilog都有位置和命名端口连接。位置端口可能位错误,而命名端口会过于繁冗,特别是在顶层模块。
SystemVerilog有.name和.* port连接。这些方法提供了更精准且不太容易出错的连接描述方法。这种方法学与生俱来的好处是具有更强健的埠连接分类。它要求:埠大小必须匹配、埠不能被省略且全部埠必须被声明。
内含的埠连接特性为设计师提供了非常重要的能力,任何HDL语言目前都不能提供这些能力。这些特性为ASIC和FPGA设计师提供了优势,特别是在FPGA原型产生领域。它们不仅可让设计师少写75%的顶层程序代码例示,还提供由编码样例所示的强健、类似VHDL且不易出错的编码风格。
file:///C:\DOCUME~1\Steve\LOCALS~1\Temp\msohtml1\01\clip_image002.jpg
图2:接口独立于模块定义,而模块可将接口完全当作单一端口使用。
现在,对简单、顶层设计例程进行比较:
* Verilog端口界面:
o 250字/ 1,770字符/ 122行。
* SystemVerilog .*内含端口界面:
o 72字/ 492字符
/ 37行。
另外,强化固有埠连接所能带来的衍生效应还包括:
* 显著减少了端口接口建模所需的程序代码。
* 类似VHDL的更强健端口接口分类。
* 由于所有埠大小必须匹配,因此减少了端口大小实例化错误。
* 由于必须列出全部未连接的埠,因而减少了埠遗漏。
* 与用VHDL或Verilog实现的顶层设计比,它重复性小、耗时少且不易出错。
因此,在每个FPGA组件的顶层采用SystemVerilog实现可显著简化模块间的顶层例示。较底层区块不一定要转换为SystemVerilog。
转载
自
电子工程专辑
用FPGA產生原型仍存在著困難;如何連接一個FPGA內或多個FPGA間的邏輯模組一直是主要障礙...
ASIC為擷取高性能複雜設計概念提供了方案,並能防止競爭者輕實現類似設計。但無論如何,研發一款ASIC都需要高度投資。一款90nm ASIC/SoC設計開發成本接近兩千萬美元,而45nm的SoC更可高達四千萬美元。因此,幾乎只有非常大量的產品才用得起ASIC的趨勢正在形成。
除了光罩組成本增加外,一次設計即成功的機率越來越小,整體開發成本也不斷提升。隨著設計複雜性持續提高,一項調查顯示,目前的SoC設計只有約1/3能一次投片成功,近一半的返工是由於功能邏輯錯誤引發的。因此,驗證主管們正專注於強化功能驗證方法學的途徑。
在展開真正的ASIC設計前,為展示設計概念的可行性,運用FPGA進行ASIC設計的原型產生,使其作為ASIC驗證方法學一部份的方法正日益風行。
用FPGA原型產生ASIC設計,雖然經常得到不同性能,但通常可獲得相同的邏輯功能。另外,在FPGA原型上以真實的激勵全速執行,可實現真正且徹底得多的功能覆蓋以及與嵌入式軟體的早期整合。因此,FPGA原型產生可有效地補充且擴展現有的功能驗證方法學。
長期以來,由於ASIC設計規模擴大的步伐一直比FPGA元件的發展快,因此通常要用多個FPGA為單一ASIC產生原型。利用多個FPGA元件的挑戰在於:如何將用於ASIC設計內、分散於各個FPGA內的邏輯區塊連接起來。實體上,利用FPGA元件內的高速I/O模組,不同實體元件間的連接被簡化了。然而,業界已證實,邏輯區塊連接的方法不僅勞心費力且容易出錯。而現在,隨著SystemVerilog(一種改進的RTL語言)以及諸如MentorGraphics的Precision Synthesis等先進混合語言合成工具的推出,連接的過程已獲得簡化。
SystemVerilog
SystemVerilog并非一种全新RTL语言。借助其在现有Verilog hdl基础上的丰富扩展集,SystemVerilog向后相容Verilog 95和Verilog 2001。对Verilog的许多拓展,使其可轻易为任何规模的设计产生准确可合成的模块。这些扩展还使SystemVerilog更易用,并能为每个正在采用Verilog的工程师带来切实利益。
SystemVerilog的连接性优势主要来自于两大特性:1. 借助高效编码方法的更紧密RTL描述。2. 封装(Encapsolation),允许设计师以更高抽象接口描述建模。
利用SystemVerilog进行FPGA原型产生不意味着一定要用SystemVerilog编写整个ASIC设计才能享有SystemVerilog的好处。仅需用SystemVerilog描述每个FPGA的顶层模块就可简化多组件原型产生的连接性挑战。
file:///C:\DOCUME~1\Steve\LOCALS~1\Temp\msohtml1\01\clip_image001.jpg
图1:SystemVerilog可简化多组件原型产生的连接性挑战。
紧密的程序代码
设计规模的不断扩大相应地使描述设计RTL程序代码的长度不断加长。实际上,设计缺陷与编写的程序代码长度相关。SystemVerilog改善了设计规格、提供了更精准的表述并实现了验证和设计统一。所有这些好处都有助于产品的更快上市和设计缺陷的及早检测。实际上,SystemVerilog程序代码的紧密程度比Verilog RTL提升了两到五倍。
VHDL和Verilog都有位置和命名端口连接。位置端口可能位错误,而命名端口会过于繁冗,特别是在顶层模块。
SystemVerilog有.name和.* port连接。这些方法提供了更精准且不太容易出错的连接描述方法。这种方法学与生俱来的好处是具有更强健的埠连接分类。它要求:埠大小必须匹配、埠不能被省略且全部埠必须被声明。
内含的埠连接特性为设计师提供了非常重要的能力,任何HDL语言目前都不能提供这些能力。这些特性为ASIC和FPGA设计师提供了优势,特别是在FPGA原型产生领域。它们不仅可让设计师少写75%的顶层程序代码例示,还提供由编码样例所示的强健、类似VHDL且不易出错的编码风格。
file:///C:\DOCUME~1\Steve\LOCALS~1\Temp\msohtml1\01\clip_image002.jpg
图2:接口独立于模块定义,而模块可将接口完全当作单一端口使用。
现在,对简单、顶层设计例程进行比较:
* Verilog端口界面:
o 250字/ 1,770字符/ 122行。
* SystemVerilog .*内含端口界面:
o 72字/ 492字符
/ 37行。
另外,强化固有埠连接所能带来的衍生效应还包括:
* 显著减少了端口接口建模所需的程序代码。
* 类似VHDL的更强健端口接口分类。
* 由于所有埠大小必须匹配,因此减少了端口大小实例化错误。
* 由于必须列出全部未连接的埠,因而减少了埠遗漏。
* 与用VHDL或Verilog实现的顶层设计比,它重复性小、耗时少且不易出错。
因此,在每个FPGA组件的顶层采用SystemVerilog实现可显著简化模块间的顶层例示。较底层区块不一定要转换为SystemVerilog。
转载
自
电子工程专辑
多谢分享————
Thanks.
