何宾 2008.10

48
何何 2008.10

Upload: laurie

Post on 06-Jan-2016

27 views

Category:

Documents


7 download

DESCRIPTION

EDA 原理及应用. 何宾 2008.10. 第六章. 第 6 章. 基于 HDL 的设计输入 - 本章概要. 该章主要是通过一个设计实例介绍基于 HDL 的设计流程。通过这个设计实例,读者可以掌握基于 HDL 语言的基本设计流程。这个设计基于 HDL 语言和 IP 核。 本章是 HDL 基本设计流程的第一部分,当设计输入完成后,应依次完成行为仿真、设计实现(翻译、映射和布局布线)、时序仿真、下载和配置的基本设计流程。. 基于 HDL 的设计输入 - 软件环境. 第六章. 图 6.1 ISE 的主界面. - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: 何宾 2008.10

何宾2008.10

Page 2: 何宾 2008.10

第 6 章

该章主要是通过一个设计实例介绍基于 HDL 的设计流程。通过这个设计实例,读者可以掌握基于 HDL 语言的基本设计流程。这个设计基于 HDL 语言和 IP 核。 本章是 HDL 基本设计流程的第一部分,当设计输入完成后,应依次完成行为仿真、设计实现(翻译、映射和布局布线)、时序仿真、下载和配置的基本设计流程。

基于基于 HDLHDL 的设计输入的设计输入 -- 本章概要本章概要

第六章第六章第六章第六章

Page 3: 何宾 2008.10

基于基于 HDLHDL 的设计输入的设计输入 -- 软件环境软件环境

  图 6.1 给出了 ISE 的主界面窗口。 ISE 的主界面可以分为 4 个子窗口。

图 6.1 ISE 的主界面

第六章第六章第六章第六章

Page 4: 何宾 2008.10

基于基于 HDLHDL 的设计输入的设计输入 -- 软件环境软件环境

  左上角的窗口是源文件窗口,设计工程所包括的文件以分层的形式列出。 在该子窗口的下面是处理窗口,该窗口描述的是对于选定的设计文件可以使用的处理流程。 在 ISE 主界面最下面是脚本窗口,在该窗口中显示了消息、错误和警告的状态。同时还有 Tcl 脚本的交互和文件中查找的功能。 在 ISE 的右上角是多文档的窗口,在该窗口可以查看 html 的报告, ASCII 码文件、原理图和仿真波形。通过选择 View->Restore Default Layout 可以恢复界面的原始设置。

第六章第六章第六章第六章

Page 5: 何宾 2008.10

基于基于 HDLHDL 的设计输入的设计输入 -- 软件环境软件环境

  这个窗口有三个标签:源( Source )、 Snapshots (快照)、 Library (库)。 源标签内显示工程名、指定的芯片和设计有关的文档。在设计视图的每一个文件都有一个相关的图标,这个图标显示的是文件的类型( HDL 文件、原理图、 IP 核和文本文件)。‘ +’ 表示该设计文件包含了更低层次的设计模块。 标签内显示的是目前所打开文件快照。一个快照是在该工程里所有文件的一个拷贝。通过该标签可以察看报告、用户文档和源文件。在该标签下所有的信息都是只读的。

●● 1 、源文件( source )子窗口

第六章第六章第六章第六章

Page 6: 何宾 2008.10

基于基于 HDLHDL 的设计输入的设计输入 -- 软件环境软件环境

  在该窗口只有一个处理标签。该标签有下列功能: 增加已有文件;

创建新文件; 察看设计总结(访问符号产生工具,例化模板,察看命令行历史和仿真库编辑); 用户约束文件(访问和编辑位置和时序约束); 综合(检查语法、综合、察看 RTL 和综合报告); 设计实现(访问实现工具,设计流程报告和其它一些工具); 产生可编程文件(访问配置工具和产生比特流文件)。

●●  2 、处理( process )子窗口

第六章第六章第六章第六章

Page 7: 何宾 2008.10

基于基于 HDLHDL 的设计输入的设计输入 -- 软件环境软件环境

工作区子窗口提供了设计总结、文本编辑器、 ISE 仿真器 / 波形编辑器、原理图编辑器功能。 设计总结提供了关于该设计工程的更高级信息,包括信息概况、芯片资源利用报告、与布局布线相关性能数据、约束信息和总结信息等。 源文件和其它文本文件可以通过设计人员指定的编辑工具打开。编辑工具的选择由 Edit->Preference 属性决定,缺省的是 ISE 的文本编辑器,通过该编辑器可以编辑源文件和用户文档,也可以访问语言模板。

●●  3 、工作区( Workspace )子窗口

第六章第六章第六章第六章

Page 8: 何宾 2008.10

基于基于 HDLHDL 的设计输入的设计输入 -- 软件环境软件环境

通过 ISE 仿真器和波形编辑器创建和仿真测试平台。波形编辑器提供了图形化的激励源和期望响应输出,然后产生使 VHDL/Verilog 语言描述的测试平台。 原理图编辑器集成在 ISE 中,原理图编辑器是采用图形的方式创建和查看逻辑设计。

第六章第六章第六章第六章

Page 9: 何宾 2008.10

基于基于 HDLHDL 的设计输入的设计输入 -- 综合工具介综合工具介绍绍

EDA 设计人员可以使用不同的综合工具综合设计。下面将介绍ISE 支持的综合工具,并包括与综合工具相关的属性设置。 1 、精确的综合工具 这种综合工具不属于 ISE软件包的一部分,如需使用必须单独购买。两个通常使用的属性是优化目标和优化级别。通过选择这两种属性来控制综合结果:面积或速度,以及综合器运行时间。这种综合工具对 HDL 和原理图设计流程均可使用。

第六章第六章第六章第六章

Page 10: 何宾 2008.10

基于基于 HDLHDL 的设计输入的设计输入 -- 综合工具介综合工具介绍绍

2 、 Synplify/Synplify pro 工具 这种综合工具不属于 ISE 的一部分,如需使用必须单独的购买。这种综合工具只能用于基于 HDL 语言的设计流程,而不能用于基于原理图的设计流程。 3 、 XST 综合工具 这种综合工具是 ISE软件包的一部分,是 Xilinx公司自己的综合工具。这种综合工具对基于 HDL 语言和原理图的设计流程均可使用。

第六章第六章第六章第六章

Page 11: 何宾 2008.10

基于基于 HDLHDL 的设计输入的设计输入 -- 工程建立工程建立

在建立工程前,需要将示例文件从光盘上拷到创建工程的路径下。该设计完成一个比赛用的秒表计时器(设计文件通过 http://china.xilinx.com/support/techsup/tutorials /tutorials9.htm资源下载)。 1 、在桌面上,双击 ISE9.2 的图标或者在开始菜单 -> 所有程序 ->XilinxISE9.1->Project Navigator 。在 ISE 主界面中选择 File->New Project 。如图 6.2 所示,桌面出现下面的界面;

第六章第六章第六章第六章

Page 12: 何宾 2008.10

基于基于 HDLHDL 的设计输入的设计输入 -- 工程建立工程建立

图 6.2 创建新工程的界面

第六章第六章第六章第六章

Page 13: 何宾 2008.10

基于基于 HDLHDL 的设计输入的设计输入 -- 工程建立工程建立

2 、在 Project Location域内,给出保存工程的路径; 3 、在 Project name域内,给出工程名 wtut_vhd ; 4 、在 Top-Level Source Type域内,选择 HDL ,单击下一步。出现图 6.3 图形界面。 5 、在 Device Properties 界面中,选择合适的产品范围( product category )、芯片的系列( Family )、具体的芯片型号( Device )、封装类型( Package )、速度信息( speed ),此外,在该界面中还要选择综合工具( Synthesis Tool )、仿真工具( Simulator )和设计语言( Preferred Language )。图 6.3 给出了示例中的参数配置;

第六章第六章第六章第六章

Page 14: 何宾 2008.10

基于基于 HDLHDL 的设计输入的设计输入 -- 工程建立工程建立

图 6.3 芯片属性界面

第六章第六章第六章第六章

Page 15: 何宾 2008.10

基于基于 HDLHDL 的设计输入的设计输入 -- 工程建立工程建立

6 、连续两次用鼠标点击下一步按钮,出现图 6.4添加源文件的界面; 在该界面中,点击“ Add Source”按钮。添加下列文件:clk_div_262k,lcd_control, statmach, stopwatch ,并单击 open按钮;

图 6.4 添加 源 的 界面

第六章第六章第六章第六章

Page 16: 何宾 2008.10

基于基于 HDLHDL 的设计输入的设计输入 -- 工程建立工程建立

7 、单击下一步按钮,然后完成新工程的建立; 8 、在确认所有的设计文件和 Synthesis/Imp+Simulation 关联后,单击 ok ;

第六章第六章第六章第六章

Page 17: 何宾 2008.10

基于基于 HDLHDL 的设计输入的设计输入 -- 设计描述设计描述

在该设计中,采用了层次化的、基于 VHDL 语言的设计流程。表明该设计的顶层文件是由 VHDL 语言生成,而顶层文件以下的其它模块可以用 VHDL 、原理图或 IP 核生成。 该章将要对一个还没有设计完成的工程进行进一步的处理,直到最终完成这个设计。通过这个设计流程,读者可以完成并且产生其它模块。当设计完成后,就可以通过仿真验证设计的正确性。

第六章第六章第六章第六章

Page 18: 何宾 2008.10

基于基于 HDLHDL 的设计输入的设计输入 -- 设计描述设计描述

strtstop :启动和停止秒表; reset :复位秒表 00 : 00 : 00 状态,且秒表在时钟模

式下; clk :外部输入时钟信号; mode :控制时钟和秒表模式。只有当时钟或定时器处

于未计数状态时,该信号才起作用; lap_load :这个信号有两个功能。在时钟模式下,显示

当前的时钟值。在定时器模式下,当定时器没有计数时,从 ROM 中加载预设的值并显示;

1、该设计有下面的输入信号:

第六章第六章第六章第六章

Page 19: 何宾 2008.10

基于基于 HDLHDL 的设计输入的设计输入 -- 设计描述设计描述

lcd_e , lcd_rs , lcd_rw :这些控制信号用于控制 LCD 的显

示; sf_d[7:0] :向 LCD 显示提供并行数据;

2、该设计有下面的输出信号:

第六章第六章第六章第六章

Page 20: 何宾 2008.10

基于基于 HDLHDL 的设计输入的设计输入 -- 设计描述设计描述

clk_div_262k :将输入时钟进行 262144 的分频,将 26.2144MH

时钟转换成占空比为 50% 的 100Hz 时钟信号。 DCM1 :数字时钟管理器的 IP 核,提供内部时钟反馈、频率的

输出控制和占空比的修正。 CLKFX_OUT 将 50MHz 的时钟转换为 26.2144MHz 时钟输出。

Debounce :原理图模块实现秒表的 strstop , mode , lap_load信号的去抖动。

lcd_control :对 LCD 的初始化和 LCD 的显示进行控制。

3、该设计有以下功能模块:

第六章第六章第六章第六章

Page 21: 何宾 2008.10

基于基于 HDLHDL 的设计输入的设计输入 -- 设计描述设计描述

statmach :在状态图( State Digram) 编辑器中定义和实现状态机

模块,并控制秒表。 timer_preset :通过核产生器( core generator )产生 64X20 的

ROM ,这个 ROM 在 00:00:00 到 9:59:59 的范围内保存了 64 个预设置的时间。

time_cnt :在 0:00:00 到 09:59:59 的范围内以 up/down 模式工作的计数器。这个模块有 5 个 4 比特的输出,用来描述当前秒表的输出数字。

3、该设计有以下功能模块:

第六章第六章第六章第六章

Page 22: 何宾 2008.10

基于基于 HDLHDL 的设计输入的设计输入 -- 添加设计和检查添加设计和检查

在这个例子的完成过程中,将对 HDL 文件进行检查,修改语法错误,并建立一个 VHDL 模块,添加 IP 核和时钟模块,通过使用混合设计方法完成所有设计输入流程。所有后面的设计流程都基于这个设计示例完成。

图 6.5 显示的是上面的工程建立完成后,在 ISE 主界面的source 子窗口的界面。从该图可以看到在设计工程中虽然已经例化了 timer_cnt 模块,但没有该模块的 HDL 的描述(文件旁有“?”标识)。为了添加该文件并进行检查,按照下面的步骤将完成添加该文件并进行语法检查。

第六章第六章第六章第六章

Page 23: 何宾 2008.10

基于基于 HDLHDL 的设计输入的设计输入 -- 添加设计和检查添加设计和检查

图 6.5 新建工程的源文件窗口

第六章第六章第六章第六章

Page 24: 何宾 2008.10

基于基于 HDLHDL 的设计输入的设计输入 -- 添加设计和检查添加设计和检查

1 、选择 project->Add Source ,选择并打开 time_cnt.vhd 文

件,确保该模块与 Synthesis/Imp+Simulation 选项关联,并单击ok按钮;

2 、对该设计文件进行语法检查。在 source 子窗口,选择time_cnt.vhd 文件。在 process 子窗口单击‘ +’ ,展开 Design Utility ,并双击 Check Syntax ;

第六章第六章第六章第六章

Page 25: 何宾 2008.10

基于基于 HDLHDL 的设计输入的设计输入 -- 添加设计和检查添加设计和检查

3 、在检查语法的过程中,在 Transcript 子窗口中出现 4 个错

误信息的提示。根据错误的提示信息修改文件,并保存,然后再次进行检查,直到没有语法错误为止。并保存文件。

第六章第六章第六章第六章

Page 26: 何宾 2008.10

基于基于 HDLHDL 的设计输入的设计输入 -- 创建基于创建基于 HDLHDL 的模的模块块

本节将介绍使用 ISE 的文本编辑器 VHDL 语言创建模快。

使用 VHDL 语言创建的模块用于该秒表的去抖动功能。 1 、选择 Project>New Source ,弹出图 6.6 的窗口,新文件

建立的导向窗口。

第六章第六章第六章第六章

Page 27: 何宾 2008.10

基于基于 HDLHDL 的设计输入的设计输入 -- 创建基于创建基于 HDLHDL 的模的模块块

图 6.6 新建文件窗口

第六章第六章第六章第六章

Page 28: 何宾 2008.10

基于基于 HDLHDL 的设计输入的设计输入 -- 创建基于创建基于 HDLHDL 的模的模块块

在窗口左边选择 VHDL Module ,其它选项分别完成调试

文件建立、 IP 核建立、用户约束文件建立、原理图建立、状态图建立、 HDL 文件建立、 HDL 测试文件建立、 HDL 库建立和HDL 测试波形文件建立。在 File name 下面的输入框输入debounce 文件名,然后点击下一步,出现新文件向导对话框,此时可以进行下列选择,可以通过该向导输入端口的名字和方向,选择是否总线,如果是总线,还需要指明宽度。读者也可以在HDL 文件中自己输入,当使用在 VHDL 中手工添加这种方式的时候,直接单击 next按钮即可;否则需要在该界面内指定端口参数。最后,单击完成( finish )按钮生成新文件;

第六章第六章第六章第六章

Page 29: 何宾 2008.10

基于基于 HDLHDL 的设计输入的设计输入 -- 创建基于创建基于 HDLHDL 的模的模块块

图 6.7 新建文件向导窗口

第六章第六章第六章第六章

Page 30: 何宾 2008.10

基于基于 HDLHDL 的设计输入的设计输入 -- 创建基于创建基于 HDLHDL 的模的模块块

2 、如图 6.8 所示,在 ISE 的工作区空间,给出使用 ISE 文

件编辑器打开的 debounce.vhd 文件。可以看出, Xilinx 的 ISE 工具生成了 VHDL 基本结构框架,这也是 ISE 具有强大设计功能的体现;

第六章第六章第六章第六章

Page 31: 何宾 2008.10

基于基于 HDLHDL 的设计输入的设计输入 -- 创建基于创建基于 HDLHDL 的模的模块块

图 6.8 ISE 的文件编辑器界面

第六章第六章第六章第六章

Page 32: 何宾 2008.10

基于基于 HDLHDL 的设计输入的设计输入 -- 创建基于创建基于 HDLHDL 的模的模块块 下面需要的是 EDA 设计人员需要将结构体空缺的下面的代码的添加到结构体中间。

architecture debounce_arch of debounce is

signal int1, int2, int3 : std_logic;

begin

sig_out<=sig_in or int1 or int2 or int3;

process (clk) is

begin

第六章第六章第六章第六章

Page 33: 何宾 2008.10

基于基于 HDLHDL 的设计输入的设计输入 -- 创建基于创建基于 HDLHDL 的模的模块块

if rising_edge(clk) then

int1 <= sig_in;

int2 <= int1;

int3 <= int2;

end if;

end process;

end debounce_arch; 输入完毕并保存文件,并对该设计文件按照前面的方法进

行语法规则检查,直到综合完成为止,在综合过程如果出现错误,则需要对输入的设计文件进行检查。

第六章第六章第六章第六章

Page 34: 何宾 2008.10

基于基于 HDLHDL 的设计输入的设计输入 - IP- IP 核产生和例化核产生和例化

IP 核生成器( IP core generator )是一个用户图形交互界面工具,通过核产生器可以产生高层次设计模块,例如:存储器、数学函数、通讯和 I/O接口的 IP 核。设计人员可以定制和优化这些IP 核,这些 IP 核充分利用 Xilinx 的 FPGA 结构特征,例如:快速进位逻辑、 SRL16s 和分布式块 RAM 等。

第六章第六章第六章第六章

Page 35: 何宾 2008.10

基于基于 HDLHDL 的设计输入的设计输入- timer_preset- timer_preset 模块的生成模块的生成

在本节中,通过 IP 核产生器生成 timer_preset 模块。该模块存储了 64 个值,这些值将来加载到定时器中。

1 、在 ISE 主界面中选择 Project->New Source ,弹出 New Source Wizard 窗口,在该窗口中选择 IP ( Coregen & Architecture Wizard ),在 File name field 中输入 timer_preset 文件名,点击 next按钮;

2 、在弹出的 New Source Wizard Select IP 窗口,选择Memory & Storage Elements 。如图 6.9 所示,在该界面中选择“ RAMs & ROMs” ,在展开项中选择 distributed Memory Generator ,点击 next 和 finish按钮;

第六章第六章第六章第六章

Page 36: 何宾 2008.10

基于基于 HDLHDL 的设计输入的设计输入- timer_preset- timer_preset 模块的生成模块的生成

3 、弹出 6.10 的界面,在该界面中选择 ROM 的 Depth ,将其设置为 64 ,然后选择 Data Width ,将其设置为 20 ,然后将存储器的类型 Memory Type 设置为 ROM ,点击下一步;

4 、将 Input options 和 Output options 设置为 Non Registered(表示输入和输出不需要通 过锁存器进行锁存,可以看到在该界面窗口的左面的 a[5:0] 和 spo[19:0]呈黑色显示,其余引脚呈灰色显示(黑色表示引脚在该次设计中有效,灰色表示引脚在该次设计中无效);单击 finish按钮。在 IP 核产生器生成 IP 核后,产生下面的文件,下面对这些文件的含义进行一些说明:

第六章第六章第六章第六章

Page 37: 何宾 2008.10

基于基于 HDLHDL 的设计输入的设计输入- timer_preset- timer_preset 模块的生成模块的生成

图 6.9 IP 选择界面

第六章第六章第六章第六章

Page 38: 何宾 2008.10

基于基于 HDLHDL 的设计输入的设计输入- timer_preset- timer_preset 模块的生成模块的生成

图 6.10 分布式 IP 核产生器设置界面

第六章第六章第六章第六章

Page 39: 何宾 2008.10

基于基于 HDLHDL 的设计输入的设计输入- timer_preset- timer_preset 模块的生成模块的生成

timer_preset.vho/timer_preset.veo 文件,这些文件是该 IP 核的例化模板,通过这个例化模板就可以将 IP 核添加到该设计中。

timer_preset.vhd/timer_preset.v 文件,这些文件是 IP 核生成的包装文件只用来仿真。

timer_preset.edn 文件,该文件是网表文件,该文件在进行网表翻译过程中使用。

timer_preset.xco 文件,该文件保存了该模块的配置信息,该文件作为源文件使用。

timer_preset.mif 文件,该文件提供了为 ROM 仿真时的初始设置。

第六章第六章第六章第六章

Page 40: 何宾 2008.10

基于基于 HDLHDL 的设计输入的设计输入 - DCM- DCM 模块的生成模块的生成

DCM 模块即数字时钟管理模块,在很多方面都有应用,下面步骤将给出 DCM 的 IP 核生成过程:

1 、在 ISE 主界面中选择 Project->New Source ,弹出 New Source Wizard 窗口,在该窗口中选择 IP ( Coregen & Architecture Wizard ),在 File name field 中输入 DCM1 文件名,点击 next按钮;

2 、如图 6.9 所示,在该界面中选择 FPGA Features and Design ,在展开项 Spartan-3E,Spantan-3A 的子项中选择 Single DCM SP v9.1i ,点击 next 和 finish按钮;

第六章第六章第六章第六章

Page 41: 何宾 2008.10

基于基于 HDLHDL 的设计输入的设计输入 - DCM- DCM 模块的生成模块的生成

3 、弹出 Xilinx Clock Wizard-General Setup 界面,在该界面进行下面的设置,输入时钟为 50MHz, 输入时钟 clkin Source 选择External, 相位移动 Phase Shift 选择 NONE ,反馈源 Feed back Source 选择 Internal 。然后单击确定,生成 DCM 的 IP 核;

第六章第六章第六章第六章

Page 42: 何宾 2008.10

基于基于 HDLHDL 的设计输入的设计输入- timer_preset- timer_preset 模块的例化模块的例化

当 IP 核生成后,下面将在设计中调用生成的 IP 核。 1 、在工程管理窗口,双击 stopwatch.vhd 文件,将其打开。 2 、将光标移动到 --Insert Core Generator ROM component

declaration here 。 3 、在 ISE 中选择 File->open 选项 , 选择 timer_preset.vho ,并

打开。 4 、将 VHDL 的声明部分代码复制,并通过粘贴插入到光标所

指的那一行下面。

第六章第六章第六章第六章

Page 43: 何宾 2008.10

基于基于 HDLHDL 的设计输入的设计输入- timer_preset- timer_preset 模块的例化模块的例化

component timer_preset

port (

a: IN std_logic_VECTOR(5 downto 0);

spo: OUT std_logic_VECTOR(19 downto 0));

end component;

-- Synplicity black box declaration

attribute syn_black_box : boolean;

attribute syn_black_box of timer_preset: component is true;

第六章第六章第六章第六章

Page 44: 何宾 2008.10

基于基于 HDLHDL 的设计输入的设计输入- DCM- DCM 模块的例化模块的例化

5 、将该文件的例化部分的代码复制。 your_instance_name : timer_preset

port map ( a => a, spo => spo); 6 、然后,粘贴到设计的顶层文件的例化部分,然后通过端口

映射将该模块和设计相连。 t_preset : timer_preset

port map (a(5 downto 0)=> address(5 downto 0),

spo(19 downto 0)=> preset_time(19 downto 0));

第六章第六章第六章第六章

Page 45: 何宾 2008.10

基于基于 HDLHDL 的设计输入的设计输入- timer_preset- timer_preset 模块的例化模块的例化

1 、在工程文件管理窗口,选择 Source 标签,选择 Dcm1.xaw文件。然后在处理子窗口选择 View HDL Instantiation Template ,并单击鼠标左键。

2 、在 workspace 子窗口打开 dcm1.vhi 文件,将下面的代码添加到设计文件 stopwatch.vhd --Insert DCM1 component declaration here 的下面。

第六章第六章第六章第六章

Page 46: 何宾 2008.10

基于基于 HDLHDL 的设计输入的设计输入- timer_preset- timer_preset 模块的例化模块的例化

COMPONENT dcm1 PORT( CLKIN_IN : IN std_logic; RST_IN : IN std_logic; CLKIN_IBUFG_OUT : OUT std_logic; CLK0_OUT : OUT std_logic; LOCKED_OUT : OUT std_logic ); END COMPONENT;

第六章第六章第六章第六章

Page 47: 何宾 2008.10

基于基于 HDLHDL 的设计输入的设计输入- timer_preset- timer_preset 模块的例化模块的例化

3 、然后将下面的代码粘贴到 stopwatch,vhd 的例化部分,即 ---- Insert DCM1 instantiation here 的下面,并和相应的端口连接。

dcm_inst : dcm1 port map (CLKIN_IN=>clk, RST_IN=>reset, CLKFX_OUT=>clk_26214k, CLKIN_IBUFG_OUT=>open, CLK0_OUT=>open, LOCKED_OUT=>locked);

第六章第六章第六章第六章

Page 48: 何宾 2008.10

1 、说明基于 HDL 语言的设计输入方法。 2 、说明 ISE软件平台的特点及其功能。 3 、说明 IP 核的生成方法和例化方法。 4 、完成一个基于 VHDL 设计输入的设计。

第第 66 章 习 题章 习 题