《可编程逻辑器件精选PPT.ppt》由会员分享,可在线阅读,更多相关《可编程逻辑器件精选PPT.ppt(53页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、可编程逻辑器件第1页,此课件共53页哦7.1 行为描述行为描述7.2 数据流描述数据流描述7.3 结构描述结构描述7.4 三态逻辑设计三态逻辑设计7.5 RAM存储器设计存储器设计7.6 分频器设计分频器设计7.7 数字跑表数字跑表7.8 音乐演奏电路音乐演奏电路主要内容主要内容第2页,此课件共53页哦VHDLVHDL允许设计者用三种方式来对逻辑电路描述和建允许设计者用三种方式来对逻辑电路描述和建允许设计者用三种方式来对逻辑电路描述和建允许设计者用三种方式来对逻辑电路描述和建模模模模 行为(行为(Behavioural)描述;)描述;数据流(数据流(Data Flow)描述或寄存器)描述或寄存
2、器传输级(传输级(RTL)描述;)描述;结构(结构(Structural)描述。)描述。第3页,此课件共53页哦VHDL语言结构体的描述方式 VHDL语言的结构体可以用不同的语句类型和描述方式来表达电路所期望的逻辑行为,而对于相同的逻辑行为,可以有不同的语句表达方式。在VHDL语言中,这些描述方式或建模方式称为VHDL语言的描述风格。常用的描述方式主要有:行为描述 数据流描述 结构描述第4页,此课件共53页哦 行为描述,就是对设计实体的数学模型的行为描述,就是对设计实体的数学模型的描述,其抽象程度远高于结构描述方式。行为描述,其抽象程度远高于结构描述方式。行为描述类似于高级编程语言,当描述一个
3、设计实描述类似于高级编程语言,当描述一个设计实体的行为时,无须知道具体电路的结构,只需体的行为时,无须知道具体电路的结构,只需要描述清楚输入与输出信号的行为,而无须花要描述清楚输入与输出信号的行为,而无须花费精力关注设计结构的具体实现。费精力关注设计结构的具体实现。7.1 行行 为为 描描 述述 第5页,此课件共53页哦 行为描述依据设计实体的功能或算法对结构体进行描述,不需要给出实现这些行为的硬件结构,只强调电路的行为和功能。在结构体中,行为描述主要用函数、过程和进程语句,以功能或算法的形式来描述数据的转换和传送。7.1 结构体的行为描述结构体的行为描述 第6页,此课件共53页哦【例4.3.
4、1】试用行为描述完成二选一数据选择器的设计。设数据输入为d0和d1、选择输入为s,输出为y。程序清单:ENTITY mux21 IS PORT(d1,d0:IN STD_LOGIC;s:IN STD_LOGIC;y:OUT STD_LOGIC);END mux21;ARCHITECTURE behavior OF mux21 IS BEGIN y=d1 WHEN s=1 ELSE d0;END behavior;第7页,此课件共53页哦 行为描述类似于高级编程语言,主要是对设计实体的功能或数学模型进行描述,其抽象程度远高于数据流描述和结构描述,其特点如下:行为描述具有很高的抽象程度,远高于数据
5、流描述和结构描述;行为描述只需描述清楚输入与输出的行为,而与它们的结构无关;描述程序大多采用算术运算、关系运算、惯性延时、传输延时等语句;结构体中的过程语句属于典型的行为描述。第8页,此课件共53页哦 即逻辑描述,它利用VHDL语言中的赋值符和逻辑运算符进行描述,既包含逻辑单元的结构信息,又隐含地表示某种行为。7.2 结构体的数据流描述结构体的数据流描述 例如:y=a NOR b;z=NOT(a XOR b);/y等于a与b的或非运算/z等于a与b的同或运算 这种方式主要采用非结构化的并行语句描述。第9页,此课件共53页哦【例2】将例1中的数据选择器采用数据流描述。逻辑表达式:y=d0s+d1
6、s 程序清单:ENTITY mux21 IS PORT(d1,d0:IN STD_LOGIC;s:IN STD_LOGIC;y:OUT STD_LOGIC);END mux21;ARCHITECTURE dataflow OF mux21 IS SIGNAL aa,ab,yy:STD_LOGIC;BEGIN aa=d1 AND s;ab=d0 AND(NOT s);yy=aa OR ab;y=yy;END dataflow;&11 d1 d0 s y aa ab ns U1 U3 U2 U4第10页,此课件共53页哦 结构描述是从设计实体的内部结构对结构体进行描述的,并给出该实体所包含的模块或
7、元件的相互连接关系。这种方式主要采用元件例化(COMPONENT)的形式对设计实体进行描述。可以用不同类型的结构来实现多层次的工程设计,从简单的门电路到复杂的元件来描述整个系统,元件之间的连接通过定义的端口界面来实现。7.3 结构体的结构描述结构体的结构描述 第11页,此课件共53页哦 结构描述建模的步骤如下:7.3 结构体的结构描述结构体的结构描述 利用已设计好的元件(模块)来搭建新的模块 元件说明:描述局部接口。元件例化:相对于其他元件放置元件。(对元件的调用)元件配置:指定元件所有的设计实体。结构描述用于层次化设计,高层次的设计模块调用低层次的设计模块,或直接用门电路来构成一个复杂的逻辑
8、电路。第12页,此课件共53页哦【例3】将例1中的数据选择器采用结构描述。程序清单:ENTITY mux21 mux21 IS PORT(d1,d0:(d1,d0:IN STD_LOGIC STD_LOGIC;s:s:IN STD_LOGIC STD_LOGIC;y:y:OUT STD_LOGIC)STD_LOGIC);END mux21 mux21;ARCHITECTURE structure structure OF mux21 mux21 IS COMPONENT and2 and2 PORT(a,b:(a,b:IN STD_LOGIC STD_LOGIC;c:c:OUT STD_LOG
9、IC)STD_LOGIC);END COMPONENT;COMPONENT or2 or2 PORT(a,b:(a,b:IN STD_LOGIC STD_LOGIC;c:c:OUT STD_LOGIC)STD_LOGIC);END COMPONENT;&11 d1 d0 s y aa ab ns U1 U3 U2 U4第13页,此课件共53页哦【例3】将例1中的数据选择器采用结构描述。程序清单:&11 d1 d0 s y aa ab ns U1 U3 U2 U4 COMPONENT not1 not1 PORT(a:(a:IN STD_LOGIC STD_LOGIC;c:c:OUT STD_L
10、OGIC)STD_LOGIC);END COMPONENT;SIGNAL aa,ab,ns:STD_LOGIC aa,ab,ns:STD_LOGIC;BEGIN U1:not1 U1:not1 PORT MAP(s,ns)(s,ns);U2:and2 U2:and2 PORT MAP(d1,s,aa)(d1,s,aa);U3:and2 U3:and2 PORT MAP(ns,d0,ab)(ns,d0,ab);U4:or2 U4:or2 PORT MAP(aa,ab,y)(aa,ab,y);END structure structure;第14页,此课件共53页哦 混合描述就是在结构体中同时使用
11、多种不同的描述方式,它可以使描述简单灵活。例如,在同一结构体中,分别使用元件例化语句和并行语句,就可以构成由两种描述方式的混合描述。结构体的混合描述结构体的混合描述 第15页,此课件共53页哦【例4】用混合描述完成半加器的设计。表达式:sn=anbn cn=anbn 数据流描述 结构描述 程序清单:ENTITY half_adder half_adder IS PORT(an,bn:(an,bn:IN STD_LOGIC STD_LOGIC;sn,cn:sn,cn:OUT STD_LOGIC)STD_LOGIC);END half_adder half_adder;ARCHITECTURE E
12、 mix_ha mix_ha OF half_adder half_adder IS COMPONENT and2 and2 PORT(a,b:(a,b:IN STD_LOGIC STD_LOGIC;c:c:OUT STD_LOGIC)STD_LOGIC);END COMPONENT;BEGIN sn sn=an=an XOR bn bn;U1:and2 U1:and2 PORT MAP(an,bn,cn)(an,bn,cn);END mix_ha mix_ha;第16页,此课件共53页哦【例例7.1】行为描述方式实现的行为描述方式实现的1位全加器位全加器LIBRARY IEEE;USE IE
13、EE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY full_adda ISPORT(a,b,cin:IN STD_LOGIC;cout,sum:OUT STD_LOGIC);END full_adda;ARCHITECTURE behav OF full_adda ISSIGNAL temp:STD_LOGIC_VECTOR(1 DOWNTO 0);BEGIN temp=(0&a)+b+cin;sum =temp(0);cout=temp(1);END behav;第17页,此课件共53页哦【例例7.2】行为描述方式实现的
14、行为描述方式实现的2选选1数据选择器数据选择器ENTITY mux21a ISPORT(a,b,sel:IN BIT;y:OUT BIT);END ENTITY mux21a;ARCHITECTURE behav OF mux21a ISBEGIN PROCESS(a,b,sel)BEGIN IF sel=0 THEN y=a;ELSE y=b;END IF;END PROCESS;END ARCHITECTURE behav;第18页,此课件共53页哦采用行为描述方式时应注意下面几点用行为描述方式设计电路,可以降低设计难度。行为描用行为描述方式设计电路,可以降低设计难度。行为描述只需表示输入
15、与输出之间的关系,不需要包含任何结述只需表示输入与输出之间的关系,不需要包含任何结构方面的信息。构方面的信息。设计者只需写出源程序,而电路的实现由设计者只需写出源程序,而电路的实现由EDA软件自软件自动完成,实现电路的优化程度,往往取决于综合软动完成,实现电路的优化程度,往往取决于综合软件的技术水平和器件的支持能力。件的技术水平和器件的支持能力。在电路的规模较大或者需要描述复杂的逻辑关系时,应在电路的规模较大或者需要描述复杂的逻辑关系时,应首先考虑用行为描述方式进行设计,如果设计的结果不首先考虑用行为描述方式进行设计,如果设计的结果不能满足资源占有率的要求,则应改变描述方式。能满足资源占有率的
16、要求,则应改变描述方式。第19页,此课件共53页哦7.2 数据流描述【例例7.4】数据流描述的数据流描述的1位全加器位全加器LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY full_addb ISPORT(a,b,cin:IN STD_LOGIC;sum,cout:OUT STD_LOGIC);END full_addb;ARCHITECTURE dataflow OF full_addb ISBEGIN sum=a XOR b XOR cin;cout=(a AND b)OR(b AND cin)OR(a AND cin);END datafl
17、ow;第20页,此课件共53页哦【例例7.5】数据流描述的数据流描述的2选选1数据选择器数据选择器ENTITY mux21c IS PORT(a,b,sel:IN BIT;y:OUT BIT);END ENTITY mux21c;ARCHITECTURE dataflow OF mux21c IS SIGNAL a1,a2:BIT;BEGINa1=a AND(NOT Sel);a2=b AND sel;y=a1 OR a2;END ARCHITECTURE dataflow;第21页,此课件共53页哦7.3 结 构 描 述 所谓结构描述方式,就是指在设计中,通所谓结构描述方式,就是指在设计中,
18、通过调用库中的元件或是已设计好的模块来过调用库中的元件或是已设计好的模块来完成设计实体功能的描述。在结构体中,完成设计实体功能的描述。在结构体中,描述只表示元件(或模块)和元件(或模描述只表示元件(或模块)和元件(或模块)之间的互连,就像网表一样。当调用块)之间的互连,就像网表一样。当调用库中不存在的元件时,则必须首先进行元库中不存在的元件时,则必须首先进行元件的创建,然后将其放在工作库中,这样件的创建,然后将其放在工作库中,这样才可以调用。才可以调用。第22页,此课件共53页哦【例例7.6】半加器的半加器的VHDL描述描述LIBRARY IEEE;USE IEEE.STD_LOGIC_116
19、4.ALL;ENTITY half_add IS PORT(a,b:IN STD_LOGIC;co,so:OUT STD_LOGIC);END ENTITY half_add;ARCHITECTURE one OF half_add isBEGIN so=a XOR b;co=a AND b;END ARCHITECTURE one;第23页,此课件共53页哦【例例7.7】或门逻辑描述或门逻辑描述LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY or2h IS PORT(a,b:IN STD_LOGIC;y:OUT STD_LOGIC);END E
20、NTITY or2h;ARCHITECTURE one OF or2h IS BEGIN y ain,b=bin,co=d,so=e);-元件例化元件例化 u2:half_add PORT MAP(a=e,b=cin,co=f,so=sum);u3:or2h PORT MAP(a=d,b=f,y=cout);END ARCHITECTURE struct;第25页,此课件共53页哦【例例7.9】结构描述的结构描述的4位级联加法器位级联加法器LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY f_add4 IS PORT(a,b:IN STD_LOGI
21、C_VECTOR(0 TO 3);cin:IN STD_LOGIC;sum:OUT STD_LOGIC_VECTOR(0 TO 3);cout:OUT STD_LOGIC);END ENTITY f_add4;ARCHITECTURE struct OF f_add4 IS COMPONENT full_add -将将1位全加器定义为元件位全加器定义为元件 PORT(ain,bin,cin:IN STD_LOGIC;cout,sum:OUT STD_LOGIC);END COMPONENT;第26页,此课件共53页哦 SIGNAL ci:STD_LOGIC_VECTOR(1 TO 3);-定定
22、义节点信号义节点信号 BEGIN u1:full_add PORT MAP(ain=a(0),bin=b(0),cin=cin,cout=ci(1),sum=sum(0);-元件例化元件例化 u2:full_add PORT MAP(ain=a(1),bin=b(1),cin=ci(1),cout=ci(2),sum=sum(1);u3:full_add PORT MAP(ain=a(2),bin=b(2),cin=ci(2),cout=ci(3),sum=sum(2);u4:full_add PORT MAP(ain=a(3),bin=b(3),cin=ci(3),cout=cout,sum
23、=sum(3);END ARCHITECTURE struct;第27页,此课件共53页哦7.4 三态逻辑设计三态逻辑设计【例例7.12】三态门三态门LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY trigate ISPORT(en,a:IN STD_LOGIC;y:OUT STD_LOGIC);END trigate;ARCHITECTURE one OF trigate ISBEGIN y=a WHEN(en=1)ELSE Z;END one;第28页,此课件共53页哦【例例7.13】三态双向缓冲器三态双向缓冲器LIBRARY IEEE;US
24、E IEEE.STD_LOGIC_1164.ALL;ENTITY bidir ISPORT(y:INOUT STD_LOGIC;-y为双向为双向I/O端口端口 en,a:IN STD_LOGIC;b:OUT STD_LOGIC);END bidir;ARCHITECTURE one OF bidir ISBEGIN y=a WHEN(en=1)ELSE Z;b=y;END one;第29页,此课件共53页哦【例例7.14】三态双向缓冲器三态双向缓冲器LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY bidir1 ISPORT(y:INOUT STD
25、_LOGIC;-y为双向为双向I/O端口端口 en,a:IN STD_LOGIC;b:OUT STD_LOGIC);END bidir1;ARCHITECTURE one OF bidir1 ISBEGINPROCESS(en,a)BEGIN IF(en=1)THEN y=a;ELSE y=Z;END IF;END PROCESS;b=y;END one;第30页,此课件共53页哦【例例7.15】三态双向总线缓冲器三态双向总线缓冲器LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY ttl245 ISPORT(a,b:INOUT STD_LOGIC_
26、VECTOR(7 DOWNTO 0);-双向数据线双向数据线 oe,dir:IN STD_LOGIC);-使能信号和方向控制使能信号和方向控制END ttl245;ARCHITECTURE one OF ttl245 ISBEGIN a Z);b Z);END one;第31页,此课件共53页哦三态双向总线缓冲器三态双向总线缓冲器RTL综合视图综合视图(Synplify Pro)第32页,此课件共53页哦7.5 RAM存储器设计存储器设计 生成一个新的宏模块生成一个新的宏模块 第33页,此课件共53页哦设置输出文件的类型、目录和名字设置输出文件的类型、目录和名字 第34页,此课件共53页哦定制
27、定制RAM模块的数据宽度和深度模块的数据宽度和深度 第35页,此课件共53页哦【例例7.16】调用调用RAM宏模块构成宏模块构成RAM存储器存储器LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;LIBRARY altera_mf;USE altera_mf.all;ENTITY ram8x128 IS -顶层模块端口顶层模块端口PORT(addr:IN STD_LOGIC_VECTOR(6 DOWNTO 0);clk:IN STD_LOGIC;data:IN STD_LOGIC_VECTOR(7
28、DOWNTO 0);aclr:IN STD_LOGIC;wr:IN STD_LOGIC;qout:OUT STD_LOGIC_VECTOR(7 DOWNTO 0);END ram8x128;第36页,此课件共53页哦ARCHITECTURE lpm OF ram8x128 ISCOMPONENT ram IS -将将RAM模块定义为元件模块定义为元件PORT(address:IN STD_LOGIC_VECTOR(6 DOWNTO 0);clock:IN STD_LOGIC;data:IN STD_LOGIC_VECTOR(7 DOWNTO 0);aclr:IN STD_LOGIC;wren:
29、IN STD_LOGIC;q:OUT STD_LOGIC_VECTOR(7 DOWNTO 0);END COMPONENT;BEGINu1:ram PORT MAP(address=addr,clock=clk,data=data,aclr=aclr,wren=wr,q=qout);-元件例化元件例化END lpm;第37页,此课件共53页哦在实际中我们经常会遇到这样的问题,需要进行奇数次分频,同时又要得到占空比是50%的方波波形。可采用如下方法:用两个计数器,一个由输入时钟上升沿触发,一个由输入时钟下降沿触发,最后将两个计数器的输出相或,即可得到占空比为50%的方波波形。7.6 分频器设计分
30、频器设计7.6.1 占空比为占空比为50%的奇数分频的奇数分频 第38页,此课件共53页哦【例例7.18】占空比占空比50%的奇数分频(模的奇数分频(模7)LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY fdiv7 IS PORT(clk,reset:IN STD_LOGIC;clkout:OUT STD_LOGIC);-输出时钟输出时钟END fdiv7;ARCHITECTURE behav OF fdiv7 ISSIGNAL clkout1,clkout2:STD_LOGIC;S
31、IGNAL count1,count2:STD_LOGIC_VECTOR(3 DOWNTO 0);BEGINPROCESS(clk)-计数器计数器1BEGIN IF(clkevent AND clk=1)THEN-上升沿触发上升沿触发 IF(reset=1)THEN count1=0000;ELSE IF(count1=6)THEN count1=0000;ELSE count1=count1+1;END IF;IF(count13)THEN clkout1=1;ELSE clkout1=0;END IF;END IF;END IF;END PROCESS;第39页,此课件共53页哦PROCE
32、SS(clk)-计数器计数器2BEGIN IF(clkevent AND clk=0)THEN-下降沿触发下降沿触发 IF(reset=1)THEN count2=0000;ELSE IF(count2=6)THEN count2=0000;ELSE count2=count2+1;END IF;IF(count23)THEN clkout2=1;ELSE clkout2=0;END IF;END IF;END IF;END PROCESS;clkout=clkout1 OR clkout2;-相或相或END behav;第40页,此课件共53页哦模7奇数分频器功能仿真波形图(Quartus)
33、第41页,此课件共53页哦【例7.19】较为通用的占空比为50%的奇数分频电路LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY fdivn ISGENERIC(w:INTEGER:=11);-定义类属参量w PORT(clk,reset:IN STD_LOGIC;clkout:OUT STD_LOGIC);-输出时钟END fdivn;ARCHITECTURE behav OF fdivn ISSIGNAL clkout1,clkout2:STD_LOGIC;SIGNAL count1
34、,count2:STD_LOGIC_VECTOR(3 DOWNTO 0);BEGINPROCESS(clk)-计数器1BEGIN IF(clkevent AND clk=1)THEN-上升沿触发第42页,此课件共53页哦 IF(reset=1)THEN count1=0000;ELSE IF(count1=w-1)THEN count1=0000;ELSE count1=count1+1;END IF;IF(count1(w-1)/2)THEN clkout1=1;ELSE clkout1=0;END IF;END IF;END IF;END PROCESS;PROCESS(clk)-计数器计
35、数器2BEGIN IF(clkevent AND clk=0)THEN-下降沿触发下降沿触发 IF(reset=1)THEN count2=0000;ELSE IF(count2=w-1)THEN count2=0000;ELSE count2=count2+1;END IF;IF(count2(w-1)/2)THEN clkout2=1;ELSE clkout2=0;END IF;END IF;END IF;ND PROCESS;clkout=clkout1 OR clkout2;-相或相或END behav;第43页,此课件共53页哦模模11奇数分频器功能仿真波形图(奇数分频器功能仿真波形
36、图(Quartus)第44页,此课件共53页哦【例例7.20】n 0.5半整数分频器半整数分频器LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY fdivn_5 IS PORT(clkin,clr:IN STD_LOGIC;clkout:BUFFER STD_LOGIC);-输出时钟输出时钟END fdivn_5;ARCHITECTURE one OF fdivn_5 ISconstant n:std_logic_vector(3 downto 0):=0100;-分频预置数分频预置数
37、nSIGNAL clk2,clk1:STD_LOGIC;SIGNAL count:STD_LOGIC_VECTOR(3 DOWNTO 0);BEGINclk2=clkin XOR clk1;-clkin与与clk1异或后作为模异或后作为模N计数器的时钟计数器的时钟PROCESS(clk2,clr)BEGIN IF(clr=1)THEN count=0000;7.6.2 半整数分频半整数分频 第45页,此课件共53页哦 ELSIF(clk2event AND clk2=1)THEN IF(count=n-1)THEN-模模n计数计数 count=0000;clkout=1;ELSE count=
38、count+1;clkout=0;END IF;END IF;END PROCESS;PROCESS(clkout)BEGIN IF(clkoutevent AND clkout=1)THEN clk1=NOT clk1;-输出时钟二分频输出时钟二分频 END IF;END PROCESS;END one;第46页,此课件共53页哦功能仿真波形功能仿真波形5.5倍半整数分频器功能仿真波形图(倍半整数分频器功能仿真波形图(Quartus)第47页,此课件共53页哦7.6.3 数控分频器数控分频器 数控分频器的功能就是当在输入端给定不同输入数据时,对输入的时钟信号有不同的分频比,数控分频器要求信号
39、发生器输出的正负脉宽是可调的,用户可以通过预置一特定数值来获得所需要的高电平和低电平持续时间以及占空比。这种信号发生器在实际中具有很重要的用途,如PWM(Pulse Width Modulation,脉宽调制)的设计等。第48页,此课件共53页哦 7.7 数字跑表数字跑表 设计一个数字跑表,该跑表具有复位、暂停、秒表计时等功能。n 跑表设三个输入端,分别为时钟输入(跑表设三个输入端,分别为时钟输入(CLK)、复位)、复位(CLR)和启动)和启动/暂停(暂停(PAUSE)按键。复位信号高电平有)按键。复位信号高电平有效,可对跑表异步清零;当启动效,可对跑表异步清零;当启动/暂停键为低电平时跑表开
40、暂停键为低电平时跑表开始计时,为高电平时暂停,变低后在原来的数值基础上继续始计时,为高电平时暂停,变低后在原来的数值基础上继续计数。计数。第49页,此课件共53页哦 7.8 音乐演奏电路音乐演奏电路采用FPGA器件驱动小扬声器构成一个乐曲演奏电路,演奏的乐曲选择“梁祝”片段,其曲谱如下。第50页,此课件共53页哦 乐曲演奏的原理乐曲演奏的原理组成乐曲的每个音符的频率值(音调)及其持续的时间(音长)是乐曲能连续演奏所需的两个基本数据,因此只要控制输出到扬声器的激励信号的频率的高低和持续的时间,就可以使扬声器发出连续的乐曲声。乐曲演奏电路原理框图乐曲演奏电路原理框图 第51页,此课件共53页哦习习
41、 题题 77.1 VHDL支持哪几种描述方式,各有什么特点?支持哪几种描述方式,各有什么特点?7.2 分别用结构描述和行为描述方式设计基本分别用结构描述和行为描述方式设计基本D触发器,触发器,并进行综合。并进行综合。7.3 分别用结构描述和行为描述方式设计分别用结构描述和行为描述方式设计JK触发器,并进行触发器,并进行综合。综合。7.4 试编写同步模试编写同步模5计数器程序,有进位输出和异步复位端。计数器程序,有进位输出和异步复位端。7.5 编写编写4位串位串/并转换程序。并转换程序。第52页,此课件共53页哦7.6 编写编写4位并位并/串转换程序。串转换程序。7.7 编写编写4位除法电路程序。位除法电路程序。7.8 用用VHDL编写一个将带符号二进制数的编写一个将带符号二进制数的8位原码转位原码转换成换成8位补码的电路,并基于位补码的电路,并基于Quartus 软件进行综软件进行综合和仿真。合和仿真。7.9 设计乐曲演奏电路,乐曲选择设计乐曲演奏电路,乐曲选择“铃儿响叮当铃儿响叮当”,或其他熟悉的乐曲。或其他熟悉的乐曲。习习 题题 7第53页,此课件共53页哦