1、EPGA的中文意思是什么?
完全由用户通过软件进行配置和编程,从而完成某种特定的功能,并且可以反复擦写。
2、所谓敏感信号表达式。即当该表达式中的变量的值改变时,就会引发块内语句的执行always过程语句的敏感信号可以分为两种类型:一种为边沿敏感型、一种为电平敏感型。
“always”过程语句通常是带有触发条件的,触发条件写在敏感信号表达式中,只有当触发条件满足时,其后的“begin-end”块语句才能被执行。下面讨论敏感信号表达式“event-expression”的含义以及如何写敏感信号表达式IP核的感念和分类。
所谓敏感信号表达式,又称事件表达式或敏感信号列表,即当该表达式中变量的值改变时,就会引发块内语句的执行。因此,敏感信号表达式中应列出影响块内取值的所有信号。若有两个或两个以上信号,它们之间用“or”连接。
always  @(posedge  clk  or  posedge clr)
            //两个敏感信号都是边沿敏感型
always  @(a  or  b)
            //两个敏感信号都是电平敏感型
always  @(posedge  clk  or  clr)
          //不建议这样用,最好不要将边沿敏感型和电平
          //敏感型列在一起
3、每个Verilog程序包括4个主要部分:模块声明、端口定义、信号类型说明和逻辑功能描述。
1)模块声明:  模块声明包括模块名字和模块输入、输出端口列表。其格式如下:module  模块名 (端口1,端口2,端口3……);模块结束的标志为关键字:endmodule
2)端口(Port)定义:对模块的输入、输出端口要明确说明,其格式为:
端口是模块与外界或其他模块连接和通信的信号线,如图所示:有三种类型的端口:输入端口(input)、输出端口(output)和输入/输出端口(inout).
3)信号类型声明:        对端口的输入输出除了要明确说明外,还要进行信号数据类型的定义。Verilog语言提供了各种信号类型,分别模拟实际电路中的各种物理连接和物理实体。
常用的数据类型包括连线型(wire)、寄存器型(reg)两种。如果信号的数据类型没有定义,则综合器将其默认为wire型。
          注:输入端口和双向端口不能声明为寄存器型
4)逻辑功能定义:      模块中最核心的部分是逻辑功能定义。有多种方法可在模块中描述和定义逻辑功能,还可以调用函数(function)和任务(task)来描述逻辑功能。下面介绍定义逻辑功能的几种方法。
用“assign”持续赋值语句定义:      “assign”语句一般用于组合逻辑的赋值,成为持续赋值语句。如: assign  F=~((A&B)|(C&D));
这种方法简单,只需将逻辑表达式放在关键字“assign”后即可。
4、Verilog HDL所描述的信号通常有4种基本逻辑状态:高电平、低电平、高阻态和不确定状态。
Verilog HDL有下面4种基本逻辑状态:0:低电平、逻辑0或逻辑非;1:高电平、逻辑1或“真”;xX:不确定或未知的逻辑状态;zZ:高阻态。这四种值的解释都内置于语言中。如一个为z的值总是意味着高阻抗,一个为0 的值通常是指逻辑0;在门的输入或一个表达式中为“z”的值通常解释成“x ”。此外x值和z值都是不分大小写的,也就是说,值0x1z与值0X1Z相同。
5、Verilog HDL中的标识符可以是任意一组字母、数字、$符号好_(下划线)符号的组合,但标识符的第一个字符必须是字符或者下划线。
1、有效的字符:包括26个英文字母,(大小写都包括),数字包括0~9以及“$
和下划线“  或它们的组合标识符最长可以包含1023个字符。2、任何标识符必须以英文字母或下划线开头。3、必须是单一划线“    ”,且前后都必须有英文字母或数字。4、标识符中的英语字母区分大小写。5、允许包含图形符号,也允许包含空格符。
6、在Verilog HDL中存在4种类型的循环语句,可用来控制语句执行次数。这4种语句分别:for、repeat、while和forever。
1. for语句:for语句使用格式:for(表达式1;表达式2;表达式3)  语句;即: for(循环变量赋
初值;循环结束条件;循环变量增值执行语句;2. repeat语句:repeat语句的使用格式为:repeat(循环次数表达式语句;或repeat(循环次数表达式)  begin……                                         
end。3、While语句:while语句的使用格式如下:while(循环执行条件表达式)语句;
或  while(循环执行条件表达式)begin  ……  endwhile语句在执行时,首先判断循环执行条件表达式是否为真,若为真,执行后面的语句或语句块,然后再回头判断循环执行条件表达式是否为真,为真的话,再执行一遍后面的语句,如此不断,直到条件表达式不为真。因此,在执行语句中,必须有一条改变循环执行条件表达式的值的语句。 4. forever语句:forever语句的使用格式如下:forever语句;
或  forever  begin  ……  end  forever循环语句连续不断地执行后面的语句或语句块,常用来产生周期性的波形,作为仿真激励信号,for语句一般用在initial过程语句中,若要用它来进行模块描述,可用disable语句进行中断。     
   
7、有限状态机及其设计技术是实用数字系统设计的重要组成部分。从信号的输出方式。有Moore型和Mealy两类状态机。
Mealy型状态机的输出是当前状态和所有输入信号的函数它的输出是在输入变化后立即发生的,不依赖时钟的同步;Moore型机的输出则仅为当前状态的函数,这类状态机在输入发生变化时还必须等待时钟的到来,时钟使状态发生时才导致输出的变化,所以比Mealy型机要多等待一个时钟周期。 
8、简要描述FPGA的开发流程。
FPGA的设计流程就是利用EDA开发软件和编程工具对FPGA芯片进行开发的过程。
Xilinx公司提供了FPGA开发软件ISE,这是一个集成的开发环境。用户可以在ISE工程管理器—Project Navigator界面的统一管理下,完成所有的设计输入、仿真、综合、布线、下载等工作,而且其中集成了强大的仿真工具ModelSim
9、组合电路和时序电路的区别。
while语句都可以用for改写  时序电路:它是由最基本的逻辑门电路加上反馈逻辑回路(输出到输入)或器件组合而成的电路,与组合电路最本质的区别在于时序电路具有记忆功能。时序电路的特点是:输出不仅取决于当时的输入值,而且还与电路过去的状态有关。它类似于含储能元件的电感或电容的电路,如 触发器 、 锁存器 、 计数器 、 移位寄存器 、 储存器等电路都是时序电路的典型器件。
10、Verilog语言与C语言特点比较。
1Verilog是一种硬件语言,最终是为了产生实际的硬件电路或对硬件电路进行仿真;而C语言是一种软件语言,是控制硬件来实现某些功能的语言。
2C语言只要是语法正确,都可以编译执行;而Verilog语言有可综合的限制,即在所有的Verilog语句中,只有一部分可以被综合,而另外的部分则不能被综合,只能用来仿真。
3C语言是一种软件编程语言,其基本思想是语句的循序执行;而Verilog语言的基本思想是模块的并行执行。
4)利用Verilog编程时,要时刻记得Verilog是硬件语言,要时刻将Verilog与硬件电路对应
起来。
11、Verilog语言中的函数使用时的注意事项有哪些、任务使用的注意事项有哪些。二者之间的区别。
1函数:函数的定义和调用须在一个module模块内
2函数只允许有输入变量,且必须至少有一个输入变量,输出变量由函数名本身担任。因此在定义函数时,需对函数名说明其类型和位宽。
3定义函数时,没有端口名列表,但调用函数时,需列出端口名列表,端口名的排序和类型必须与定义时的相一致,这点与任务相同。
4函数可以出现在连续赋值assign的右端表达式中。
5函数不能调用任务,而任务可以调用别的任务和函数,且调用任务和函数个数不受限制。
1任务:任务的定义与调用须在一个module模块内
2定义任务时,没有端口名列表,但需要紧接着进行输入、输出端口和数据类型的说明
3当任务被调用时,任务被激活。任务的调用与模块调用一样通过任务名调用来实现。调用时,需列出端口名列表,端口的排序和类型必须与任务定义中的一致
4一个任务可调用别的任务和函数,可以调用的任务和函数个数不限。
任务和函数的合理使用会使程序显得结构清晰而简洁,一般的综合器对taskfunction都是支持的,但也有的综合器不支持task,需要在使用的时候加以注意。
12、阻塞赋值与非阻塞赋值的特点。
阻塞赋值:阻塞赋值语句,从字面上理解,该条语句阻塞了下面语句的执行,“=”用于阻塞的赋值,凡是在组合逻辑(如在assign语句中)赋值的请用阻塞赋值。非阻塞赋值:非阻塞赋值操作符用小于等于号(即<=)表示,只能用于对寄存器类型变量进行赋值,因此只能用在“initial ”和“always”等过程块中,不能用在assign语句中。
在同一个进程块中,最好不要同时用阻塞赋值和非阻塞赋值语句。
13、同步复位与异步复位操作的区别。
同步是指与时钟同步,即时钟触发条件满足时检测清零信号是否有效,有效则在下一个时间周期的触发条件下,执行清零;  异步是清零信号有效时,无视触发脉冲,立即清零。 同步信号可以过滤掉不正确状态跳变对逻辑的影响,但是需要保证有效输入信号在时钟信号跳变前完成跳变,否则输入信号就是无效的。异步信号则和同步信号的效果正好相反。使用时请根据实际情况考虑。
14、数码管显示、自动售饮料机。
  对于输入币值变化的判断,采用if-else语句来判断。整个描述用一个过程块加以表示。有限状态机从本质上讲是由寄存器和组合逻辑构成的时序电路,各个状态之间的转移总是在时钟的触发下进行的,也可以在设计时将时序逻辑部分和组合逻辑部分分在两个“always”过程块中进行描述,这样在综合时可以减少一些不必要的寄存器。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。