当前位置:首页 > VHDL复习习题
名词解释(英文解释)。
1. EDA:(Electronic Design Automation) ,即电子设计自动化。 2. FPGA:(Field-Programmable Gate Array),即现场可编程门阵列。 3. ASIC:(Application Specific Integrated Circuit),即专用集成电路。 4. VHDL:(Very-High-Speed Integrated Circuit HardwareDescription
Language),被IEEE和美国国防部确认为标准硬件描述语言。 ........5.
6. 7. 8. CPLD:(Complex Programmable Logic Device),即复杂可编程逻辑器件。 SOC:(System on Chip),即片上系统。
ROM:(Read-Only Memory),即只读存储器。 ISP:线上可编程系统
简答:
9.10.12. 13.14.Top_Down是电子设计自动化的主要设计方法,请问:它包括哪些基本设计步骤?
第一层次是行为描述。实质上就是对整个系统数学模型的描述。
第二层次是RTL方式描述。称为寄存器传输描述(又称数据流描述)。
第三层次是逻辑综合。利用逻辑综合工具将RTL方式描述的程序转化成用基本逻辑单元表示的文件(门级网络表)。
一个简单的VHDL程序通常包括哪些主要组成部分?其中哪一部分用来描述
端口特性?
1) 实体说明和构造体。 2) 实体说明。 11. 在VHDL程序编写过程中经常会涉及到并行语句和顺序语句,请问:顺序语句主要包括哪些语句?这些语句通常用在什么场合?
1) WAIT语句,断言语句,信号带入语句,变量赋值语句,IF语句,CASE
语句,LOOP语句,NEXT语句,EXIT语句,过程调用语句,NULL语句。 2) 略。
请问:VHDL程序构造体的描述方式主要有哪几种?
行为描述方式;寄存器传输(RTL)描述方式;结构描述方式。
在VHDL程序编写过程中经常会涉及到信号和变量,请将二者作比较。
1) 信号可以是全局量;变量是局部量,只能在进程、子程序内部定义和
使用。
2) 信号用赋值符号;变量用代入符号。
3) 信号带入时刻和起作用的时刻是分开的。
下面VHDL程序描述的是一个什么电路?请仔细阅读程序,并加以分析说明。
答:四选一数据选择器。 LIBRARY ieee ;
USE ieee.std_logic_1164.all ; ENTITY mux IS
PORT ( a,b,c,d : in std_logic ;
sel : in std_logic_vector(1 downto 0) ; q : out std_logic) ; END mux ;
ARCHITECTURE rtl OF mux IS BEGIN
PROCESS(sel, a, b, c, d) BEGIN
CASE sel IS
WHEN “00” => q <= a ; WHEN “01” => q <= b ;
WHEN “10” => q <= c ;
WHEN “11” => q <= d ;
WHEN OTHERS => null ; END CASE ;
END PROCESS ; END rtl ;
分析: 1. 下面给出了VHDL程序的进程部分的源代码,同时给出了三个输入端口clk、d和
reset的激励波形。请仔细分析源代码,根据已知的激励波形,画出输出端口q的
正确波形图,并简要说明得到该波形的原因。 PROCE
SS
( clk, d, reset ) BEGIN
IF ( reset = ?1? ) THEN q <= ?0? ;
ELSIF ( clk = ?1? ) THEN q <= d ;
END IF ; END PROCESS ;
下面给出了另一段VHDL程序的进程部分的源代码,同时也给出了三个输入端口clk、d和reset的激励波形。请对照上题仔细分析源代码,指出两程序代码的相异之处,同时根据已知的激励波形,画出输出端口q的正确波形图,并简要说明得到该波形的原因。
2、
PROCESS ( clk ) BEGIN
IF ( reset = ?1? ) THEN q <= ?0? ;
ELSIF ( clk = ?1? ) THEN
3、
q <= d ; END IF ; END PROCESS ;
下面给出了某程序的构造体部分,请画出信号q对应的仿真波形图,并分析得到该波形的原因。 (掠过)
ARCHITECTURE body_mux2 OF mux2 IS SIGNAL count : INTEGER; BEGIN
PROCESS(a,b,sel) BEGIN
count <= 0; IF (sel = '1') then
count <= count+ 1;
END IF;
CASE count IS
WHEN 0 => q <= a; WHEN 1 => q <= b;
WHEN OTHERS => NULL;
END CASE; END PROCESS; END body_mux2;
a) 参考图3设计涟波计数器。如图3所示,为三级T触发器所组成的8(=23)分频电
路,即所谓的涟波计数器(Ripple Counter)。
Q0 Q1 D Q2
Q2 CLK CLK
Q1
Q0
图3 涟波计数
LIBRARY ieee ;
USE ieee.std_logic_1164.all ; ENTITY mux IS
PORT ( clk: in std_logic ;
Q0,Q1,Q2: out std_logic) ; END mux ;
ARCHITECTURE rtl OF mux IS signal qq0,qq1,qq2:std_logic; BEGIN
Q0<=qq0;Q1<=qq1;Q2<=qq2; process (clk) begin
if (clk 'event and clk='1')then qq0<=not qq0; end if;
end process;
process (qq0) begin
if (qq0 'event and qq0='1')then qq1<=not qq1; end if;
end process;
process (qq1)
begin
if (qq1'event and qq1='1')then qq2<=not qq2; end if;
end process; END rtl;
编程题
a) 请用VHDL设计一个三输入与门。
ENTITY mux IS
PORT ( a,b,c: in std_logic ;
q: out std_logic) ;
END mux ;
ARCHITECTURE rtl OF mux IS BEGIN
q<=a and b and c; END rtl;
b) 请用VHDL设计一个二选一的选择器。
ENTITY mux IS
PORT ( a,b,sel: in std_logic ;
q: out std_logic) ;
END mux ;
ARCHITECTURE rtl OF mux IS BEGIN
PROCESS(a,b,sel) begin
case sel is
when '1'=>q<=a; when '0'=>q<=b; when others=>null; end case;
end process; END rtl;
c) 已知全加器的逻辑表达式为: Sum = A⊕B⊕Cin
Cout =(A·B)+(A·Cin)+(B·Cin)
请参考以上逻辑表达式设计全加器的VHDL程序。 ENTITY mux IS
PORT ( a,b,cin: in std_logic ; sum,cout: out std_logic) ; END mux ;
ARCHITECTURE rtl OF mux IS BEGIN
sum<=(a xor b ) xor cin;
cout<=(a and b) or (a and cin) or (b and cin); END rtl;
d) D触发器的基本原理原理是:当时钟边沿到来时,输出将等于输入,否则其值
保持不变。请用VHDL设计一个由上升沿触发的D触发器。 ENTITY mux IS
PORT ( clk,d: in std_logic ; q: out std_logic) ;
END mux ;
ARCHITECTURE rtl OF mux IS BEGIN
process (clk) begin 4、
共分享92篇相关文档