文档库 最新最全的文档下载
当前位置:文档库 › FPGA作业二

FPGA作业二

FPGA作业二
FPGA作业二

设计一个能求出一个32bit字中两个相邻0之间最大间隙的电路。完成HDL设计及testbench描述,给出综合后的时序仿真结果。提交纸质文档。

系统化分为状态机控制器和数据通路,信号的接口关系可参考下图所示:

数据通路包括一个位计数器(k)、一个存储寄存器(tmp)、一个间隙寄存器(Gap)。

控制器产生的控制信号包括:

flush_tmp:清空tmp寄存器

incr_tmp:增加tmp寄存器

store_tmp:用tmp加载Gap

incr_k:增加k计数器

程序

`timescale 1ns / 1ps

////////////////////////////////////////////////////////////////////////////////// // Company:

// Engineer:

//

// Create Date: 16:39:28 04/09/2016

// Design Name:

// Module Name: top2

// Project Name:

// Target Devices:

// Tool versions:

// Description:

//

// Dependencies:

//

// Revision:

// Revision 0.01 - File Created

// Additional Comments:

//

////////////////////////////////////////////////////////////////////////////////// module top2(

input clk,

input rst,

input [31:0] data_in,

output [5:0] gap

);

reg [5:0] tmp,k,gap;

reg flush_tmp,store_tmp,incr_k,incr_tmp;

parameter s_idle=0,s_1=1,s_2=2,s_done=3;

reg[1:0] state,next_state;

wire Bit=data_in[k];

always @(posedge clk,posedge rst)

if(rst)

state<=s_idle;

else

state<=next_state;

always @(state or Bit or k)

begin

next_state=state;

incr_tmp=0;

incr_k=0;

store_tmp=0;

flush_tmp=0;

case(state)

s_idle:

if(k==31)

next_state=s_done;

else

if(!Bit) begin

next_state=s_1;

incr_k=1;

end

else begin

next_state=s_idle;

incr_k=1;

end

s_1:

if(k==31)

next_state=s_done;

else if(Bit)

begin

next_state=s_2;

incr_k=1;

incr_tmp=1;

end

else begin

next_state=s_1;

incr_k=1;

end

s_2 :

if(k==31)

if(!Bit)

if(tmp>gap)begin

store_tmp=1;

next_state=s_done;

end

else begin

next_state=s_done;

end

else begin

next_state=s_done;

end

else begin

if(!Bit)

if(tmp>gap)begin

store_tmp=1;

next_state=s_1;

incr_k=1;

flush_tmp=1;

end

else begin

flush_tmp=1;

incr_k=1;

end

else begin

incr_tmp=1;

incr_k=1;

next_state=s_2;

end

end

s_done :

begin

next_state=s_idle;

incr_k=0;

end

default :

next_state=s_idle;

endcase

end

always @(posedge clk,posedge rst) begin

if(rst)begin

k<=0;

tmp<=0;

gap<=0;

end

else begin

if(flush_tmp)

tmp<=0;

if(store_tmp)

gap<=tmp;

if(incr_k)

k<=k+1;

if(incr_tmp)

tmp<=tmp+1;

end

end

endmodule

testbench

`timescale 1ns / 1ps

//////////////////////////////////////////////////////////////////////////////// // Company:

// Engineer:

//

// Create Date: 17:22:13 04/09/2016

// Design Name: top2

// Module Name: E:/zuoye/zuoye2/test1.v

// Project Name: zuoye2

// Target Device:

// Tool versions:

// Description:

//

// Verilog Test Fixture created by ISE for module: top2

//

// Dependencies:

//

// Revision:

// Revision 0.01 - File Created

// Additional Comments:

//

//////////////////////////////////////////////////////////////////////////////// module test1;

// Inputs

reg clk;

reg rst;

reg [31:0] data_in;

// Outputs

wire [5:0] gap;

// Instantiate the Unit Under Test (UUT)

top2 uut (

.clk(clk),

.rst(rst),

.data_in(data_in),

.gap(gap)

);

always begin

#5 clk=1;

#5 clk=0;

end

initial begin

// Initialize Inputs

clk = 0;

rst = 1;

data_in = 0;

// Wait 100 ns for global reset to finish

#100;

rst = 0;

data_in = 32'h5678abcd;

// Add stimulus here

end

endmodule

功能仿真

时序仿真

FPGA习题集及参考答案

习题集及参考答案 一、填空题 1.一般把EDA技术的发展分为()个阶段。 2.FPGA/CPLD有如下设计步骤:①原理图/HDL文本输入、②适配、③功能仿真、④综合、 ⑤编程下载、⑥硬件测试,正确的设计顺序是①()⑤⑥。 3.在EDA工具中,能完成在目标系统器件上布局布线的软件称为()。 4.设计输入完成之后,应立即对文件进行()。 5.基于硬件描述语言的数字系统设计目前最常用的设计方法称为()设计法。 6.将硬件描述语言转化为硬件电路的过程称为()。 7.IP核在EDA技术和开发中具有十分重要的地位,以HDL方式提供的IP被称为() IP。 8.SOC系统又称为()系统。SOPC系统又称为()系统。 9.将硬核和固核作为()IP核,而软核作为()IP核。 10.IP核在EDA技术和开发中具有十分重要的地位,以HDL方式提供的IP被称为()。 11.HDL综合器就是逻辑综合的过程,把可综合的VHDL/Verilog HDL转化成硬件电路时, 包含了三个过程,分别是()、()、()。 12.EDA软件工具大致可以由五个模块构成,分别是设计输入编辑器、()、()、 ()和()。 13.按仿真电路描述级别的不同,HDL仿真器分为()仿真、()仿真、() 仿真和门级仿真。 14.系统仿真分为()、()和()。 15.()仿真是对设计输入的规范检测,这种仿真通过只能表示编译通过,说明设计 满足一定的语法规范,但不能保证设计功能满足期望。 16.()仿真是对综合后的网表进行的仿真,它验证设计模块的基本逻辑功能,但不 带有布局布线后产生的时序信息,是理想情况下的验证。 17.()仿真是布局布线后进行的后仿真,仿真时考虑了布线延时,和芯片实际的工 作情况更加接近。 18.目前Xilinx公司生产的FPGA主要采用了()配置存储器结构。 19.描述测试信号的变化和测试工程的模块叫做()。 20.现代电子系统设计领域中的EDA采用()的设计方法。 21.有限状态机可分为()状态机和()状态机两类。 22.Verilog HDL中的端口类型有三类:()、()、输入/输出端口。 23.Verilog HDL常用两大数据类型:()、()。 24.FPGA / CPLD设计流程为:原理图/HDL文本输入→()→综合→适配→()→ 编程下载→硬件测试。 25.()是描述数据在寄存器之间流动和处理的过程。 26.连续赋值常用于数据流行为建模,常以()为关键词。 27.Verilog HDL有两种过程赋值方式:()和()。 28.`timescale 1ns/100ps中1ns代表(),100ps代表()。 29.未来的集成电路技术的发展趋势,把整上系统集成在一个芯片上去,这种芯片被称为 ()。 30.从互连结构上可将PLD分为确定型和统计型两类。确定型结构的代表是(),

FPGA试卷+答案+超详细解答

20XX—20XX学年度第(X)学期期末考试试卷科目:<>(X)卷 考试形式:闭卷考试时间:100 分钟 院(系)别、班级:姓名:学号: 试题区:(试题区必须与答题区同时交回,含答题纸、试题纸、草稿纸的装订试卷不能分拆)一、单项选择题:(20分) 1.在VHDL语言中,下列对进程(PROCESS)语句的语句结构及语法规则的描述中,不正确的是___C___。 A.PROCESS为一无限循环语句;敏感信号发生更新时启动进程,执行完成后, 等待下一次进程启动。 B.敏感信号参数表中,不一定要列出进程中使用的所有输入信号; C.进程由说明部分、结构体部分、和敏感信号三部分组成; (进程由声明语句、顺序语句、敏感信号列表组成) D.当前进程中声明的变量不可用于其他进程。 2.在一个VHDL设计中idata是一个信号,数据类型为integer,数据范围0 to 127,下面哪个赋值语句是正确的___C___。(信号赋值符号 <= ) A.idata := 32; B.idata <= 16#A0#; (十进制数为:10*16= 160,idata范围为0~127) C.idata <= 16#7#E1;(十进制数为:7*16^1= 112) D.idata := B#1010#;

3.大规模可编程器件主要有FPGA、CPLD两类,下列对FPGA结构与工作原理的描述中,正确的是___C___。 A.FPGA是基于乘积项结构的可编程逻辑器件; (FPGA芯片基于查找表的可编程逻辑结构) B.FPGA是全称为复杂可编程逻辑器件; (FPGA 现场可编程逻辑门阵列,CPLD才是复杂可编程逻辑器件) C.基于SRAM的FPGA器件,在每次上电后必须进行一次配置; D.在Altera公司生产的器件中,MAX7000系列属FPGA结构。 (MAX7000系列属CPLD结构) 4.进程中的变量赋值语句,其变量更新是___A___。 (变量(variable)是立即完成的,信号(signal)有延时) A.立即完成; B.按顺序完成; C.在进程的最后完成; D.都不对。 5.VHDL语言是一种结构化设计语言;一个设计实体(电路模块)包括实体与结构体两部分,结构体描述___D___。(结构体实现实体的功能,通过对实体的逻辑功能进行描述) A.器件外部特性; B.器件的综合约束; C.器件外部特性与内部功能; D.器件的内部功能。 6.CASE语句是___A___。(case语句时顺序语句中最重要最常用的顺序语句) A. 顺序语句 B. 并行语句 C. 其它 D.组合逻辑控制电路语句 7. LIBRARY ___A___; --库的声明 USE IEEE.STD_LOGIC_1164.ALL; --库的引用,引用IEEE库中的std_logic_1164中的所有项目A. IEEE B. STD C.WORK D.ENTITY counter IS

FPGA试卷+答案+超详细解答

广东技术师范学院电子与信息学院10应用电子技术教育2班 20XX—20XX学年度第(X)学期期末考试试卷科目:<>(X)卷 考试形式:闭卷考试时间:100 分钟 院(系)别、班级:姓名:学号: 试题区:(试题区必须与答题区同时交回,含答题纸、试题纸、草稿纸的装订试卷不能分拆) 一、单项选择题:(20分) 1.在VHDL语言中,下列对进程(PROCESS)语句的语句结构及语法规则的描述中,不正确的是___C___。 A.PROCESS为一无限循环语句;敏感信号发生更新时启动进程,执行完成后, 等待下一次进程启动。 B.敏感信号参数表中,不一定要列出进程中使用的所有输入信号; C.进程由说明部分、结构体部分、和敏感信号三部分组成; (进程由声明语句、顺序语句、敏感信号列表组成) D.当前进程中声明的变量不可用于其他进程。 2.在一个VHDL设计中idata是一个信号,数据类型为integer,数据范围0 to 127,下面哪个赋值语句是正确的___C___。(信号赋值符号 <= ) A.idata := 32; B.idata <= 16#A0#; (十进制数为:10*16= 160,idata范围为0~127) C.idata <= 16#7#E1;(十进制数为:7*16^1= 112) D.idata := B#1010#;

3.大规模可编程器件主要有FPGA、CPLD两类,下列对FPGA结构与工作原理的描述中,正确的是___C___。 A.FPGA是基于乘积项结构的可编程逻辑器件; (FPGA芯片基于查找表的可编程逻辑结构) B.FPGA是全称为复杂可编程逻辑器件; (FPGA 现场可编程逻辑门阵列,CPLD才是复杂可编程逻辑器件) C.基于SRAM的FPGA器件,在每次上电后必须进行一次配置; D.在Altera公司生产的器件中,MAX7000系列属FPGA结构。 (MAX7000系列属CPLD结构) 4.进程中的变量赋值语句,其变量更新是___A___。 (变量(variable)是立即完成的,信号(signal)有延时) A.立即完成; B.按顺序完成; C.在进程的最后完成; D.都不对。 5.VHDL语言是一种结构化设计语言;一个设计实体(电路模块)包括实体与结构体两部分,结构体描述___D___。(结构体实现实体的功能,通过对实体的逻辑功能进行描述) A.器件外部特性; B.器件的综合约束; C.器件外部特性与内部功能; D.器件的内部功能。 6.CASE语句是___A___。(case语句时顺序语句中最重要最常用的顺序语句) A. 顺序语句 B. 并行语句 C. 其它 D.组合逻辑控制电路语句 7.LIBRARY ___A___; --库的声明 USE IEEE.STD_LOGIC_1164.ALL; --库的引用,引用IEEE库中的std_logic_1164中的所有项目A. IEEE B. STD C.WORK D.ENTITY counter IS

EDA复习题(含答案)

1.可编程逻辑器件在现代电子设计中越来越重要,请问:你所知道的可编程逻辑器件有哪些?目前最常用的两种器件是什么?其结构特征如何? 答:按可编程逻辑器件的发展,有简单PLD器件(包括PLA、PAL、GAL、CPLD、FPGA等)和复杂PLD器件两大类。目前最常用的两种复杂PLD器件是CPLD和FPGA。CPLD即复杂可编程逻辑器件,其结构是基于ROM的乘积项的可编程结构,而FPGA 是现场可编程门阵列器件,其结构基于可编程的查找表。 2.简述FPGA等可编程逻辑器件设计流程 答:FPGA等可编程逻辑器件的设计流程即现代EDA设计的流程,主要包括设计输入、逻辑与结构综合、时序与功能仿真、编程下载、硬件测试等步骤。(或绘流程图说明) 3.一个设计实体由哪几个基本部分组成?它们的作用如何? 答:(1)库与程序包部分:使实体所用资源可见;(2)实体部分:设计实体的外部特征描述;(3)结构体部分:设计实体的部电路结构或功能描述。 4.进程语句是如何启动的? 答:进程由敏感信号列表中的敏感信号的变化启动。有两种格式:一种是 PROCESS(敏感信号表)IS,一种是PROCESS WAIT UNTILL 敏感信号 5.过程与函数的区别体现在哪些方面? 答:相同点:过程与函数都属于子程序,;都需要先定义后使用;都允许调用;都可以重载。但也有不同:(1)过程调用时作为一个独立的语句出现,函数调用时只能作为一个语句元素出现;(2)函数调用的结果是返回一个函数值,过程调用的结果是执行过程体中的顺序语句。 6.过程可以定义在一个VHDL程序的那些位置?函数可以定义在一个VHDL程序的那些位置? 7.VHDL是强类型语言还是弱类型语言?若数据类型不一致能否进行数据操作?如能,如何实现? 答:强类型语言,即只有同类型的数据能够直接进行数据操作。若数据类型不一致不能进行直接数据 操作,但能够通过类型转换函数等方法转换为同类型数据后进行操作。 8. 有限状态机适用于什么数字系统的设计?有何优点? 答:有限状态机适用于具有顺序控制特征的数字系统设计,一般作为系统的控制部分。具有结构模式简单、结构清晰、易优化、可靠性高、可实现高速控制等优点。 9.详细讨论并用示例说明with_select语句和case语句的异同点。 相同点:(1)描述完全条件;(2)条件的列出要求一致;… 不同点:(1)with_select是并行语句,case是顺序语句;(2)格式上,with_select语句只有最后一个子句分隔符用分号“;”,前面所有子句用逗号“;”。case语句的所有子句分隔符都用分号“;”;… 10.传统设计方法和EDA设计方法的主要的不同点? 传统设计方法:自下而上(Bottom - up)的设计方法,是以固定功能元件为基础,基于电路板的设计方法。 EDA方法:自上而下(Top - Down)的设计方法。其方案验证与设计、系统逻辑综合、布局布线、性能仿真、器件编程等均由 EDA工具一体化完成。 11.现代数字系统常用设计方法有哪些? 自顶向下(Top--down)设计,自低向下(Bottom--up)设计,IP复用技术与SoC(片上系统。 12.VHDL语言可以把任意复杂的电路系统视作一个模块,一个模块可主要分为哪三个组成部

FPGA习题答案

FPGA/CPLD应用技术(Verilog语言版) 第一章认识数字系统设计开发环境: 一、填空题 1. (1)11001,19 (2)45,2D (3)111111,63 2. 建立工程;输入设计;编译工程;设计仿真;器件编程 3. Altera 4. 可编程只读存储器PROM(Programmable Read Only Memory) 可编程逻辑阵列PLA(Programmable Logic Array) 可编程阵列逻辑PAL(Programmable Array Logic) 通用阵列逻辑器件GAL(Generic Array Logic) 可擦除可编程逻辑器件EPLD(Erasable Programmable Logic Device) 复杂可编程逻辑器件CPLD(Complex Programmable Logic Device) 现场可编程门阵列FPGA(Field Programmable Gate Array) 5. 低密度可编程逻辑器件(LDPLD)、高密度可编程逻辑器件(HDPLD) 6. “与或阵列”、“门阵列”、“与或阵列” 7. 输入电路、与阵列、或阵列、输出电路 8. 可编程功能单元、可编程I/O引脚、可编程布线资源和片内存储块RAM 9. 电子设计自动化、Electronic Design Automatic 10. 硬件描述语言、Hardware Description Language 11. Programmable Read Only Memory Programmable Logic Array可编程逻辑阵列 Programmable Array Logic可编程阵列逻辑 Generic Array Logic通用阵列逻辑器件 Erasable Programmable Logic Device可擦除可编程逻辑器件 Complex Programmable Logic Device复杂可编程逻辑器件 Field Programmable Gate Array现场可编程门阵列 超高速硬件描述语言Very-High-Speed Hardware Description Language In System Programming 在系统可编程 Look-Up Table 查找表 Programmable Logic Device 可编程逻辑器件 Logic Array Blocks 逻辑阵列块 Computer Aided Design 计算机辅助设计技术CAD 12. 写出下列英文单词的中文意思。 (1)工程、项目(2)向导

fpga第六章作业及答案

第6章PPT课件作业 1.顺序语句和并行语句分别有哪些?顺序语句和并行语句主要有什么区别? 答:顺序执行语句是顺序执行的,只能出现在进程和子程序中,用于定义进程的算法。顺序描述语句主要有:信号赋值语句、变量赋值语句、if语句、case语句、wait语句和null语句。结构体中的并行语句主要有6种:并行信号赋值语句、进程语句、块语句、元件例化语句、生成语句、并行过程调用语句; 区别主要在于:在执行顺序上,顺序语句是顺序执行的,if语句一定要在顺序结构中,有优先级;并行语句在结构体内是并行执行的。在赋值上,顺序语句可对变量和信号赋值,并行语句的赋值目标必须为信号或端口,在结构体的进程之外使用。 2.阅读下面的程序,分析其实现的逻辑功能,并说明是时序逻辑还是组合逻辑 library ieee; Use ieee.std_logic_1164.all; Entity decoder is Port (a : in std_logic_vector(9 downto 0); c : out integer range 0 to 9); end Entity decoder ; architecture one of decoder is begin with a select c<=0 when “0000000001” , 1 when “0000000010” , 2 when “0000000100” , 3 when “0000001000” , 4 when “0000010000” , 5 when “0000100000” , 6 when “0001000000” , 7 when “0010000000” , 8 when “010*******” , 9 when “1000000000” , 0 when others ; end architecture one; 答:功能:是10位2进制的部分译码器。由1出现的位置来决定译码器输出的是数字几。当右边的第一位是一时,输出0,第二位是1时输出1,以此类推直到输出9.其余的编码都是输出0。由于没有用到ckl所以使用的是组合逻辑。 3.结构体的描述方式有几种方式?各有什么特点? 答:结构体有三种描述方式,即行为级描述:是对整个设计单元的数学模型描 述,属于一种高层次描述方式;数据流级描述:采用进程语句控制数据流在控

第一 二章作业题(参考答案)汇总

第一章引论(Introduction) 1.知识要点 数字电路的发展及其在信息技术领域中的地位;数字信号与模拟信号之间的关系及数字信号的基本特点;数字系统输入/输出特性及其逻辑特点,数字逻辑电路(Digital Logic Circuit)的主要内容。 重点: 1.数字信号(Digital Signal)与模拟信号(Analog Signal)之间的关系; 2.数字信号的基本特点; 3.数字系统(Digital System)输入/输出特性及其逻辑特点。 难点: 1.数字信号的基本特点; 2.数字系统的特点。 数字信号只在离散时刻(观测时刻)变化;其取值也是离散的,即数字信号只能取有限种不同的值,为方便电路中处理,这些数值可以用二进制(Binary Number)表达(0,1)。 数字系统的特点: (1)只需考虑观测时刻的输入/输出关系,无须考虑其连续的变化; (2)只需考虑有限的信号取值,不考虑其中间值; (3)任何时刻一根输入/输出线上的状态只能为0或1,所以输入/输出具有有限状态,输入-输出的关系可以采用有限表格进行表达; (4)对于输出的讨论只是考虑在哪些输入条件下输出会等于0,哪些条件下会等于1,于是输入-输出关系体现为逻辑关系。 2.Exercises 1.1 Define the following acronyms: ASIC, CAD, CD, CO, CPLD, DIP, DVD, FPGA, HDL, IC, IP, LSI, MCM, MSI, NRE, PBX, PCB, PLD, PWB, SMT, SSI, VHDL, VLSI. ASIC: Application Specific Integrated Circuit,专用集成电路 CAD: Computer Aided Design,计算机辅助设计 CD: Compact Disc,原意: 紧凑型小唱片,即CD光盘 CO: Central Office,中央局,中心站,交换机(也可作Carry Out,进位输出) CPLD: Complex Programmable Logic Device,复杂可编程逻辑器件 DIP: Dual Inline-pin Package,双列直插式封装 DVD: Digital Versatile Disc,数字通用光盘 FPGA: Field Programmable Gate Array,现场可编程门阵列 HDL: Hardware Description Language,硬件描述语言 IC: Integrated Circuit,集成电路 IP: Internet Protocol,因特网协议(也可作Intellectual Property,知识产权)

FPGA网络作业及答案解析

试题1: 1 计算机辅助设计的英文首字母缩写是 CAD 。 2 计算机辅助工程的英文首字母缩写是 CAE 。 3 电子设计自动化的英文首字母缩写是 EDA 。 4 ASIC是专门为某一应用领域或某一专门用户需要而设计制 5 ASIC分为数字ASIC和模拟ASIC两大类。 6 数字ASIC包括全定制ASIC和半定制ASIC。 7 半定制 ASIC 8 FPGA器件的全称是现场可编程门阵列。 9 FPGA器件是一种新型的高密度可编程逻辑器件PLD。 编程内部连线三部分。 11 按逻辑功能块的大小,FPGA和粗粒度FPGA。

12 从逻辑功能块的结构上,FPGA可分为查找表结构、多路开关结构和多级与非门三种结构。 14 根据编程方式,FPGA 15 绝大多数的FPGA器件都采用了基于 构。 16 CLB 是FPGA的主要组成部分,是实现逻辑功能的基本单元。 17 IOB 提供了器件引脚和内部逻辑阵列之间的连接,通常排列在芯片的四周。 18 可编程互连资源(IR)包括各种长度的金属连线线段和一些可编程连接开关,它们将各个CLB之间和CLB与IOB之间互相连接起来,构成各种复杂功能的系统。 特征:采用通用的逻辑元器件、在系统硬件设计的后期进行仿真和调试、主要设计文件是电原理图。

要特点:电路设计更趋合理、采用系统(早期)仿真、降低了硬件电路设计难度、主要设计文件是用 HDL 语言编写的源程序。 22 利用HDL语言对系统硬件电路的自上而下设计一般分为三 23 行为描述是对整个系统的数学模型的描述。 24 逻辑综合是利用逻辑综合工具,可将 RTL方式描述的程序转换成用基本逻辑元件表示的文件,即门级网络表。 25高密度复杂可编程逻辑器件的设计流程分七个步骤:它包括设计准备、设计输入、功能仿真、设计处理、时序仿真和器件编程、测试。 后仿真或延时仿真。 27设计处理是器件设计中的核心环节。在设计处理过程中,编译软件将对设计输入文件进行逻辑化简综合优化和适配,最后产生编程用的编程文件。

FPGA作业

习题一 1 使用`timescale 编译器指令的目的是什么? 答:指定延时时间单位,及时间精度。如` timescale 1ns /100ps表示时间单位为1ns,时间精度为0.1ns。 2 写出产生下图所示波形的变量BullsEye的初始化语句。 答:32b’0010 0000 0000 1111 1111 1100 1110 0000 3 使用数据流描述方式编写下图所示的异或逻辑的Verilog HDL描述,并使用规定的 时延。 答:`timescale 1ns/100ps moduleyihuo(out,a,b); input a, b; output out; wireaf,bf,abf,afb,out; always @( a or b) assign #1 af=~a; assign #1 bf =~b; assign #6 abf = a&bf; assign #6 afb = af&b; assign #10 out=abf|afb; endmodule 4下列表达式的位模式是什么? 7'o44八进制, 'Bx0二进制, 5'bx110二进制, 'hA0十六进制, 10'd2十进制, 'hzF十六进制 习题二 1.说明参数GATE_DELAY, 参数值为5。 答:parameter GATE_DELAY = 5; 2.假定长度为64个字的存储器, 每个字8位,编写Verilog 代码,按逆序交换存储 器的内容。即将第0个字与第63个字交换,第1个字与第62个字交换,依此类推。 答:reg[7:0]Mem[63:0]; inti = 0; reg[7:0]temp; always @(i< 31)

EDA第一章作业习题及答案

EDA习题 第一章 1.1 EDA的英文全称是什么?EDA的中文含义是什么? 答:EDA即Electronic Design Automation的缩写,直译为:电子设计自动化。 1.2 什么叫EDA技术? 答:EDA技术有狭义和广义之分,狭义EDA技术就是以大规模可编程逻辑器件为设计载体,以硬件描述语言为系统逻辑描述的主要表达方式,以计算机、大规模可编程逻辑器件的开发软件及实验开发系统为设计工具,通过有关的开发软件,自动完成用软件的方式设计的电子系统到硬件系统的逻辑编译、逻辑化简、逻辑分割、逻辑综合及优化、逻辑布局布线、逻辑仿真,直至完成对于特定目标芯片的适配编译、逻辑映射、编程下载等工作,最终形成集成电子系统或专用集成芯片的一门新技术,或称为IES/ASIC自动设计技术。 1.3 利用EDA技术进行电子系统的设计有什么特点? 答:①用软件的方式设计硬件;②用软件方式设计的系统到硬件系统的转换是由有关的开发软件自动完成的;③设计过程中可用有关软件进行各种仿真;④系统可现场编程,在线升级;⑤整个系统可集成在一个芯片上,体积小、功耗低、可靠性高。 1.4 从使用的角度来讲,EDA技术主要包括几个方面的内容?这几个方面在整个电子系统的设计中分别起什么作用? 答:EDA技术的学习主要应掌握四个方面的内容:①大规模可编程逻辑器件;②硬件描述语言;③软件开发工具;④实验开发系统。其中,硬件描述语言是重点。 对于大规模可编程逻辑器件,主要是了解其分类、基本结构、工作原理、各厂家产品的系列、性能指标以及如何选用,而对于各个产品的具体结构不必研究过细。 对于硬件描述语言,除了掌握基本语法规定外,更重要的是要理解VHDL的三个“精髓”:软件的强数据类型与硬件电路的惟一性、硬件行为的并行性决定了VHDL语言的并行性、软件仿真的顺序性与实际硬件行为的并行性;要掌握系统的分析与建模方法,能够将各种基本语法规定熟练地运用于自己的设计中。 对于软件开发工具,应熟练掌握从源程序的编辑、逻辑综合、逻辑适配以及各种仿真、硬件验证各步骤的使用。 对于实验开发系统,主要能够根据自己所拥有的设备,熟练地进行硬件验证或变通地进行硬件验证。 1.5 什么叫可编程逻辑器件(简称PLD)?FPGA和CPLD的中文含义分别是什么?国际上生产FPGA/CPLD的主流公司,并且在国内占有较大市场份额的主要有哪几家?其产品系列有哪些?其可用逻辑门/等效门数大约在什么范围? 答:可编程逻辑器件(简称PLD)是一种由用户编程以实现某种逻辑功能的新型逻辑器件。 FPGA和CPLD分别是现场可编程门阵列和复杂可编程逻辑器件的简称。 国际上生产FPGA/CPLD的主流公司,并且在国内占有市场份额较大的主要是Xilinx,

2010年FPGA大作业试题

2010年《基于FPGA的数字信号处理技术》 课程结业大作业试题 一、笔答部分(60分) 1、请讨论SRAM-FPGA、反熔丝FPGA、EEPROM的CPLD的结构特征,并 指出:(5分) (1)在相同规模的条件下,哪一种可能的资源利用率最高,为什么? (2)在相同的逻辑实现条件下,哪一种逻辑实现时的电路时延可估算性最好。为什么? (3)在相同的资源利用的条件下,FPGA和CPLD,哪一种复杂逻辑的实现灵活性好,为什么? 2、在采用FPGA或CPLD作为目标器件,来实现你的逻辑设计时,其选择的原 则是什么,主要从哪几个限制因素去考虑。(5分) 3、流水线技术提高系统处理速度同时也会造成输出滞后,并且需要额外的寄存 器资源。因此有人认为,如果用FPGA来实现电路逻辑,宜采用流水线方式,而如使用CPLD来实现路逻辑,往往不必采用流水线方式,为什么?(5分) 4、请叙述几种FPGA设计优化措施,说明其原理。(5分) 5、请简述影响功耗的因素。给出几种FPGA设计过程中将低功耗的方法。(5分) 6、请简述如何保证FPGA的设计收敛?(5分) 7、从Xilinx或Altera公司的产品中任选一款嵌入式微处理器,请说明该处理器 结构、性能、片上总线结构,及嵌入式系统开发流程与环境。(8分) 8、以Xilinx或Altera的FPGA芯片为例,说明一下其各种配置方式以及配置过 程。(5分) 9、请说一下你是如何理解ASIC、FPGA、结构化ASIC的。(5分) 10、请解释FPGA为什么适合DSP应用?并请举例说明。(7分) 11、请查阅Xilinx或Altera公司最新系列FPGA,说明其最新特性、资源、 系列、结构特点、应用领域等。(5分)

FPGA应用设计考试试卷+答案+超详细解答

试题区:(试题区必须与答题区同时交回,含答题纸、试题纸、草稿纸的装订试卷不能分拆) 一、单项选择题:(20分) 1.在VHDL语言中,下列对进程(PROCESS)语句的语句结构及语法规则的描述中,不正确的是___C___。 A.PROCESS为一无限循环语句;敏感信号发生更新时启动进程,执行完成后,等待下 一次进程启动。 B.敏感信号参数表中,不一定要列出进程中使用的所有输入信号; C.进程由说明部分、结构体部分、和敏感信号三部分组成; (进程由声明语句、顺序语句、敏感信号列表组成) D.当前进程中声明的变量不可用于其他进程。 2.在一个VHDL设计中idata是一个信号,数据类型为integer,数据范围0 to 127,下面哪个赋值语句是正确的___C___。(信号赋值符号 <= ) A.idata := 32; B.idata <= 16#A0#; (十进制数为:10*16= 160,idata范围为0~127) C.idata <= 16#7#E1;(十进制数为:7*16^1= 112) D.idata := B#1010#; 3.大规模可编程器件主要有FPGA、CPLD两类,下列对FPGA结构与工作原理的描述中,正确的是___C___。 A.FPGA是基于乘积项结构的可编程逻辑器件; (FPGA芯片基于查找表的可编程逻辑结构) B.FPGA是全称为复杂可编程逻辑器件; (FPGA 现场可编程逻辑门阵列,CPLD才是复杂可编程逻辑器件)

C.基于SRAM的FPGA器件,在每次上电后必须进行一次配置; D.在Altera公司生产的器件中,MAX7000系列属FPGA结构。 (MAX7000系列属CPLD结构) 4.进程中的变量赋值语句,其变量更新是___A___。 (变量(variable)是立即完成的,信号(signal)有延时) A.立即完成; B.按顺序完成; C.在进程的最后完成; D.都不对。 5.VHDL语言是一种结构化设计语言;一个设计实体(电路模块)包括实体与结构体两部分,结构体描述___D___。(结构体实现实体的功能,通过对实体的逻辑功能进行描述) A.器件外部特性; B.器件的综合约束; C.器件外部特性与内部功能; D.器件的内部功能。 6.CASE语句是___A___。(case语句时顺序语句中最重要最常用的顺序语句) A. 顺序语句 B. 并行语句 C. 其它 D.组合逻辑控制电路语句 7.LIBRARY ___A___; --库的声明 USE IEEE.STD_LOGIC_1164.ALL; --库的引用,引用IEEE库中的std_logic_1164中的所有项目A. IEEE B. STD C.WORK D.ENTITY counter IS 8.下列标识符中,___B___是不合法的标识符。(标识符开头必须是英文字符) A. State0 B. 9moon C. Not_Ack_0 D. signall 9.关于VHDL中的数字,请找出以下数字中最大的一个:___A___。(整型数字的表示)

相关文档