




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
§3.3
VHDL的设计实例8位反相器的结构描述ENTITY
inv_8_bit
ISPORT
(x:
IN
STD_LOGIC_VECTOR(1TO
8);y:
OUT
STD_LOGIC_VECTOR(1TO
8);END
inv_8_bit;ARCHITECTURE
struct
OF
inv_8_bit
ISCOMPONENT
invPORT
(i:
IN
STD_LOGIC;o:
OUT
STD_LOGIC);END
COMPONENT;BEGINu:
FOR
n
IN 1
TO
8
GENERATE;v:
inv
FORT
MAP
(x(n),y(n));END
GENERATE;END
struct;元件语句:又称元件例化就是引入一种连接关系,可以把以前设计好的设计实体定义为一个元件,然后将此元件与当前的设计实体的指定端口相连接,从而为当前的设计实体引入一个新的低一级的设计层次。元件定义语句的格式:COMPONENT
元件名
ISPORT(信号名表);END
COMPONENT;元件调用语句的格式:例化名:元件名
PORTMAP(信号名表);生成语句:生成语句用来产生多个相同的结构,生成语句有一种作用,可
一组完全相同的元件或电路结构。FOR
循环变量
IN
取值范围
GENERATE并发处理语句;END
GENERATE[标号];用半加器和“或门”构成全加器。half_adder1half_adder2a
bcinc1
s1scoutc2U2U1half_adderabscLIBRARY
IEEE;USE
IEEE
std_logic_1164.ALL;ENTITY
full_adder
ISPORT
(a,b,cin:
IN
BIT;s,
cout: OUT
BIT);END
full_adder;ARCHITECTURE
arc
OF
full_adder
ISCOMPONENT
half_adderPORT(a,
b:
IN
BIT;s,
c:
OUT
BIT);END
COMPONENT;SIGNAL s1,
c1,
c2:
BIT;BEGINU1:
half_adder
PORT
MAP(a,b,s1,c1);U2:
half_adder
PORT
MAP(s1,cin,s,c2);cout<=
c1
OR
c2;END
arc;三——八译
的数据流描述。LIBRARY
IEEE;USE
IEEE
std_logic_1163.ALL;ENTITY
decoder3_8
ISPORT
(g1,g2a,g2b:
IN
STD_LOGIC;a,b,c:IN
STD_LOGIC;y:
OUT
STD_LOGIC_VECTOR(7DOWNTO
0);END
decoder3_8;ARCHITECTURE
rtl
OF
decoder3_8
ISSIGNAL
comb:
STD_LOGIC_VECTOR(2DOWNTO
0);BEGINcomb
<=
c
&
b
&
a
;PROCESS
(g1,g2a,g2b,comb)BEGINIF(g1=‘1’
AND
g2a=‘0’
AND
g2b=‘0’)
THENCASE
comb
ISWHEN“000”=>y<=“11111110”;WHEN“001”=>y<=“11111101”;WHEN“010”=>y<=“11111011”;WHEN“011”=>y<=“11110111”;WHEN“100”=>y<=“11101111”;WHEN“101”=>y<=“11011111”;WHEN“110”=>y<=“10111111”;WHEN“111”=>y<=“01111111”;WHEN OTHERS
=>y<=“xxxxxxxx”;END
CASE;END
IF;END
PROCESS;END
rtl;三态输出“与非”门的性能描述。ENTITY
stm
ISPORT
(i1,
i2,
en:
IN
STD_LOGIC;y:
OUT
STD_LOGIC);END
stm;ARCHITECTURE
behave
OF
stm
ISBEGINPROCESS(i1,
i2,
en)BEGINIF en
=‘1’
THENy<
=
i1
NAND
i2;ELSEY
<=‘Z’;END
IF;END
PROCESS;END
behave;对上述三态门还可以用条件赋值语句来描述,就得到三态门的数据流描述:ARCHITECTURE
dflow
OF
stm
ISBEGINy<=
i1
NAND
i2
WHEN
(en=“1’)ELSEy
<=
‘Z’;END
dflow;钟控型触发器的描述,上升沿触发的D触发器。ENTITY
DF
ISPORT
(d,
clk:
IN
BIT;q,qb:
OUT
BIT);END
DF;ARCHITECTURE
behave
OF
DF
ISBEGINPROCESS(clk)BEGINIF(clk
‘
EVENT
AND
clk
=‘1’)
THENq<=
d;qb<=
NOT
d;END
IF;ENDPROCESS;END
behave;带有异步置位/复位功能上升沿触发的D触发器。LIBRARY
IEEE;USE
IEEE.
std_logic
1164.
ALL;ENTITY
dff_2
ISPORT
(d,
clk, s,
r:
IN
STD_LOGIC;q,
qb:
OUT
STD_LOGIC);END
dff_2;ARCHITECTURE
beh
OF
dff_2
ISBEGINBEGINPROCESS(clk,
s,
r)BEGINIF
(s
=
‘0’
AND
r
=‘1’
)
THENq<=‘1
’;qb
<
=‘0’;ELSIF
(
s
=‘1’
AND
r
=‘0’
)
THENq<=‘0
’;qb
<
=‘1’;ELSIF
(
clk’
EVENT
AND clk
=‘1’
)
THENq
<=
d;qb
<=NOT
d;END
IF;END
PROCESS;END
beh;上述语句中就是异步置位/复位,低有效。设计同步复位上升沿触发的D触发器。其电路图如下。QCPdclkclr
1
DqLIBRARY
IEEE;USE
IEEE.
std_logic
1164.
ALL;ENTITY
dff_4
ISPORT
(d,
clk,
clr:
IN
STD_LOGIC;q:
OUT
STD_LOGIC);END
dff_4;ARCHITECTURE
rtl
OF
dff_4
ISBEGINBEGINPROCESS(clk)BEGINIF
(clk’
EVENT
AND clk
=‘1’
)
THENIF
(clr
=
‘1
’)
THENq
<=
‘0’;ELSEq
<=d;END
IF;ENDPROCESS;END
rtl;设计一个分频器,并通过修改程序中的参数来实现不同倍数的分频。LIBRARY
IEEE;USE
IEEE.
std_logic
1164.
ALL;USE
IEEE.
std_logic
_UNSIGNED.
ALL;ENTITY
divider_n
ISGENERIC
(n:
INTEGER:=10);PORT
(clki
:
IN
STD_LOGIC;指令:generic
类属参数说明;格式:GENERIC(常数名字表:数据类型[:=设定值]类属参数说明是实体说明组织中的可选项,必须放在端口说明前,用于指定参数。VHDL中的对象:1、常量;2、变量;3、信号。Signal
信号可以代表电路是实体动态交换数据各元件之间的连接线,段。Signal
信号名:数据类型
约束条件:=
表达式VARIABLE
用于对可变数据的临时
,变量只能在进程语句、函数语句和过程语句结构中使用,它是一个局部量。VARIABLE
变量名:数据类型
约束条件:=
表达式clko:
OUT
STD_LOGIC);END
divider_n
;ARCHITECTURE
arc_divider_n
OFdivider_n
ISSIGNAL
qout:
STD_LOGIC;SIGNAL
counter:
INTEGER;BEGINclko<=qout;PROCESS(clki)BEGINIF
(clki’
EVENT
AND clki
=‘1’
)
THENIF
(counter
=
n-1
)
THENqout<=
NOT
qout;counter<=
0;ELSEcounter
<
=
counter
+1;END
IF;END
IF;END
PROCESS;END
arc_divider_n;设计一个十进制计数器,要求代允许计数端和清零端,计数允许端和清零端均为高有效,真值表如下。输入端输出端clrenclkqdqcqbqa1XX000000X不变不变不变不变01计数值加1enclrclkqdqcqbqa十进制计数器LIBRARY
IEEE;USE
IEEE.
std_logic
1164.
ALL;USE
IEEE.
std_logic
_UNSIGNED.
ALL;ENTITY
count_10
ISPORT
(clk,
clr,
en
:
IN
STD_LOGIC;qa,
qb,
qc,
qd:
OUT
STD_LOGIC);END
count_10;ARCHITECTURE
arc_count10
OF
count_10ISSIGNAL
qout:
STD_LOGIC_VECTOR(3DOWNTO
0);BEGINqa<=qout(0);qb<=qout(1);qc<
=qout(2);qd<=qout(3);PROCESS(clk,
clr)BEGINIF
(clr=‘1’)
THENqout<=
“0000”;ELSIF(clk’
EVENT
AND
clk
=‘1’)
THENIF
(en
=
‘1’)
THENIF
(qout
=“1001”)
THENqout<
=“0000”;ELSEqout<=
qout
+
‘1’;ENDIF;END
IF;END
IF;ENDPROCESS;END
arc_count10;设计一个同步可逆计数器,要求代允许计数端和清零端,方向控制端,计数允许端和清零端均为高有效,真值表如下。输入端输出端clrupdownloadclkQ(3)Q(2)Q(1)Q(0)1XXX00000X1X预置输入端D状态010计数值加1000计数值减1真值表D(3)D(2)D(1)D(0)clrclkQ(3)Q(2)Q(1)Q(0)十进制计数器load
updownLIBRARY
IEEE;USE
IEEE.
std_logic
1164.
ALL;USE
IEEE.
std_logic
_UNSIGNED.
ALL;ENTITY
count_4
ISPORT
(clk,
clr,
load,
updown:
INSTD_LOGIC;d:
IN
STD_LOGIC_VECTOR
(3DOWNTO
0));q:
OUT
STD_LOGIC_VECTOR(3DOWNTO
0));END
count_4
;ARCHITECTURE
arc_count4
OF
count_4ISBEGINPROCESS(clk,
clr,
load)BEGINIF
(clr
=‘1’)
THENq
<=
“0000”;ELSIF(load
=
‘1’
)THENq<=dELSIF
(clk‘EVENT
AND
clk
=‘1’)
THENIF
(updown
=‘1’)
THENq
<=
q+1
;ELSEq
<=
q-1
;ENDIF;END
IF;END
PROCESS;END
arc_count4;设计一个moore型状态机。输出信号仅是现态的函数。S0/0S1/1S3/00101S2/01001外输入输出LIBRARY
IEEE;USE
IEEE.
std_logic
1164.
ALL;USE
IEEE.
Std_logic
_UNSIGNED.
ALL;ENTITY
moore
ISPORT
(CO,
DIN:
IN
STD_LOGIC;OP: OUT
STD_LOGIC);END
moore;ARCHITECTURE
behave
OF
moore
ISTYPE
STATE
IS (S0,
S1,
S2,
S3);SINGAL
Presentstate
:STATE;SINGAL
Nextstate
:
STATE;BEGINSwitchToNextstate:
Process
(CP)BEGINIF
(CP
‘EVENT
AND
CP
=‘1’)
THEN
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- HSE知识综合测验习题带答案
- 2025年超低频传感器标定系统项目合作计划书
- 餐饮美学基础 课件 4.1食养文化自然美的认知
- 抓住机会:2024年CPMM学习新方法及试题及答案
- 信贷风险防控课件
- Jetson-Nano-and-Jetson-Xavier-NX-Camera-Design-Guide-v1.1原版完整文件
- 《回弹法检测混凝土抗压强度技术规程》
- 短期生态影响与长期后果试题及答案
- 2024国际物流师的考生心得分享与试题及答案
- 聚焦重点:2024年CPMM试题及答案
- 2025年中远海运集团招聘笔试参考题库含答案解析
- 部编人教版语文小学六年级下册第四单元主讲教材解读(集体备课)
- 基本农田划定技术规程(TDT1032-2011)
- 中等职业学校英语课程标准(2020年版)(word精排版)
- 《音乐表演专业毕业实习》教学大纲
- 危险化学品(专项)安全检查表(样表)
- 冀教版三年级数学数据收集和整理
- 液化石油气安全技术说明书
- EN779-2012一般通风过滤器——过滤性能测定(中文版)
- 第二类医疗器械经营备案凭证
- 球头实验方法及技术要求
评论
0/150
提交评论