VHDL语言快速入门必读.doc
- 文档编号:1220870
- 上传时间:2023-04-30
- 格式:DOC
- 页数:3
- 大小:35.50KB
VHDL语言快速入门必读.doc
《VHDL语言快速入门必读.doc》由会员分享,可在线阅读,更多相关《VHDL语言快速入门必读.doc(3页珍藏版)》请在冰点文库上搜索。
一·1.数据类型BIT与STD_LOGIC有什么区别。
BIT类型的取值只能是0或1,没有不定状态X,也没有高阻态。
STD_LOGIC类型可以有9种不同的值,包括U-初始值,X-不定,0-0,1-1,Z-高阻态,W-弱信号不定,L-弱信号0,H弱信号1.‘—’不可能情况。
2.信号和变量的异同。
信号是全局量,只要在结构体中已经定义,就可以在结构体中的所有地方使用,信号的赋值符号是”<=”,信号带入时可以附加延时,信号实际带入过程和带入语句的处理时分开进行的。
变量是局部量,只能在进程,子程序内部定义和使用,变量的赋值符号是“:
=”,变量的赋值是立即执行的,不能附加延时。
3.VHDL语言的基本顺序语句和并行语句有哪些?
双性语句:
信号带入语句
顺序语句:
WHAT语句,断言语句,变量赋值语句,IF语句,CASE语句,LOOP语句,NEXT语句,EXIT语句,过程调用语句,NULL语句。
并行语句:
进程(PROCESS)语句,条件带入语句,选择信号带入语句,并发过程调用语句,块语句。
4.用VHDL语言进行硬件设计的流程是什么?
1.分析实际的需求2确定芯片的功能3.用VHDL语言描述改元件4.编译,如果有错误修改后再编译直至编译通过。
5.仿真,如果仿真不符合设计要求,修改程序直至仿真通过。
6.测试7.综合,8.下载到实际的芯片上。
5.基本的硬件描述语言的种类有哪些?
美国国防部开发的VHDL。
Verilog公司开发的Verilog-HDL.
日本电子工业振兴协会开发的UDL/I语言。
6.VHDL语言中包含的库的种类有哪些?
库:
是经编译后的数据的集合,它存放包集合定义,实体定义,构造体定义,和配置定义。
库的种类:
1.IEEE库,2.STD库,3.面向ASIC的库,4.WORK库,5.用户定义库
7.IEEE库中所包含的基本类型转换函数有哪些?
函数名
所属包
TO_STDLOGICVECTOR(A)
STD_LOGIC_1164
TO_BITVECTOR(A)
TO_STDLOGIC(A)
TO_BIT(A)
CONV_STD_LOGIC_VECTOR
STD_LOGIC_ARITH
CONV_INTEGER(A)
CONV_INTEGER(A)
STD_LOGIC_UNSIGNED
8.基本VHDL的程序结构是怎样的?
1.包含程序所用的库
LIBRARYIEEE;
USEIEEE.STD_LOGIC_1164.ALL;
USEIEEE.STD_LOGIC_UNSIGNED.ALL;
2.实体声明
ENTITYfpIS
PORT();
ENDENTITYfp;
3.结构体,具体功能的实现
ARCHITECTUREaOFfpIS
BEGIN
ENDARCHITECTUREa;
9.VHDL的程序子结构有哪些?
进程(PROCESS)顺序语句,块(BLOCK)并行语句,过程(PROCEDURE)顺序语句,函数(顺序语句)。
10.简述when-else和if-else的区别?
If-else是顺序语句所以只能在进程内部使用,可以没有else语句,可以进行嵌套。
有自身值带入的描述,能组成锁存电路。
When-else是并行语句,在结构体内使用,必须要有else语句,不能进行嵌套,没有自身值带入的描述,不能组成锁存电路。
11.什么是ASIC,ASIC的特点是什么?
ASIC是ApplicationSpecificIntegratedCircuit的英文缩写,在集成电路界被认为是一种为专门目的而设计的集成电路。
ASIC的特点是面向特定用户的需求,ASIC在批量生产时与通用集成电路相比具有体积更小、功耗更低、可靠性提高、性能提高、保密性增强、成本降低等优点。
12.逻辑电平有哪些?
逻辑电平:
有TTL、CMOS、LVTTL、ECL、PECL、GTL;RS232、RS422、LVDS等。
·其中TTL和CMOS的逻辑电平按典型电压可分为四类:
5V系列(5VTTL和5VCMOS)、3.3V系列,2.5V系列和1.8V系列。
·5VTTL和5VCMOS逻辑电平是通用的逻辑电平。
13.TTL电平和CMOS电平可以互联吗?
数字电路中TTL电平是个电压范围,规定输出高电平>2.4V,输出低电平<0.4V。
在室温下,一般输出高电平是3.5V,输出低电平是0.2V。
CMOS电平在不同的电路中是0v-5v或者0v-12v。
所以可以用CMOS电平驱动TTL电平器件,但是TTL电平驱动CMOS电平器件时须加上拉电阻。
二·用VHDL语言描述给定电路,或写出给定电路的功能或输出。
三.程序改错。
四.注释程序。
五.程序同功能语句替换。
六.元件例化连接器件。
程序例子:
IF语句:
(1)IF(sel=’0’)THEN
y<=’1’;
ENDIF;
(2)IF(sel=’0’)THEN
y<=’0’;
ELSE
y<=’1’;
ENDIF;
(3)IF(sel=”00”)THEN
y<=”01”;
ELSIF(sel=”01”)THEN
y<=”10”
……
ELSE
y<=”11;
ENDIF;
CASE语句:
CASEselIS
WHEN“00”=>y<=”00”;
WHEN“01”=>y<=”10”;
WHEN“11”=>y<=”11”;
ENDCASE;
FOR语句:
FORiIN0TO7LOOP
tmp:
=tmpXORa(i);
ENDLOOP;
WHILE语句:
WHILE(i<8)LOOP
tmp:
=tmpXORa(i);
i:
=i+1;
ENDLOOP;
WHEN-ELSE语句(类似if-else):
q<=i0WHENsel=”00”ELSE
i1WHENsel=”01”ELSE
i2WHENsel=”10”ELSE
i3WHENsel=”11”ELSE
‘X’;
WITH-SELECT语句:
(类似CASE语句)
WITHselSELECT
q<=i0WHEN“00”,
i1WHEN“01”,
i2WHEN“10”,
i3WHEN“11”,
‘X’WHENOTHERS;
分频器
LIBRARYIEEE;
USEIEEE.STD_LOGIC_1164.ALL;
USEIEEE.STD_LOGIC_UNSIGNED.ALL;
ENTITYfpIS
PORT(clk:
INSTD_LOGIC;
fp1024,fp512,fp64,fp4,fp1:
OUTSTD_LOGIC);
ENDENTITYfp;
ARCHITECTUREaOFfpIS
SIGNALbuf:
STD_LOGIC_VECTOR(9DOWNTO0);
BEGIN
fp1<=buf(9);
fp4<=buf(7);
fp64<=buf(3);
fp512<=buf(0);
fp1024<=clk;
PROCESS(clk)IS
BEGIN
IF(clk'EVENTANDclk='1')THEN
IF(buf="1111111111")THENLIBRARYIEEE;
报时电路
USEIEEE.STD_LOGIC_1164.ALL;
USEIEEE.STD_LOGIC_UNSIGNED.ALL;
ENTITYbsIS
PORT(min,sin:
INSTD_LOGIC_VECTOR(7DOWNTO0);
clk,bs512,bs1024:
INSTD_LOGIC;
bsout:
OUTSTD_LOGIC);
ENDENTITYbs;
ARCHITECTUREaOFbsIS
BEGIN
PROCESS(clk)IS
BEGIN
IF(clk'EVENTANDclk='1')THEN
IF(min="01011001")THEN
CASEsinIS
WHEN"01010000"=>bsout<=bs512;
WHEN"01010010"=>bsout<=bs512;
WHEN"01010100"=>bsout<=bs512;
WHEN"01010110"=>bsout<=bs512;
WHEN"01011000"=>bsout<=bs512;
WHEN"01011001"=>bsout<=bs1024;
WHENOTHERS=>bsout<='0';
ENDCASE;
ENDIF;
ENDIF;
ENDPROCESS;
ENDARCHITECTUREa;
buf<="0000000000";
ELSE
buf<=buf+'1';
ENDIF;
ENDIF;
ENDPROCESS;
ENDARCHITECTUREa;
元件例化
LIBRARYIEEE;
USEIEEE.STD_LOGIC_1164.ALL;
USEIEEE.STD_LOGIC_UNSIGNED.ALL;
ENTITYcount60IS
PORT(clkin,en,res:
INSTD_LOGIC;
bs0,bs1:
OUTSTD_LOGIC_VECTOR(3DOWNTO0);
cyout:
OUTSTD_LOGIC);
ENDENTITYcount60;
ARCHITECTUREcountOFcount60IS
COMPONENTcount10IS
PORT(clk,enable,reset:
INSTD_LOGIC;
b0:
OUTSTD_LOGIC_VECTOR(3DOWNTO0);
cy:
OUTSTD_LOGIC);
ENDCOMPONENT;
SIGNALcount4:
STD_LOGIC_VECTOR(3DOWNTO0);
SIGNALclk1,cy1:
STD_LOGIC;
BEGIN
bs1<=count4;
cyout<=cy1;
u0:
count10 PORTMAP(clk=>clkin,cy=>clk1,reset=>res,enable=>en,b0=>bs0);
PROCESS(clk1,res,en)IS
BEGIN
IF(res='0')THEN
count4<="0000";
ELSIF(clk1'EVENTANDclk1='1')THEN
IF(en)='1'THEN
IF(count4="0110")THEN
count4<="0000";
cy1<='1';
ELSE
count4<=count4+'1';
cy1<='0';
ENDIF;
ENDIF;
ENDIF;
ENDPROCESS;
ENDARCHITECTUREcount;
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- VHDL 语言 快速 入门 必读