2016 - 2024

感恩一路有你

quartus如何综合生成网表文件 quartus调用modelsim仿真时出错?

浏览量:2122 时间:2023-06-11 17:18:27 作者:采采

quartus调用modelsim仿真时出错?

你没有。;t生成模拟文件,或者您生成的IP核心文件中使用的MegaCor

fpga怎么入门?

fpga入门:

第一步:了解fpga的基本硬件知识,比如fpga的含义和内部结构,fpga芯片的现有类型,如何区分fpga芯片。

第二步:了解并掌握fpga的硬件设计语言,从vhdl或者其他语言开始。

第三步:熟悉vhdl语言编译环境maxblusii或quartusii。

第四步:买开发板(这个刚开始可以买),建议刚开始买一般的。

入门提示:

概念理解:从事fpga开发不是写代码,而是设计电路和数字电路,但不像你在protel里画原理图、做版图,它需要你用语言描述你的电路,然后根据你的描述生成相应的电路。这里描述的体现了你的技术水平。请理解verilog或vhdl都是硬件描述语言。

2.理论储备:请拿出你的数字电路书,了解寄存器、状态机、时序方程。

3.请阅读xilinx或altera的fpga的手册,了解其接口、固件组成(pll、blockram、dcm、serdes等。)和资源分配。建议用xilinx s fpgaeidter软件,你会发现fpga的本质是一系列资源的堆叠。你要做的就是如何用这样的硬件资源做出你想要的东西。

4.请理解组合逻辑和时序逻辑,计算两种逻辑信号的延迟,也就是时序划分的问题。

5.动手能力,代码编写,代码编写和调试。你遇到更多的问题,解决更多的问题,所有的问题都不再是问题。善于总结。

6.了解流行的接口和技术原理,如spi、i2c、usb、ddr1/2/3、pcie、流行的高速接口lvds、lvpecl、sstl等。

7.fpga工程师往往扮演这个系统工程师的角色,所以请多站在系统的角度思考问题。

8.良好的文档习惯,这很重要!

总结数字电路设计的一般方法?

我来自西北工业大学计算机学院微电子研究所。现在我是微电子学院一年级的学生。我的专业是数字集成电路设计。研究生一上学期,掌握了数字集成电路后端综合设计方法。这份学术素养课程报告主要探讨了在实现后端过程中的方法、经验和相关感受。启蒙。

一般来说,软件工程师和硬件工程师的需求量都是10:1,也就是说硬件工程师的需求量远远小于软件工程师。硬件工程师分为模拟和数字。模拟集成电路设计主要包括ADC、DAC、PLL等。,而数字集成电路设计更倾向于实现特定功能的芯片,如CPU、GPU、MCU、MPU、DSP等。

事实上,在这个阶段,数字集成电路的设计方法已经非常类似于借助EDA工具进行软件开发。典型的数字集成电路开发一般包括以下步骤:

1.根据需求,自上而下设计电路模块,明确数字系统需要实现哪些功能,再细分成各个功能模块。这时候的设计形式一般是框图,用visio或者其他绘图软件实现。这个环节虽然松散,但是很重要,因为在根据需求设计大模块和指标的时候,一定要结合实际情况,否则后期会经过无限的返工,甚至达不到预定的指标。一般由德高望重、经验丰富的工程师进行整体设计。

2.定义好每个模块之后,接下来就是实现每个模块的功能。由于硬件描述语言的存在,我们可以很容易地 "写作与写作通过硬件描述语言的模块实现方法。在这个实验中,我使用了Verilog HDL。特定代码的复杂性与模块的复杂性有关。在这个实验中,我采用了 "八位格雷码计数器 "。

3.在完成了 "八位格雷码计数器 ",有必要 "预模拟和模拟设计。所谓预仿真,主要是验证代码描述是否正确,计划的功能是否真正实现。一般使用modelsim软件进行仿真。如果模拟成功,将进入下一阶段。如果不成功,它将需要返回到修改后的代码。

4.预仿真成功后,即可得到功能正确的Verilog设计代码。此时可以将代码下载到FPGA板上进行验证(JTAG Quartus),证明设计是正确的。对于一些集成度要求不高,时间非常紧的数字电路设计项目,可以直接用FPGA实现芯片功能。显然,FPGA这种通用器件可以 不能满足ASIC高集成度、低功耗、高专用性的设计要求,只能用于相对简单粗糙的设计。

5.接下来,进入后端流程。这时候就需要专门的服务器和昂贵的EDA工具。这也是硬件设计入门难的原因之一。如果一个没有接触过软件编程的有志青年立志做软件工程,一般一台电脑一本书就够了,最多买个正版编译器(VS,Eclipse,DW等。),但是做硬件电路设计,一台电脑一本书最多能画PCB。成为核心部分,必须使用强大的服务器和昂贵的EDA工具,因为普通的PC计算机可以 无法承担 的工作需求后端集成 "。而且linux下大量复杂的操作会让人望而却步。

6.在后端平台准备好之后,您可以将 "八位格雷码计数器 "进了站台。这时候应该马上考虑什么组件库和流程?因为同一个与非门,不同的元件库有不同的实现细节,MOS管的细节可能差别很大。另外,一定要考虑流程。这些工艺文件来自相关制造商(TSMC、CSMS等)。),这也是个人能够 不要做后台——因为你几乎不可能以自己的名义与TSMC讨论工艺库文件。毕竟,作为一个没有经验,没有钱和技能的初学者,你可以 不自信,有几万人。仔细筛选后(很多情况下没得选),确定你要用的流程。在这个实验中,我使用了我的高级实验室改进的组件库和TSMC 0.18um技术,EDA工具是Cadence IC 614。

7.经过一系列的配置后, "八位格雷码计数器 "已经变成了一个巨大的工程文件。我建议使用TCL脚本文件进行配置。然后可以进行RTL级合成。所谓RTL级合成其实指的是 "重写 "Verilog代码转换成可以被合成工具识别的Verilog代码(我用的是Encounter)。一般来说,这类似于翻译 "古典文学与艺术进入 "白话文与汉语和 "编译与编辑在C语言中,就是把一种高级语言翻译成汇编代码。当然,理论上可以直接写RTL级的代码,但是和直接写汇编语言一样复杂。

8.RTL级合成完成后,将RTL Verilog导入到Encounter中进行真正的后端合成。导入RTL码后,还需要解释标准单元库的LEF文件,定义电源和地的线名。这时候就需要一个MMMC config配置,过程比较复杂,主要是配置相关文件和设备状态(TT、ss、FF等。).

9.完成导入配置,然后是芯片版图设计,即布图。Floorplan需要设置一些基本的参数,比如芯片的长宽(面积),引脚留的空间,芯片利用率等等。长宽比建议为0.2-5,复杂电路利用率为0.85,一般电路为0.90,简单电路为0.95。

10.电力计算,电力线路排列的依据,主要为环形和条形。比如数字电路芯片功耗55mW,冗余增加到2倍左右。设计为100mW,按照1.8V供电,电流约为60mA,即总供电线路为60 U,如果每条线路为10u,则为六条。两条电源线,一边一条,中间四条。在遭遇中有一个特殊的接线配置器。接线后,可以先申请,再取消重复尝试。

11.排列IO引脚。如果没有提前导入IO,可以重新导入(TCL)或者自行调整。

12.前置,因为Verilog中往往有很多模块,每个模块对应一个布局模块。布局时要注意一些布局原则。布局一般可以通过简单的拖动来完成。 "八位格雷码计数器 "只有一个模块,所以它不 不需要复杂的布局。

13.布局是一个不断修改和改进的过程。放置是在前置后进行,然后是后置。布局之后,需要时钟树综合(CTS)。时钟树综合的目的是使每个信号在约束时间内传输到下一个顺序单元,否则会影响芯片的主频(主频是设计前确定的指标),然后在Post-CTS中调整不满足时钟约束的部分的布线。

14.布局后路由,即路由。特殊走线,需要先走线,再后置。这些步骤在某种程度上是 "点击按钮 "和 "配置参数,但是后端合成一定要头脑清醒,知道为什么要点击这些按钮,要配置什么参数。

15.经过多次迭代,配置好IO引脚后,就可以填充整张图片,用各种金属层覆盖不用的区域。单人 "八位格雷码计数器 "由于其结构简单而具有较大的未覆盖面积。

16.至此,Encounter中的后端综合已经完成,网表可以导出为GDSII格式,为了检查DRC和LVS,还需要 "网表 "转换成示意图格式。

17.将后端集成的GDSII文件导入Virtuoso。Virtuoso是一款模拟集成电路设计软件。将GDSII文件导入该软件有两个主要目的。首先,你可以做 "后期模拟与设计在Virtuoso中验证概念芯片经过后端综合的一系列流程后是否能达到设计要求。此时仿真已经考虑到了延迟、电阻、功耗等实际问题。如果仿真有问题,需要返工修改,必要时重新布线。在 "后期模拟与设计通过后,芯片应由刚果共和国和LVS检查。DRC是看是否符合所选工艺的要求,因为在实际情况下,有些理论值是不现实的,比如太细的导线无法生产,栅极间距过短可能导致短路,导线与各种金属层之间的电容会影响电。道路功能等。LVS是比较版图和原理图之间的拓扑关系是否不一致。第二,以后设计数模混合芯片时便于混合设计,因为模拟集成电路直接在Virtuoso中进行,最后可以将两者结合起来设计数模混合集成电路。

18.检验后,您可以联系工艺供应商进行加工,如TSMC。一般处理需要跟上企业的业务流程。大约一个月后,芯片加工完毕,然后进入测试阶段。焊接,测试,验证芯片指标,提出改进方案。

至此,一个数字集成电路从概念到实物的全过程已经完成,每一步都值得研究和回味。从24解码器到复杂的CPU,过程基本相同。一个学期后的学习,我基本掌握了这个流程。未来我们会更加努力,在这个专业上继续前进,培养核心竞争力。

设计 芯片 文件 硬件 代码

版权声明:本文内容由互联网用户自发贡献,本站不承担相关法律责任.如有侵权/违法内容,本站将立刻删除。