搜档网
当前位置:搜档网 › FPGA仿真流程

FPGA仿真流程

FPGA仿真流程
FPGA仿真流程

QuartusII的设计流程

QuartusII软件的使用方法

一、设计输入

1.建立工程

任何一项设计都是一项工程(Project),都必须首先为此工程建立一个放置与此工程相关的所有设计文件的文件夹。此文件夹将被EDA软件默认为工作库(Work Library)。一般,不同的设计项目最好放在不同的文件夹中,而同一工程的所有文件都必须放在同一文件夹中。

首先建立工作库目录,以便存储工程项目设计文件。在D盘下新建文件夹并取名Mydesign。双击QuartusII软件启动图标,即可启动QuartusII软件,启动界面如图1-2所示。

使用New Project Wizard 可以为工程指定工作目录、分配工程名称以及指定最高层设计实体的名称,还可以指定要在工程中使用的设计文件、其他源文件、用户库和EDA 工具,以及目标器件系列和具体器件等。在此要利用“New Preject

Wizard”工具选项创建此设计工程,并设定此工程的一些相关的信息,如工程名、目标器件、综合器、仿真器等。(1)打开建立新工程管理窗。选择菜单File→New Preject Wizard 命令,即弹出“工程设置”对话框(图1-3),以此来建立新的工程。

(2)在单击图1-3后,出现了设置工程的基本信息,如图1-4所示。单击此对话框最上一栏右侧的“… ”按钮,可以选择工程存放在硬盘上的位置,此例中将工程放在D盘Mydesign文件夹下。这三行的第一行的d:\Mydesign表示工程所在的工作库文件夹;第二行的half_add 表示此项工程的工程名,工程名可以取任何其他的名,也可直接用顶层文件的实体名作为工程名,在此就是按这种方式取的名;第三行是当前工程顶层文件的实体名,这里即为half_add。

(2)将设计文件加入工程中。单击图1-4中的Next 按钮,弹出对话框如图1-5所示,在对话框中单击File name 右侧的“… ”按钮,可以将与工程相关的所有VHDL 文件(如果有的话)加入进此工程,此工程文件加入的方法有两种:第1 种方法是单击“Add … ”按钮,从工程目录中选出相关的VHDL 文件;第2 种方法是单击Add All 按钮,将设定

的工程目录中的所有VHDL 文件加入到工程文件栏中。如果还没有建立VHDL文件,就直接点击“Next”即可。

(3)选择目标芯片。单击图1-5中Next 按钮出现如图1-6的对话框用来选择目标芯片。首先在Family 栏选芯片系列,在此选FLEX10K系列,并选择此系列的具体芯片EPF10K10LC84-4。在“Target device”选项下选择“Auto device selected by the fitter”选项,系统会自动给所设计的文件分配一个器件。如果选择“Specific device selected in ‘Available devices’ list”选项,用户需指定目标器件。在右侧的“Filters”窗口“过滤”选择;Package表示封装; Pin cout表示引脚数,此例选择84;Speed grade表示速度等级,此例选择4。

(4)在图1-6中单击“Next”按钮后进入第三方工具选择对话框,如图1-7所示。用户可以选择所用到的第三方工具,比如ModleSim、Synplify等。在本例中并没有调用第三方工具,可以都不选.

(5)在图1-7单击“Next”按钮后进入最后确认的对话框,如图1-8所示。建立的工程的名称、选择的器件和选

择的第三方工具等信息,如果无误的话就可以单击“Finish”按钮,弹出如图1-9所示的窗口,在资源管理窗口可以看到新建的工程名称half_add。

当工程建立好以后,我们就可以建立设计文件。下面我们以一个半加器的VHDL的设计,来演示在QuartusII如何实现VHDL语言输入。

语言输入

(1)建立文件。在图1-9中,单击“File”菜单下的“New”命令或者使用快捷键Ctrl+N,在弹出“New”对话框如图1-10所示。在“Device Design Files”页面下双击“VHDL File”选项(或选中该项后单击“OK”按钮)后建立新文件,如图1-11所示。

图1-11 VHDL文本编辑窗口

(2)输入程序。在图1-11中输入半加器的VHDL程序,如图1-12所示。

(3)保存文件。在图1-12中单击保存文件按钮,弹出对话框如图1-13,将输入的VHDL语言程序保存为文件,注意后缀名是.vhd,单击“保存”按钮即可保存文件,如图1-13。

(4)编译工程。在图1-11中单击水平工具条上的编译按钮,或选择菜单Processing下的Start Complilation,开始编译,并伴随着进度不断地变化,编译完成后的窗口如图1-14所示。如果编译过程出现错误,要将错误改正,保存后再次编译,直到编译无错误为止。到此在QuartusII软件中使用VHDL语言输入完成,接下来是将保存好的VHDL语言程序进行仿真,在软件上验证VHDL语言描述的功能是否能够达到预期目的。

二、设计仿真

设计仿真的目的就是在软件环境下,验证电路的行为和思想是否一致。仿真分为功能仿真和时序仿真。功能仿真是在设计输入之后,综合和布局布线之前的仿真,不考虑电路的逻辑和门电路的时间延时,着重考虑电路在理想环境下的行为和预期设计效果的一致性。时序仿真是在综合、布局布线后,也即电路已经映射到特定的工艺环境后,考虑器件延时的情况下对布局布线的网络表文件进行的一种仿真,其中器件延时信息通过反向标注时序延时信息实现的。

1.仿真文件的生成

(1)建立矢量波形文件。在图1-14中,单击“File”菜单下的“New”命令,在弹出的“New”对话框中选择“Other Files”页面,如图1-15。选择“Vector Waveform File”后单击“OK”按钮,弹出如图1-16所示的矢量波形编辑窗口。

(2)添加引脚或节点。在图1-16中,左键双击“Name”下方空白处,弹出“Insert Node or Bus”对话框,如图1-17所示。单击对话框“Node Finder…”按钮后,弹出“Node Finder”对话框,如图1-18所示。

在图1-18中,在“Filter”后面的方框里选择“Pin:all”,然后单击“List”按钮,在“Node Found”栏中列出了设计中的所有的输入/输出引脚号,如图1-19所示。

单击图1-19中的按钮,所有列出的输入/输出引脚号被复制到右边一侧。也可以根据情况选择部分引脚号复制到右边,方法是在左边选中想要的引脚号,单击按钮即可。选择好了引脚号后,单击“OK”按钮,返回“Insert Node or Bus”

对话框,此时,在“Name”和“Type”栏里出现了“Multiple Items”项,如图1-20。单击“OK”按钮,选中的输入/输出引脚号都添加到矢量波形编辑窗口中,如图1-21所示,单击“OK”按钮,进入矢量波形编辑窗口,如图1-22。

(3)编辑输入信号并保存文件。在图1-22中单击“Name”下方的“A”,即选中该行的波形。在本例中将输入信号“A”设置为时钟信号,单击工具栏中的按钮,弹出“Clock”对话框,此时可以修改信号的周期、相位和占空比。设置完后单击“OK”按钮,输入信号“A”设置完毕。同理设置其他输入信号“B”,最后单击保存文件按钮,根据提示完成保存工作,如图1-23所示。同时,为了方便读者熟悉其他波形编辑工具的使用,在图1-24中标注了其他波形编辑工具的功能。

2. 功能仿真

功能仿真是忽略延时的仿真,是理想的仿真。接下来我们一起来进行设计的功能仿真。首先在图1-23中单击“Assignments”菜单下的“Settings”命令,如图1-25,

单击左侧标题栏中的“Simulator”选项后,在右侧的“Simulation mode”的下拉菜单中选择“Functional”选项即可(软件默认的是“Timing”选项),单击“OK”按钮后完成设置。

后需要生成功能仿真网络表。单击“Processing”菜单下的“Generate Functional Netlist”命令后会自动创建功能仿真网络表,如图1-26所示。完成后会弹出相应提示框,单击“确定”即可。最后单击按钮进行功能仿真,如图1-27所示。从图中可以看出仿真后的波形没有延时,半加器的两个加数作为输入信号,得到了对应的和与进位。

3.时序仿真

QuartusII中默认的仿真为时序仿真,在图1-23中直接单击仿真按钮即可。如果做完功能仿真后进行时序仿真,需要在“Assignments”→“Settings”→“Simulator”选项后,在右侧的“Simulation mode”的下拉菜单中选择“Timing”选项即可。仿真完成后的窗口如图1-28所示。观察波形,可以知道输入输出之间有一定的延时。

三、引脚锁定

引脚锁定是为了对所设计的工程进行硬件测试,将输入/输出信号锁定在器件的某些引脚上。单击“Assigments”菜单下的“Pins”命令,在弹出的对话框如图1-29所示,在下方的列表中列出了本项目所有的输入/输出引脚名。

在图1-29中,双击与输入端“A”对应的“Location”选项后弹出引脚列表,从中选择合适的引脚,则输入“A”的引脚锁定完毕。同理完成其他引脚的锁定,如图1-30。

四、编程下载

编程下载是将本次设计所生成的文件通过计算机下载到实验箱里,来验证此次设计是否能够达到预期目的。需要进行以下几个步骤:

1. 编译

锁定引脚后必须再次编译,才能存储这些引脚锁定的信息,单击编译按钮执行编译。

2. 配置下载电缆

在“Tools”菜单下选择“Programmer”命令,或者直接单击工具栏上的按钮,弹出如图1-31所示的页面。

单击“Hardware Setup”按钮,弹出“ Hardware Setup”对话框,如图1-32所示。单击“Add Hardware”按钮设置下载电缆,弹出如图1-33所示的对话框。在“Hardware type”一栏中选择“ByteBlasterMV or ByteBlaster II”后单击“OK”按钮,下载电缆配置完成。设置成如图1-34

所示的选项后,单击“Close”按钮即可。一般情况下,如果下载电缆不更换,一次配置就可以长期使用,不需要每次都设置。

3.下载模式

JTAG模式是软件的默认下载模式,相应的下载文件为“.sof”格式。在“Mode”一栏中还可以选择其他的下载模式,例如,Passive Serial、Active Serial Programming 和In-Socket Programming。勾选图1-31中下载文件“”右侧的第一个小方框,也可以根据需要勾选其他的小方框。将下载电缆连接好后,单击“Start”按钮计算机就开始下载编程文件,这样在实验箱上就可以验证实验效果了。

到这里,我们都演示了QuartusII软件的全部使用过程,从建立工程,VHDL语言设计输入,设计仿真到编程下载都演

示了一遍,读者跟着上面的操作,就能够到达最后的程序下载,在EDA实验箱上看到最终的效果。

五、原理图输入

(1)建立文件。在图1-9中,单击“File”菜单下的“New”命令或者使用快捷键Ctrl+N,在弹出“New”对话框如图1-35所示。在“Device Design Files”页面下双击“Block Diagram/Schematic File”选项(或选中该项后单击“OK”按钮)后建立新文件,如图1-36所示。

(2)在图1-36中对常用的工具栏功能进行了标注,以帮助读者更好地使用这些工具。在图1-36的图形编辑窗口的空白处双击鼠标左键(或在编辑工具栏单击工具条),弹出如图1-37所示的选择电路符号对话框,选中“primitives”→“logic”→“xor”(或在“Name”输入编辑框中输入“xor”)后,单击“OK”按钮。此时,光标上与符号连在一起,可以移动光标,将符号移动到合适的位置,如图1-38。同理,在图中放置一个“and2”符号,在“primitives”→“pin”下选择“input”和“output”两中符号,分别放两个,如图1-39所示。

(3)连接各元器件并命名。在图1-39中,将光标移到input 右侧,待变成十字形光标时,按下鼠标左键(或选中工具栏中的工具,光标自动会变成十字形的连线状态),再将光标移动到异或门的左侧,待连接点上出现蓝色的小方块后释放鼠标左键,即可看到input和异或门之间有一条连线生成。重复上面的方法将1-39图中各种符号连接起来,如图1-40所示。双击pin_name使其底色变为黑色后,输入A(或双击input,弹出“Pin Properties”对话框,在“Pin name”一栏中填上名字A),将其他引脚使用同样的方法命名。

(4)保存文件。在图1-40中单击保存文件按钮。在弹出的对话框中的“文件名”下,输入原理图文件的名称“”,单击“保存”按钮即可保存文件,如图1-41所示。

(5)编译工程。在图1-41中单击水平工具条上的编译按钮,或选择菜单Processing下的Start Complilation,开始编译,并伴随着进度不断地变化,编译完成后的窗口如图1-42所示。如果编译过程出现错误,要根据提示将错误改正,保存后再次编译,直到编译无错误为止。到此在QuartusII软件中使用原理图输入设计完成,接下来是将绘

制好的原理图设计进行仿真,以验证原理图设计是否能够达到预期目的。仿真方法与VHDL语言文件的方法一样

华为_FPGA设计流程指南

FPGA设计流程指南 前言 本部门所承担的FPGA设计任务主要是两方面的作用:系统的原型实现和ASIC的原型验证。编写本流程的目的是: ●在于规范整个设计流程,实现开发的合理性、一致性、高效性。 ●形成风格良好和完整的文档。 ●实现在FPGA不同厂家之间以及从FPGA到ASIC的顺利移植。 ●便于新员工快速掌握本部门FPGA的设计流程。 由于目前所用到的FPGA器件以Altera的为主,所以下面的例子也以Altera为例,工具组合为modelsim + LeonardoSpectrum/FPGACompilerII + Quartus,但原则和方法对于其他厂家和工具也是基本适用的。

目录 1. 基于HDL的FPGA设计流程概述 (1) 1.1 设计流程图 (1) 1.2 关键步骤的实现 (2) 1.2.1 功能仿真 (2) 1.2.2 逻辑综合 (2) 1.2.3 前仿真 (3) 1.2.4 布局布线 (3) 1.2.5 后仿真(时序仿真) (4) 2. Verilog HDL设计 (4) 2.1 编程风格(Coding Style)要求 (4) 2.1.1 文件 (4) 2.1.2 大小写 (5) 2.1.3 标识符 (5) 2.1.4 参数化设计 (5) 2.1.5 空行和空格 (5) 2.1.6 对齐和缩进 (5) 2.1.7 注释 (5) 2.1.8 参考C语言的资料 (5) 2.1.9 可视化设计方法 (6) 2.2 可综合设计 (6) 2.3 设计目录 (6) 3. 逻辑仿真 (6) 3.1 测试程序(test bench) (7) 3.2 使用预编译库 (7) 4. 逻辑综合 (8) 4.1 逻辑综合的一些原则 (8) 4.1.1 关于LeonardoSpectrum (8) 4.1.1 大规模设计的综合 (8) 4.1.3 必须重视工具产生的警告信息 (8) 4.2 调用模块的黑盒子(Black box)方法 (8) 参考 (10) 修订纪录 (10)

FPGA入门及Quartus II使用教程(内部资料)

FPGA入门及Quartus II使用教程FPGA是英文Field Programmable Gate Array的缩写,即现场可编程门阵列,它是在可编程阵列逻辑PAL(Programmable Array Logic)、门阵列逻辑GAL(Gate Array Logic)等可编程器件的基础上上进一步发展的产物。 可以这样讲,ASIC(Application Specific Integrated Circuit )内部的所有资源,是用积木堆积起来的小房子,可以是一个欧美风情的房子,还可以是一个北京四合院…….而FPGA内部就可以说是一个个小积木,也就是内部有大量的资源提供给我们,根据我们的需求进行内部的设计。并且可以通过软件仿真,我们可以事先验证设计的正确性。 第一章FPGA的基本开发流程 下面我们基于Altera 公司的QuantusII 软件来说明FPGA 的开发流程。 下图是一个典型的基于Quartus II的FPGA开发整体流程框图。

1、建立工程师每个开发过程的开始,Quartus II以工程为单位对设计过程进行管 理。 2、建立顶层图。可以这样理解,顶层图是一个容器,将整个工程的各个模块包 容在里边,编译的时候就将这些模块整合在一起。也可以理解为它是一个大元件,比如一个单片机,内部包含各个模块,编译的时候就是生成一个这样的大元件。 3、采用ALTERA公司提供的LPM功能模块。Quartus软件环境包含了大量的常 用功能模块,比如计数器、累加器、比较器等等。 4、自己建立模块。由于有些设计中现有的模块功能不能满足具体设计的要求, 那就只能自己设计。使用硬件描述语言,当然也可以用原理图的输入方法,可以独立的把它们当成一个工程来设计,并且生成一个模块符号(Symbol),类似于那些LPM功能模块。这里可以理解为,如果我们需求的滤波器,没有现成的合适的,那我们可以通过LC自己来搭建一个滤波器。 5、将顶层图的各个功能模块连线起来。这个过程类似电路图设计,把各个芯片 连起来,组成电路系统。 6、系统的功能原理图至此已经基本出炉了,下一步就是选择芯片字载体,分配 引脚,设置编译选项等等。 7、编译。这个过程类似软件开发里德编译,但是实际上这个过程比软件的编译 复杂的多,因为它最终要实现硬件里边的物理结构,包含了优化逻辑的组合,综合逻辑以及布线等步骤。 8、编译后会生成2个文件,一个是*.sof文件,一个是*.pof文件,前者可以通过 JTAG方式下载到FPGA内部,可以进行调试,但断电后数据丢失;后者通过AS或者PS方式下载到FPGA的配置芯片里边(EEPROM或者FLASH),重新上电后FPGA会通过配置将数据读出。 9、对于复杂的设计,工程编译好了,我们可以通过Quartus软件或者其他仿真 软件来对设计进行反复仿真和验证,直到满足要求。(主要是时序仿真)。 第二章基于Quartus II的实例 一、建立工程 首先,打开Quartus II软件。

FPGA原理图方式设计流程图

2 Quartus II软件的使用、开发板的使用 本章将通过3个完整的例子,一步一步的手把手的方式完成设计。完成这3个设计,并得到正确的结果,将会快速、有效的掌握在Altera QuartusII软件环境下进行FPGA设计与开发的方法、流程,并熟悉开发板的使用。 2.1 原理图方式设计3-8译码器 一、设计目的 1、通过设计一个3-8译码器,掌握祝组合逻辑电路设计的方法。 2、初步了解QuartusII采用原理图方式进行设计的流程。 3、初步掌握FPGA开发的流程以及基本的设计方法、基本的仿真分析方法。 二、设计原理 三、设计内容 四、设计步骤 1、建立工程文件 1)双击桌面上的Quartus II的图标运行此软件。

开始界面 2)选择File下拉菜单中的New Project Wizard,新建一个工程。如图所 示。 新建工程向导

3)点击图中的next进入工作目录。 新建工程对话框 4)第一个输入框为工程目录输入框,用来指定工程存放路径,建议可根据自己需要更改路径,若直接使用默认路径,可能造成默认目录下存放多个工程文件影响自己的设计,本步骤结束后系统会有提示(当然你可不必理会,不会出现错误的)。第二个输入框为工程名称输入框。第三个输入框为顶层实体名称输入框,一般情况下保证工程名称与顶层实体名称相同。设定完成后点击next。

指定工程路径、名称 5)设计中需要包含的其它设计文件,在此对话框中不做任何修改,直接点 击next。 工程所需其它文件对话框

6)在弹出的对话框中进行器件的选择。在Device Family框中选用Cyclone II,然后在Available device框中选择EP2C35F484C8,点击next进入下一步。 器件选择界面 7)下面的对话框提示可以勾选其它的第三方EDA设计、仿真的工具,暂时不作任何选择,在对话框中按默认选项,点击next。

使用QUARTUS II做FPGA开发全流程,傻瓜式详细教程

My First FPGA Design Tutorial 101 Innovation Drive San Jose, CA 95134 (408) 544-7000 https://www.sodocs.net/doc/5b421642.html, TU-01002-1.0

Copyright ? 2007 Altera Corporation. All rights reserved. Altera, The Programmable Solutions Company, the stylized Altera logo, specific device des-ignations, and all other words and logos that are identified as trademarks and/or service marks are, unless noted otherwise, the trademarks and service marks of Altera Corporation in the U.S. and other countries. All other product or service names are the property of their respective holders. Al-tera products are protected under numerous U.S. and foreign patents and pending applications, maskwork rights, and copyrights. Altera warrants performance of its semiconductor products to current specifications in accordance with Altera's standard warranty, but reserves the right to make changes to any products and services at any time without notice. Altera assumes no responsibility or liability arising out of the ap- plication or use of any information, product, or service described herein except as expressly agreed to in writing by Altera Corporation. Altera customers are advised to obtain the latest version of device specifications before relying on any published in- formation and before placing orders for products or services. Printed on recycled paper

FPGA开发入门教程

Altera FPGA开发入门教程

目录 目录 第一章 Altera FPGA 开发流程概述 (1) 1.1 你需要准备的 (1) 1.2 Altera FPGA 基本开发流程 (1) 第二章 QuartusII 软件安装教程 (4) 第三章 完成第一个FPGA设计 (20) 3.1 启动和建立QuartusII工程 (20) 3.2 编辑我们的设计文件 (27) 3.3 综合、布局布线 (30) 3.4 引脚约束 (34) 3.5 再次综合、布局布线 (37) 第四章 配置FPGA (38) 4.1 JTAG配置 (38) 4.2 JIC烧写 (42)

第一章Altera FPGA 开发流程概述 本章介绍Altera FPGA的最基本最简单的开发流程,目的在于让您更直观了解FPGA开发设计过程,最快上手FPGA开发,最快找到感觉:-) 1.1你需要准备的 ●兴趣 无需多言,兴趣是最好的老师! ●基本电路知识 学习FPGA最好能懂一些模拟电路和数字电路的基础知识,比如知道什么是高电平、低电平、逻辑门、触发器、电阻电容、发光二极管等。只需基本概念即可,不要求你是专家。当然,如果你有单片机之类的开发经验,那会更好! ●Verilog语言 是的,我们用Verilog进行FPGA设计。因为近年来,Verilog的使用率已经远远超过VHDL。你不需要太精通Verilog的语法,但是你需要用硬件的思维来学习和使用Verilog。在接下来的FPGA学习中,我们会反复强调这一点,以便带给你更深的体会。 ●硬件平台 纸上得来终觉浅。一块优秀而又易用的入门级FPGA开发板,会祝您一臂之力! 1.2A ltera FPGA 基本开发流程 图1- 1展示了Altera FPGA的基本开发流程。 1

FPGA基本设计流程资料

FPGA基本设计流程 首先建立工作库目录,以便设计工程项目的存储。注意不要将文件夹 1 建立工作库文件夹和编辑设计文件 1.1 新建一个文件夹(注意文件夹不能用中文,也不要用数字) 任何一项设计都是一项工程(Project),都必须首先为此工程建立一个放置与此工程相关的所有设计文件的文件夹。此文件夹将被EDA软件默认为工作库(Work Library)。一般,不同的设计项目最好放在不同的文件夹中,而同一工程的所有文件都必须放在同一文件夹中。在建立了文件夹后就可以将设计文件通过Quartus II的文本编辑器编辑并存盘,这里新建文件夹在E盘中,取名为 jsq,则其路径是e:\jsq。步骤如下: 1.2 源程序输入 打开计算机桌面上图表,选择菜单File→New,出现如图1所示见面,在New窗口Device Design Files中选择编译文件的语言类型,这里选择VHDL File,选好后用鼠标左键点击OK,出现源程序输入窗口如图2所示(以十进制为例)。 图1 选择编译文件的语言类型

图2 源程序输入窗口 源程序 LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; USE IEEE.STD_LOGIC_UNSIGNED.ALL; ENTITY CNT10 IS PORT (CLK,RST,EN : IN STD_LOGIC; CQ : OUT STD_LOGIC_VECTOR(3 DOWNTO 0); COUT : OUT STD_LOGIC ); END CNT10; ARCHITECTURE behav OF CNT10 IS BEGIN PROCESS(CLK, RST, EN) VARIABLE CQI : STD_LOGIC_VECTOR(3 DOWNTO 0); BEGIN IF RST = '1' THEN CQI := (OTHERS =>'0') ; --计数器异步复位 ELSIF CLK'EVENT AND CLK='1' THEN --检测时钟上升沿 IF EN = '1' THEN --检测是否允许计数(同步使能) IF CQI < 9 THEN CQI := CQI + 1; --允许计数, 检测是否小于9 ELSE CQI := (OTHERS =>'0'); --大于9,计数值清零 END IF; END IF; END IF; IF CQI = 9 THEN COUT <= '1'; --计数大于9,输出进位信号 ELSE COUT <= '0'; END IF;

FPGA学习指南

PS:笔者强烈建议诸位注册一个EETOP的账号,每天签到或者发贴、回贴就有积分了,里面的资源非常丰富,各种软件、资料都能找到。 一、入门首先要掌握HDL(HDL=verilog+VHDL)。 第一句话是:还没学数电的先学数电。然后你可以选择verilog或者VHDL,有C语言基础的,建议选择VHDL。因为verilog太像C了,很容易混淆,最后你会发现,你花了大量时间去区分这两种语言,而不是在学习如何使用它。当然,你思维能转得过来,也可以选verilog,毕竟在国内verilog用得比较多。 接下来,首先找本实例抄代码。抄代码的意义在于熟悉语法规则和编译器(这里的编译器是硅编译器又叫综合器,常用的编译器有:Quartus、ISE、Vivado、Design Compiler、Synopsys的VCS、iverilog、Lattice的Diamond、Microsemi/Actel的Libero、Synplify pro),然后再模仿着写,最后不看书也能写出来。编译完代码,就打开RTL图,看一下综合出来是什么样的电路。 HDL是硬件描述语言,突出硬件这一特点,所以要用数电的思维去思考HDL,而不是用C语言或者其它高级语言,如果不能理解这句话的,可以看《什么是硬件以及什么是软件》。在这一阶段,推荐的教材是《Verilog传奇》、《Verilog HDL高级数字设计》或者是《用于逻辑综合的VHDL》。不看书也能写出个三段式状态机就可以进入下一阶段了。 此外,你手上必须准备Verilog或者VHDL的官方文档,《verilog_IEEE官方标准手册-2005_IEEE_P1364》、《IEEE Standard VHDL Language_2008》,以便遇到一些语法问题的时候能查一下。 二、独立完成中小规模的数字电路设计。 现在,你可以设计一些数字电路了,像交通灯、电子琴、DDS等等,推荐的教材是《Verilog HDL应用程序设计实例精讲》。在这一阶段,你要做到的是:给你一个指标要求或者时序图,你能用HDL设计电路去实现它。这里你需要一块开发板,可以选Altera的cyclone IV系列,或者Xilinx的Spantan 6。还没掌握HDL之前千万不要买开发板,因为你买回来也没用。这里你没必要每次编译通过就下载代码,咱们用modelsim仿真(此外还有QuestaSim、NC verilog、Diamond的Active-HDL、VCS、Debussy/Verdi等仿真工具),如果仿真都不能通过那就不用下载了,肯定不行的。在这里先掌握简单的testbench就可以了。推荐的教材是《WRITING TESTBENCHES Functional Verification of HDL Models》。 三、掌握设计方法和设计原则。 你可能发现你综合出来的电路尽管没错,但有很多警告。这个时候,你得学会同步设计原则、优化电路,是速度优先还是面积优先,时钟树应该怎样设计,怎样同步两个异频时钟 《Altera FPGA/CPLD 等等。推荐的教材是《FPGA权威指南》、《IP核芯志-数字逻辑设计思想》、 设计》第二版的基础篇和高级篇两本。学会加快编译速度(增量式编译、LogicLock),静态时序分析(timequest),嵌入式逻辑分析仪(signaltap)就算是通关了。如果有不懂的地方可以暂时跳过,因为这部分还需要足量的实践,才能有较深刻的理解。 四、学会提高开发效率。 因为Quartus和ISE的编辑器功能太弱,影响了开发效率。所以建议使用Sublime text 编辑器中代码片段的功能,以减少重复性劳动。Modelsim也是常用的仿真工具,学会TCL/TK 以编写适合自己的DO文件,使得仿真变得自动化,推荐的教材是《TCL/TK入门经典》。你可能会手动备份代码,但是专业人士都是用版本控制器的,所以,为了提高工作效率,必须掌握GIT。文件比较器Beyond Compare也是个比较常用的工具。此外,你也可以使用System Verilog来替代testbench,这样效率会更高一些。如果你是做IC验证的,就必须掌

FPGA设计流程

基于多种 EDA工具的FPGA设计流程 发表时间:2008-6-30 蒋昊李哲英来源:万方数据 关键字:FPGA EDA CPU 信息化应用调查在线投稿加入收藏发表评论好文推荐打印文本 本文介绍了FPGA的完整设计流程,其中包括电路设计与输入、功能仿真、综合优化、综合后仿真、实现与布局布线、时序仿真、板级仿真与脸证、调试与加载配置等主要步珠。并通过一个8-bit RISC CPU的设计来例系统地介绍了利用多种EDA工具进行 FPGA协同设计的实现原理及方法 近年来,随着微电子学的迅速发展以及SoC(System on Chip,片上系统)技术在设计领域引起的深刻变革, EDA(Electornic Design Automatic,电子设计自动化)工具在系统设计中的地位愈发重要。特别是20世纪90年代后,电子系统已经由电路板级发展为ASIC(Application SpecificIntegrated Circuit,专用集成电路),FPGA(Field Porgrammable Gate Array,现场可编程门阵列)以及嵌人式系统等多种模式,其中FPGA设计正是当前数字系统设计领域中的重要方式之一。 本文以Altera公司的FPGA为目标器件,通过一个8-bit RISC CPU的设计实例,系统地介绍了FPGA的完整设计流程以及开发过程中用到的多种EDA工具,包括Modelsim,Synplify,QuatrusII,并重点说明如何使用这些EDA工具进行协同设计。 1FPGA的设计流程 一般来说,完整的FPGA设计流程包括电路设计与输人、功能仿真、综合优化、综合后仿真、实现与布局布线、时序仿真、板级仿真与验证、调试与加载配置等主要步骤,如图1所示。电路设计与输人是指通过某些规范的描述方式,将工程师的电路构思输人给EDA工具,常用的设计方法有HDL(Hardwaer Description Language,硬件描述语言)设计输人法与原理图设计输人法。目前进行大型工程设计时,最常用的设计方法是HDL设计输人法,它利于自顶向下设计以及模块的划分与复用,可移植性和通用性好,设计不因芯片的工艺与结构的不同而变化,更利于向ASIC移植。 电路设计完成后,要用专用的仿真工具对设计进行功能仿真(FunctionalSimulation),验证电路功能是否符合设计要求。功能仿真又称前仿真(Per-Simulation)。通过仿真能及时发现设计中的错误,加快设计进度,提高设计的可靠性。综合(Synthesis)优化是指将HDL语言、原理图等设计输人翻译成由基本门、RAM、触发器等基本逻辑单元组成的逻辑网表,并根据目标与要求(约束条件)优化所生成的逻辑网表,输出标准格式的网表文件,供FPGA厂商的布局布线器进行实现。综合后仿真(Post Synthesis Simulation)的作用是检查综合出的结果与原设计是否一致。作综合后仿真时,要把综合生成的标准延时格式SDF(Standard Dela Format)文件反标注到综合仿真模型中去,可估计门延时带来的影响。综合后仿真虽然比功能仿真精确一些,但是只能估计门延时,不能估计线延时,仿真结果与布线后的实际情况还有一定

FPGA入门系列实验教程——LED跑马灯

艾米电子工作室FPGA入门系列实验教程 FPGA入门系列实验教程V1.0 前言 目前市场销售FPGA开发板的厂商很多,但大多只提供些简单的代码,没有详尽的文档和教程提供给初学者。经验表明,很多学生在学习FPGA设计技术的过程中,虽然刚开始学习热情很高,但真正坚持下来一直到“学会”的却寥寥无几,除了学生个人毅力的因素外,另外一个更主要的原因就是所选的开发板缺少配套的说明文档和手把手系列的入门教程。原本FPGA的学习门槛相对于单片机来说就高了不少,再加上缺少手把手系列教程资料,这就给初学者学习FPGA增添了更多的困难,很多初学者因为找不到入门的方法而渐渐失去了学习FPGA的兴趣和信心。 作者从接著到系统学习FPGA有两年多的时间了,学习FPGA的时间不长,期间因为没有专业的老师指导,自己摸索学习FPGA走了很多的弯路。有过问题迎刃而解的快乐,也有过苦苦寻求结果和答案的痛苦历程,回想起自己学习FPGA的历程,从开始的茫然,到后来的疯狂看书,购买开发板,在开发板上练习各种FPGA实例,到最后能独立完成项目,一路走来,感受颇多。发觉学习FPGA只要选择正确的方法是有捷径可走的,有很多人学习FPGA很长时间,因为没有找到正确的方法还是停留在入门阶段。 针对现状,作者从初学者的角度出发,结合作者学习FPGA的经验和亲身体会,遵循“宁可啰嗦一点,也不放过细节”的原则编写了详尽的实验教程作为艾米电子工作室开发套件的配套教程使用,主要面向FPGA初学者。FPGA的学习只有通过大量的操作与实践才能很好并快速的掌握。为此本实验教程从点亮LED 灯写起,深入浅出,以图文并茂的方式由易到难地列举了很多实例,采用手把手、Step by Step的方式让初学者以最快的方式掌握FPGA技术的开发流程以及Quartus II软件的使用,从而激起初学者学习FPGA的兴趣。在教程中作者采用“授人以渔”的方式,努力做到不仅讲述怎样进行试验,而且分析为什么这样做,以便初学者深刻理解并快速掌握FPGA的学习方法。 本实验教程的所有实例均在艾米电子工作室开发套件上验证通过,本教程虽然简单但编写也花费了作者大量的时间和精力,对于转载需要注明出处:https://www.sodocs.net/doc/5b421642.html,(艾米电子工作室作者:静水流深),并未经艾米电子工作室同意不得用于其他商业用途。 FPGA技术是不断发展变化的,要掌握FPGA技术的精髓,需要设计者在实践中不懈地摸索与积累,逐步提高自己的设计水平,本实验教程试图对初学者起到快速入门的作用。但由于作者学习FPGA时间不长,水平有限,错漏和不严谨之处在所难免,欢迎大家批评指正。并请您将阅读中发现的错误或建议发送到作者Email:zhoujie9220@https://www.sodocs.net/doc/5b421642.html,,以使本教程不断地完善。

FPGA开发设计流程和功能实现

FPGA设计流程与功能实现 前言 本部门所承担的FPGA设计任务主要是两方面的作用:系统的原型实现和ASIC的原型验证。编写本流程的目的是: ●在于规范整个设计流程,实现开发的合理性、一致性、高效性。 ●形成风格良好和完整的文档。 ●实现在FPGA不同厂家之间以及从FPGA到ASIC的顺利移植。 ●便于新员工快速掌握本部门FPGA的设计流程。 由于目前所用到的FPGA器件以Altera的为主,所以下面的例子也以Altera为例,工具组合为modelsim + LeonardoSpectrum/FPGACompilerII + Quartus,但原则和方法对于其他厂家和工具也是基本适用的。

目录 1. 基于HDL的FPGA设计流程概述 (1) 1.1 设计流程图 (1) 1.2 关键步骤的实现 (2) 1.2.1 功能仿真 (2) 1.2.2 逻辑综合 (2) 1.2.3 前仿真 (3) 1.2.4 布局布线 (3) 1.2.5 后仿真(时序仿真) (4) 2. Verilog HDL设计 (4) 2.1 编程风格(Coding Style)要求 (4) 2.1.1 文件 (4) 2.1.2 大小写 (5) 2.1.3 标识符 (5) 2.1.4 参数化设计 (5) 2.1.5 空行和空格 (5) 2.1.6 对齐和缩进 (5) 2.1.7 注释 (5) 2.1.8 参考C语言的资料 (5) 2.1.9 可视化设计方法 (6) 2.2 可综合设计 (6) 2.3 设计目录 (6) 3. 逻辑仿真 (6) 3.1 测试程序(test bench) (7) 3.2 使用预编译库 (7) 4. 逻辑综合 (8) 4.1 逻辑综合的一些原则 (8) 4.1.1 关于LeonardoSpectrum (8) 4.1.1 大规模设计的综合 (8) 4.1.3 必须重视工具产生的警告信息 (8) 4.2 调用模块的黑盒子(Black box)方法 (8) 参考 (10) 修订纪录 (10)

Xilinx_FPGA中文教程

Spartan-3E Starter Kit Board User Guide

Chapter 1: Introduction and Overview Chapter 2: Switches, Buttons, and Knob Chapter 3: Clock Sources Chapter 4: FPGA Configuration Options Chapter 5: Character LCD Screen Chapter 6: VGA Display Port Chapter 7: RS-232 Serial Ports Chapter 8: PS/2 Mouse/Keyboard Port Chapter 9: Digital to Analog Converter (DAC) Chapter 10: Analog Capture Circuit Chapter 11: Intel StrataFlash Parallel NOR Flash PROM Chapter 12: SPI Serial Flash Chapter 13: DDR SDRAM Chapter 14: 10/100 Ethernet Physical Layer Interface Chapter 15: Expansion Connectors Chapter 16: XC2C64A CoolRunner-II CPLD Chapter 17: DS2432 1-Wire SHA-1 EEPROM

Chapter 1:Introduction and Overview Spartan-3E 入门实验板使设计人员能够即时利用Spartan-3E 系列的完整平台性能。 设备支持设备支持::Spartan-3E 、CoolRunner-II 关键特性关键特性::Xilinx 器件: Spartan-3E (50万门,XC3S500E-4FG320C), CoolRunner?-II (XC2C64A-5VQ44C)与Platform Flash (XCF04S-VO20C) 时钟时钟::50 MHz 晶体时钟振荡器 存储器: 128 Mbit 并行Flash, 16 Mbit SPI Flash, 64 MByte DDR SDRAM 连接器与接口: 以太网10/100 Phy, JTAG USB 下载,两个9管脚RS-232串行端口, PS/2类型鼠标/键盘端口, 带按钮的旋转编码器, 四个滑动开关,八个单独的LED 输出, 四个瞬时接触按钮, 100管脚hirose 扩展连接端口与三个6管脚扩展连接器 显示器: VGA 显示端口,16 字符- 2 线式 LCD 电源电源::Linear Technologies 电源供电,TPS75003三路电源管理IC 市场: 消费类, 电信/数据通信, 服务器, 存储器 应用: 可支持32位的RISC 处理器,可以采用Xilinx 的MicroBlaze 以及PicoBlaze 嵌入式开发系统;支持DDR 接口的应用;支持基于Ethernet 网络的应用;支持大容量I/O 扩展的应用。 Choose the Starter Kit Board for Your Needs Spartan-3E FPGA Features and Embedded Processing Functions Spartan3-E FPGA 入门实验板具有Spartan3-E FPGA 系列突出独特的特点和为嵌入式处理发展与应用提供了很大的方便。该板的特点如下: Spartan3-E 特有的特征:并行NOR Flash 配置;通过并行NOR Flash PROM 实现FPGA 的多种配置方式 嵌入式系统:MicroBlaze? 32-bit 嵌入RISC 处理器;PicoBlaze? 8-bit 嵌入控制器;DDR 存储器接口 Learning Xilinx FPGA, CPLD, and ISE Development Software Basics Spartan3-E FPGA 入门实验板比其他的入门实验板先进、复杂。它是学习FPGA 或CPLD 设计和怎样运用ISE 软件的基础。 Advanced Spartan-3 Generation Development Boards 入门实验板示范了MicroBlaze? 32-bit 嵌入式处理器和EDK 的基本运用。其更先进的地方

FPGA入门实验教程 适合初学者

艾米电子工作室—让开发变得更简单https://www.sodocs.net/doc/5b421642.html, FPGA 入门系列实验教程——点亮LED 1. 实验任务 点亮发光二极管。通过这个实验,熟悉并掌握CPLD/FPGA 开发软件Quartus II 的使用方法和开发流程以及Verilog HDL的编程方法。 2. 实验环境 硬件实验环境为艾米电子工作室型号EP2C5T144 开发套件。 软件实验环境为Quartus II 8.1 开发软件。 3. 实验原理 FPGA 器件同单片机一样,为用户提供了许多灵活的独立的输入/输出I/O 口 (单元)。FPGA 每个I/O 口可以配置为输入、输出、双向、集电极开路和三态门等各种组态。作为输出口时,FPGA 的I/O 口可以吸收最大为24mA 的电流, 可以直接驱动发光二极管LED 等器件。图1. 1 为8 个发光二极管硬件原理图, 本原理图对应艾米电子工作室型号为EP2C5T144 FPGA 开发板及接口板。通过 原理图可知如果要点亮这八个LED,所以只要正确分配并锁定引脚后,在相应 的引脚上输出相应高电平“1”,就可实现点亮该发光二极管的功能。本工作室开 发板均采用输出“1”点亮LED 的模式,以后就不再另作说明。 图1. 1 发光二极管LED 硬件原理图 艾米电子工作室—让开发变得更简单https://www.sodocs.net/doc/5b421642.html, FPGA 入门系列实验教程——LED 闪烁灯 1. 实验任务 让实验板上的8 个LED 周期性的闪烁。通过这个实验,熟悉并掌握采用计数 与判断的方式来实现分频的Verilog HDL 的编程方法以及Quartus II 软件的使 用方法和开发流程。 2. 实验环境 硬件实验环境为艾米电子工作室型号EP2C8Q208 增强版开发套件。 软件实验环境为Quartus II 8.1 开发软件。 3. 实验原理 艾米电子工作室开发套件板载50MHz 的时钟源,假如我们直接把它输入到发光二极管LED,由于人眼的延迟性,我们将无法看到LED 闪烁,认为 它一直亮着。如果我们期望看到闪烁灯,就需要将时钟源的频率降低后再输

FPGA 的设计开发流程主要包括以下步骤

FPGA的设计开发流程主要包括以下步骤:设计输入( Design Entry )、仿真验证( Verification )、综合( Synthesis )及布局布线( Place & Route)和比特流生成。 在简单的 FPGA 设计中,设计输入就是使用硬件描述语言编写 RTL 的过程,虽然还有一些基于状态图、真值表、流程图、方框图的设计输入方法,现在基本已经被淘汰。硬件描述语言最重要的是 Verilog / SystemVerilog,其次是VHDL 。目前基于 VHDL 的设计越来越少。 SystemVerilog 是 VHDL 和 Verilog 合并后产生的新语言,是它们的继承和发展。对于初学者,学习 SystemVerilog 就够了。设计输入编辑工具有很多, ModelSim 、Visual HDL 、 ActiveHDL 、ISE 、Quartus II 都有针对 HDL 的编辑工具,也有些人使用支持 Verilog 语法高亮的 UltraEdit 。 ActiveHDL 提供 HDL 语法高亮显示、自动产生文本结构、自动格式化文本等非常有益的文本编辑浏览特性,在国内很受欢迎。对于设计输入,核心的问题是有三个:(1)熟练使用 HDL 语言(2)准确的把握要完成的设计功能及其性能指标;(3)充分理解常见的设计思想,保证设计功能和性能指标的恰当表达。 基于HDL的设计输入的缺点是效率低下,不能满足复杂设计快速实现的要求,其优点是与电路结构紧密联系,能够清晰的表达跨时终域、延迟、逻辑工程和比特存储功能。近年来,基于 C / SystemC 语言的算法综合和系统级综合技术发展迅速。用户只需使用 C / SystemC 描述目标设计,工具就能够自动完成 C / SystemC 描述到 RTL 描述的综合。这种新技术在航空、航天、军工等领域广泛使用,主要用于运算加速。目前比较成功的 C / SystemC 描述到 RTL 描述的综合的软件有 CoDeveloper ( Impulse C )、 Catapult C 等。我们也在研发一种称作 ESLFlex 的国产综合软件。 ESLFlex 与 CoDeveloper ( Impulse C )、Catapult C 等的区别是: ESLFlex 是一种系统级综合工具,在系统级综合领域有一些独特的创新,从SystemC 非定时模型得到异构多核SoC ,而CoDeveloper ( Impulse C )、Catapult C 是算法综合工具,综合的结果是一个算法加速IP。 设计输入的另外一个重要技能是学会使用 FPGA 厂商提供的设计库,里面有大量可根据应用定制的专门单元,如 FIFO 、SRAM 、差分IO 、 DLL 等。 仿真验证是 FPGA 开发的第二个步骤,目的是验证所编写的 HDL 或者高层次综合得到的 HDL 的功能正确性,即是否与预定的功能相符。这时需要使用SystemVerilog 或者 SystemC 编写 Testbench,以产生 RTL 设计的激励,并对RTL 的输出进行分析。简单的设计使用 SystemVerilog 编写 Testbench 即可,对于复杂的设计以及软硬件结合的设计,使用 SystemC 更加方便。验证的最基本方法是仿真。仿真包括功能仿真和时序仿真。其中,功能仿真在布局布线之前,检查设计输入的正确性;时序仿真在布局布线之后,主要检查时序的收敛性,综合结果与功能仿真的不一致性。常见的仿真工具有 ModelSim 、 ActiveHDL 等。仿真工具都支持 SystemVerilog 、 SystemC 和 VHDL ,也支持这些语言混合在一起的设计。对于一些小的设计,主要是肉眼观察仿真结果是否与预期相符,对于一个复杂的大设计,要首先验证每一个子模块的功能正确性,对于整个大设计,

CPLD入门教程

目录 前言 (2) 第一章 MAX+plusII 软件和license的获得 (6) 第二章 MAX+plusII 软件的安装和license及驱动的设置 2.1 MAX+plusII 软件的安装 (7) 2.2 MAX+plusII 软件的license设置 (8) 2.3 MAX+plusII 软件的驱动设置 (12) 第三章用VHDL语言设计三人表决器 3.1打开MAX+plusII (22) 3.2新建VHDL文档 (23) 3.3输入设计文件 (24) 3.4保存文件 (25) 3.5检查编译 (27) 3.6创建symbol (32) 3.7波形防真 (33) 3.8下载验证 (40) 第四章用原理图输入的方式设计三人表决器 (47) 第五章用verilog-HDL语言设计三人表决器 (51)

前言 编写本入门教程(V1.2)的目点是为了让FPGA/CPLD初学者快速地入门。该教程的特点是通过基本概念讲解和实际的例子来让初学者迅速了解FPGA/CPLD。该教程是共享文件,可以复制、下载、转载,如果转载该文章请注明出处:https://www.sodocs.net/doc/5b421642.html,;该教程未经许可,不得用于商业用途。 FPGA/CPLD是电子设计领域中最具活力和发展前途的一项技术,它的影响丝毫不亚于70年代单片机的发明和使用。 FPGA/CPLD的基本知识: 1.什么是FPGA/CPLD FPGA (Field Programmable Gate Array)是现场可编程门阵列,CPLD是复杂的可编程逻辑器件(Complex Programmable Logic Device)的简称,不同厂家有不同的称呼,Xilinx把SRAM工艺,要外挂配置用的EEPROM的PLD叫FPGA,把Flash工艺(类似EEPROM工艺),乘积项结构的PLD叫CPLD; Altera把自己的PLD产品MAX系列(EEPROM工艺),FLEX/ACEX/APEX系列(SRAM工艺)都叫作CPLD,即复杂PLD(Complex PLD),由于FLEX/ACEX/APEX系列也是SRAM工艺,要外挂配置用的EPROM,用法和Xilinx的FPGA一样,所以很多人把Altera的FELX/ACEX/APEX系列产品也叫做FPGA. 但由于FPGA和CPLD功能基本相同,只是工艺和实现形式不同,所以初学者可以不要详细区分,我们可以统称为FPGA/CPLD。 2.FPGA/CPLD的用途:

华为FPGA设计高级技巧(Xilinx篇)

共62页 产品名称Xilinx 篇 yyyy/mm/dd 日期 2001/09/15 日期深圳市华为技术有限公司 版权所有 不得复制

修订记录 内部公开请输入文档编号 FPGA 设计高级技巧

目 录 41 4.3 减少关键路径的逻辑级数.............................................404.2IF 语句和Case 语句揭开 逻辑级数未 变 速度更快 SRL VirtexII Xilinx 篇

62 6.3.3 专有资源的利用................................................ 616.3.2 Distributed RAM 代替通道计数器...................................616.3.1 Distributed RAM 代替BlockRAM ....................................616.3 如何降低芯片面积..................................................616.2.9 迂回策略为关键路径腾挪空间 进行位置约束..................................... 616.2.7 关键路径单独综合 ....................................... 616.2.5 专有资源的利用................................................ 616.2.4 基本设计技巧..................................................616.2.3 采用BUFGS ...................................................616.2.2 对线延时比较大的net TIG 和Multi-Cycle-Path ................... 606.2 如何提高芯片速度.................................................. 606.1 可能成为关键路径的电路.............................................606 综合运用..............................................................605.4 TimingAnalyzer 的作用...............................................595.3 FloorPlanner 的作用..................................................595.2 FPGA Editor 的作用..................................................595.1.3 正确看待map 之后的资源占用报告..................................585.1.2 布局布线策略 设计方案阶段对关键电路的处理....................... 585.1 布局布线.......................................................... 585 如何使用后端工具.......................................................574.16 LFSR 加1计数器...................................................574.15 SRL 的使用.......................................................574.14 Block SelectRAM 的使用.............................................564.13 Distributed RAM 的使用.............................................554.12 高效利用IOB ......................................................544.11 利用LUT 四输入特点 减少扇出 巧妙地延时................................ 49 4.7 组合逻辑和时序逻辑分离............................................. 474.6 流水线................................................464.5.4 综合工具与资源共享............................................464.5.3 子表达式共享..................................................454.5.2 loop 语句......................................................444.5.1 if 语句........................................................444.5 资源共享..........................................................434.4 合并if 语句 赋予关键路径最高优先级............................ 内部公开请输入文档编号 FPGA 设计高级技巧

相关主题