您好,欢迎来到测品娱乐。
搜索
您的当前位置:首页CPLD实验7

CPLD实验7

来源:测品娱乐


数字系统设计与PLD应用

实验

实验名称:实验七 脉冲分配器 学 院:大数据与信息工程学院 专 业:电子信息工程 姓 名: 学 号:1108040 年 级:电信111 任课教师:尉学军

2014 年 12 月 15日

一、实验目的

1.学习脉冲分配器的设计方法。 2.掌握用VHDL语言描述脉冲分配器。

二、实验内容

1.按照图8-15和图8-16图8-17所描述的脉冲分配器,建立VHDL输入文件,调试,编译,观测运行结果。

三、实验原理、方法和手段

脉冲分配器是在时钟脉冲信号CLC的作用下,顺序的使每个输出端输出节拍脉冲,用以协调系统各部分的工作。图8-15为一个由3-8译码器和摸8计数器构成的脉冲分配器。摸8计数器的输出Q2Q1Q0在000~111之间循环变化,从而在译码器输出端Y0~Y1,分别的到如图8-16所示的负脉冲序列。

__

__

根据以上原理图可以构成各种长度,各种输出脉冲极性,宽度的脉冲分配器、并可建立图形输入文件。

图8-17给出另一个脉冲分配器的示意图和输出波形。

图中表面了该脉冲分配器分配路数为4,即每逢4个CP脉冲,重复分配一次,但P1、P2、P3、P4,每路输出不再是简单的轮流一次输出一个脉冲,而是输出多个,且脉冲宽度与CP的脉宽相一致。

该脉冲分配器可用VHDL语言来描述,若分配器数为n个状态的状态机来表示,

由此到场VHDL源程序。

图8-18给出一个更为复杂的脉冲分配器,其输出波形多样。但仍属脉冲分配器的范畴。请理解并设计。

四、实验结果及结果分析

1.1图8-15波形的VHDL语言描述: library ieee;

use ieee.std_logic_11.all; entity fenpeiqi is port (clk:in std_logic;

Y0,Y1,Y2,Y3,Y4,Y5,Y6,Y7:out std_logic); end fenpeiqi;

architecture a of fenpeiqi is

type state_space is (s0,s1,s2,s3,s4,s5,s6,s7); signal state:state_space; begin

process(clk) begin

if(clk 'event and clk='1') then case state is when s0=>

state<=s1; when s1=>

state<=s2; when s2=>

state<=s3; when s3=>

state<=s4; when s4=>

state<=s5; when s5=>

state<=s6; when s6=>

state<=s7; when s7=> state<=s0; end case; end if; end process;

Y0<='0' WHEN state=s7 else'1';

Y1<='0' WHEN state=s0 else'1'; Y2<='0' WHEN state=s1 else'1'; Y3<='0' WHEN state=s2 else'1'; Y4<='0' WHEN state=s3 else'1';

Y5<='0' WHEN state=s4 else'1'; Y6<='0' WHEN state=s5 else'1'; Y7<='0' WHEN state=s6 else'1'; end a; 1.2波形仿真:

1.3结果分析: 观察波形图可知,

在S0状态时,Y7输出低电平, 在S1状态时,Y0输出低电平, 在S2状态时,Y1输出低电平, 在S3状态时,Y2输出低电平, 在S4状态时,Y3输出低电平, 在S5状态时,Y4输出低电平, 在S6状态时,Y5输出低电平,

在S7状态时,Y6输出低电平,并依次循环。

2.1图8-16波形的VHDL语言描述: library ieee;

use ieee.std_logic_11.all; entity fenpeiqi is

port (clk:in std_logic;

Y0,Y1,Y2,Y3:out std_logic); end fenpeiqi;

architecture a of fenpeiqi is

type state_space is (s0,s1,s2,s3); signal state:state_space; begin

process(clk) begin

if(clk 'event and clk='1') then case state is when s0=>

state<=s1; when s1=>

state<=s2; when s2=>

state<=s3; when s3=>

state<=s0;

end case; end if; end process;

Y0<='1' WHEN ((state=s0 or state=s1 or state=s3) and clk='1') else'0';

Y1<='1' WHEN (state=s1 and clk='1')else'0'; Y2<='1' when((state=s0 or state=s2)and clk='1') else'0'; Y3<='1' WHEN ((state=s1 or state=s2) and clk='1')else'0'; end a;

2.2仿真波形

2.3结果分析: 观察波形图可知,

在S1、S2状态时,Y3输出高电平。

在S0、S1、S 3状态时,Y0输出高电平。 在S2状态时,Y1输出高电平。

在S0、S2状态时,Y2输出高电平,并依次循环。

3.1图8-17波形的VHDL语言描述: library ieee;

use ieee.std_logic_11.all; entity fenpeiqi is

port (clk:in std_logic;

Z1,Z2,Z3,Z4,Z5:out std_logic); end fenpeiqi;

architecture a of fenpeiqi is

type state_space is (s0,s1,s2,s3,s4); signal state:state_space; begin

process(clk) begin

if(clk 'event and clk='1') then case state is when s0=>

state<=s1; when s1=>

state<=s2; when s2=>

state<=s3; when s3=>

state<=s4; when s4=>

state<=s0; end case; end if; end process;

Z1<='1' WHEN ((state=s0 or state=s3) and clk='0') else'0';

Z2<='1' WHEN ((state=s1 or state=s4) and clk='1')else'0'; Z3<='0' WHEN (state=s0 ) else'1';

Z4<='0' WHEN (state=s3 and clk='1') else'1'; Z5<='0' WHEN (state=s2 ) else'1'; end a;

3.2仿真波形:

3.3结果分析:

当在状态S0或者状态S3 ,且clk等于为低电平时,Z1为高电平。当在状态S1或者状态S4 ,且clk等于为高电平时,Z2为高电平。当在状态S0 ,Z3为底电平。

当在状态S3,且clk等于为高电平时 ,Z4为底电平。 当在状态S2 ,Z3为底电平。

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- cepb.cn 版权所有 湘ICP备2022005869号-7

违法及侵权请联系:TEL:199 18 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务