FPGA作业和答案

发布 2022-09-03 11:40:28 阅读 8885

1. 顺序语句和并行语句分别有哪些?顺序语句和并行语句主要有什么区别?

答: 顺序语句:信号赋值语句(进程中)、变量赋值语句、流程控制语句(if语句、case语句)、等待语句、子程序调用语句、返回语句、空操作语句。

并行语句:1、并行信号赋值语句:简单信号赋值语句(eg :

a<=’1’)、条件信号赋值语句(when_else)、选择信号赋值语句(with_select)。2、进程语句。3、块语句。

4、元件列化语句。5、生成语句。6、并行过程调用语句。

7、条件信号赋值语句。

主要区别:顺序语句的特点是每一条顺序语句的执行顺序是与它们的书写顺序基本一致的,只能出现在进程和子程序中,子程序包括函数和过程。并行语句间在执行顺序的地位上是平等的,其执行顺序与书写顺序无关。

在执行中,并行语句之间可以有信息往来,也可以是互为独立、互不相关。每一并行语句内部的语句运行方式可以有两种不同的方式,及并行执行方式和顺序执行方式。

2阅读下面的程序,分析其实现的逻辑功能,并说明是时序逻辑还是组合逻辑 ?

答:功能:译码器。将1在0位出现时显示0,依此类推直到9。其他显示皆为0. 是组合逻辑。

3结构体的描述方式有几种方式?各有什么特点?

答: 行为描述,数据流描述, 结构体描述三种描述。行为描述没有直接指明或涉及实现这些行为的硬件结构,他通常有一个或者多个进程构成,每个进程又包含一系列语句;数据流描述可以描述是徐殿禄也可以描述组合电路,它是建立在用并行信号赋值语句描述基础上的,当语句中任一输入信号发生变化时,赋值语句就被激活,随着这种语句对电路行为的描述,大量的有关这种结构信息业从这种逻辑描述中“流出”;结构描述是基于元件例化语句或生成语句的描述,它表示元件之间的互联,这种描述允许互联元件的层次式安置、元件的定义或使用说明以及元件例化语句,是用vhdl实现层次化、模块化设计的手段,与传统原理图设计输入方式相仿。

4.答: 实现机制: “三人表决器”的逻辑功能是:表决结果与多数人意见相同。

a、b、c 为三个人(输入逻辑变量),赞成为1,不赞成为0;

m 为表决结果(输出逻辑变量),当a、b、c 中有2 个或者3 个赞成m 为1,否则,m 为0。

三个结构体描述方法分别用了行为描述、数据流描述、结构化描述

5. 答:① if 语句描述全加器只需要将半加器程序修改即可

entity h_adder is

port (a, b : in std_logic;

co, so : out std_logic);

end entity h_adder;

architecture fh1 of h_adder is

signal abc : std_logic_vector(1 downto 0) ;

begin

abc <=a & b ;

process(abc)

begin

if abc<= 00' then so<='0'; co<='0' ;

elsif abc<= 01' then so<='1'; co<='0' ;

elsif abc<= 10' then so<='1'; co<='0' ;

elsif abc<='11' then so<='0'; co<='1' ;

end if;

end process;

end architecture fh1 ;

when else 语句:只将半加器程序修改为

entity h_adder is

port (a, b : in std_logic ;

co, so : out std_logic);

end entity h_adder;

architecture fh1 of h_adder is

signal abc : std_logic_vector(1 downto 0) ;

begin

so<='0'; co<='0' when abc<='00' else

so<='1'; co<='0' when abc<='01' else

so<='1'; co<='0' when abc<='10' else

so<='0'; co<='1' ;

end architecture fh1 ;

4 位加法器的vhdl 描述(元件例化的方法)。

library ieee;

use use

use entity adder4 is

port (a,b:in std_logic_vector(3 downto 0);

s:out std_logic_vector(3 downto 0);

cout:out std_logic);

end entity adder4;

architecture fh1 of adder4 is

component h_adder

port(a,b:in std_logic;

co,so:out std_logic);

end component;

component f_adder

port(ain,bin,cin:in std_logic;

cout,sum: out std_logic);

end component;

signal m:std_logic;

begin

u1:h_adder port map(a=>a(0),b=>b(0),co=>m,so=>s(0));

u2:f_adder port map

ain=>a(1),bin=>b(1),cin=>m,sum=>s(1),cout=>n);

u3:f_adder port map

ain=>a(2),bin=>b(2),cin=>n,sum=>s(2),cout=>p);

u4:f_adder port map

ain=>a(3),bin=>b(3),cin=>p,sum=>s(3),cout=>cout);

end architecture fh1;

FPGA作业答案

1 简述eda的发展历程及各阶段的特点1 手工设计阶段。2 计算机辅助设计 cad 20世纪70年代,属eda技术发展初期。该阶段的特点是一些单独的工具软件,主要有pcb布线设计 电路模拟 逻辑模拟及版图的绘制通过计算机的使用,从而将设计人员从大量繁琐重复的计算和绘图工作中解脱出来。3 计算机辅助工...

FPGA作业

可编程逻辑器件有哪些类型?fpga与cpld有什么区别?目前生产和使用的可编程逻辑器件 programmable logic device,pld 产品主要有可编程只读存储器 prom 现场可编程逻辑阵列 field programmable logic array,fpga 可编程阵列逻辑 pro...

FPGA作业

fpga入门应用。姓名。学院。班级。学号。年月日。一 文本输入法 subdesign t3 3 a,b,c input a out,b out,c out output beginif a then a out vcc b out gnd c out gnd elsif b then a out g...