欢迎来到天天文库
浏览记录
ID:51227339
大小:291.00 KB
页数:35页
时间:2020-03-20
《BCD-7段数码管显示译码器电路设计.ppt》由会员上传分享,免费在线阅读,更多相关内容在PPT专区-天天文库。
1、BCD-7段数码管显示译码器电路设计一、项目资讯请根据要求在EDA实验箱上设计BCD-7段数码管显示译码器电路,要求:⑴使用EDA实验箱上开关设置模块的K4、K3、K2、K1开关作为BCD码输入;⑵使用EDA实验箱上键盘显示模块中最右边一位的数码管显示输入的BCD码编码数值;⑶进行功能仿真。一、项目资讯1、BCD-7段数码管显示译码器电路的工作原理。2、基于FPGA与VHDL的数字电路与数字系统设计方法与工作流程。3、WITH-SELECT语句与WHEN-ELSE语句及其应用。4、进程语句、CASE语句、IF语句及其应用。二、项目计划⑴能在Max+
2、PlusII软件平台上调试BCD-7段显示译码电路VHDL程序,并进行功能仿真;⑵能在EDA实验系统上进行硬件验证测试。本项目涉及的VHDL语法VHDL顺序语句(CASE)变量与信号的区别VHDL并行语句(PROCESS)硬件执行:并行执行(VHDL本质)仿真执行:顺序执行、并行执行分为两大类:顺序(Sequential)描述语句并行(Concurrent)描述语句ARCHITECTUREProcessProcessENTITYSequentialProcessCombinationalProcessportsportscomponentVHDL顺
3、序语句(Sequential)顺序描述语句:执行顺序与书写顺序一致,与传统软件设计语言的特点相似。顺序语句只能用在进程与子程序中。可描述组合逻辑、时序逻辑。常用的顺序描述语句:赋值语句;if语句;case语句;loop语句;next语句;exit语句;子程序;return语句;wait语句;null语句。1、变量赋值与信号赋值变量与信号的差异:1)赋值方式的不同:变量:=表达式;信号<=表达式;2)硬件实现的功能不同:信号代表电路单元、功能模块间的互联,代表实际的硬件连线;变量代表电路单元内部的操作,代表暂存的临时数据。3)有效范围的不同:信号:程
4、序包、实体、结构体;全局量。变量:进程、子程序;局部量。ARCHITECTURE{SIGNALDeclarations}label1:PROCESS{VARIABLEDeclarations}label2:PROCESS{VARIABLEDeclarations}┇4)赋值行为的不同:信号赋值延迟更新数值、时序电路;变量赋值立即更新数值、组合电路。5)信号的多次赋值a.一个进程:最后一次赋值有效b.多个进程:多源驱动线与、线或、三态例:信号的多次赋值architecturertlofexissignala:std_logic;beginproces
5、s(…)begina<=b;…a<=c;endprocess;endrtl;architecturertlofexissignala:std_logic;beginprocess(…)begina<=b;…endprocess;process(…)begina<=c;...endprocess;endex;例:信号赋值与变量赋值的比较信号赋值:architecturertlofsigissignala,b:std_logic;--定义信号beginprocess(a,b)begina<=b;b<=a;endprocess;endrtl;--结果是a
6、和b的值互换变量赋值:architecturertlofvarisbeginprocessvariablea,b:std_logic;--定义变量begina:=b;b:=a;endprocess;endrtl;--结果是a和b的值都等于b的初值例:变量赋值实现循环语句功能process(indicator,sig)variabletemp:std_logic;begintemp:=‘0’;foriin0to3looptemp:=tempxor(sig(i)andindicator(i));endloop;output<=temp;endproce
7、ss;以上语句等效为:process(indicator,sig)variabletemp:std_logic;begintemp:=‘0’;temp:=tempxor(sig(0)andindicator(0));temp:=tempxor(sig(1)andindicator(1));temp:=tempxor(sig(2)andindicator(2));temp:=tempxor(sig(3)andindicator(3));output<=temp;endprocess;如改为信号,则无法实现原功能:……signaltemp:std_lo
8、gic;……process(indicator,sig,temp)begintemp<=‘0’;temp<=tempxor
此文档下载收益归作者所有