Verilog/FPGA|【 FPGA 】数字系统设计方法的演变

前几天无意中打开了Vivado HLS这个设计工具,并看了几眼数据手册,大概是说有种更高抽象级别的设计方式,当然我是不知道的,也没有深究,今天看到《基于FPGA的数字信号处理》这本书,提到了数字系统设计的演变,最后提到了HLS这种设计方法,觉得是一个不错的科普了,具体的内容还需要自己研究,记录下笔记。
数字系统设计经历了计算机辅助设计(computer Aided Design,CAD)阶段、计算机辅助工程(Computer Aided Engineering,CAE)阶段和电子设计自动化(Electronic Design Automation,EDA)阶段。
EDA阶段最显著的特征是丰富的 EDA软件平台和硬件描述语言支持。这样,可以由计算机自动完成综合、优化、布局布线和仿真,直至对特定目标芯片的编程下载,从而极大地提高了电路设计的效率和可操作性。
EDA阶段的设计方法是自顶向下的设计方法,而传统的设计方法是自底向上(Bottom-up)的设计方法。
自底向上的设计方法是以固定功能元器件为基础的基于电路板的设计方法。这种设计方法很大程度上依赖于设计师的经验和现有的通用元器件,因此,设计周期长,灵活性差,效率低下。
(由固定功能元器件,层层搭建电路系统。)
而自顶向下的设计方法基于对系统的整体理解和把握,将系统分解为不同的子系统和模块,若子系统规模较大,则还需要对子系统进一步分解为更小的子系统和模块,层层分解,直至整个系统中各个子系统关系合理,并便于寄存器传输级(Register Transfer Level,RTL)的设计和实现为止。这种方法可逐层描述,逐层仿真,最大限度保证了系统指标的实现。这也是FPGA层次化设计(Hierarchy Design)方法的由来。
Verilog/FPGA|【 FPGA 】数字系统设计方法的演变
文章图片

后来,业界又提出了电子系统级(Electronic System Level,ESL)的发展阶段。ESL阶段设计广义上是指从比主流的RTL更高的抽象级别上开始的系统设计和验证方法学。
ESL的一个显著的特征是出现了高层次综合(High Level Synthesize,HLS)工具,可以将C/C++/SystemC转换为RTL代码。
例如:Xilinx的设计工具Vivado HLS就提供这种设计方法。
【Verilog/FPGA|【 FPGA 】数字系统设计方法的演变】Verilog/FPGA|【 FPGA 】数字系统设计方法的演变
文章图片

给出数据手册链接:https://www.xilinx.com/support/documentation/sw_manuals/xilinx2017_2/ug871-vivado-high-level-synthesis-tutorial.pdf


    推荐阅读