您好,欢迎来到华佗养生网。
搜索
您的当前位置:首页分频电路的设计

分频电路的设计

来源:华佗养生网
分频电路

一、任务分析

通过利用按键控制输出不同的频率,再通过点阵显示出来设计效果。 实现分频的操作电路:

1、 二进制译码器输出端位2N个,并对应于输入代码每种频率。 2、 要熟练掌握:case语句和if语句有关知识

表--1 拨码开关 00 01 10 11

二、任务实施

1、使用VHDL并行语句,完成上述的文本编辑

输出频率 Clk1 Clk2 Clk3 Clk4 library ieee;--------------------------库 use ieee.std_logic_11.all; use ieee.std_logic_unsigned.all;

entity pinli is--------------------------实体

port ( speed1,speed2:in std_logic;--------拨码开关 hang:out std_logic_vector(7 downto 0);---点阵行 clk,clr:in std_logic;-------------时钟、清零

led:out std_logic_vector(7 downto 0)-----输出信号 ); end;

architecture art of pinli is---------------结构体

signal clk_hz:std_logic;----------------------频率输出端 signal aj:std_logic_vector(1 downto 0);--------拨码按键 signal light:std_logic_vector(7 downto 0);----------输出信号 begin

hang<=\"00000001\";-------------------赋值给点阵的行 aj<=speed1&speed2;

---------------分频------------------- process(clk)

variable cnt1:integer range 0 to 8000000; variable cnt2:integer range 0 to 5900000; variable cnt3:integer range 0 to 4000000; variable cnt4:integer range 0 to 2900000; begin

if clr='0' then-------------------清零

clk_hz<='0'; cnt1:=0; cnt2:=0; cnt3:=0; cnt4:=0;

elsif clk'event and clk='1' then

case aj is--------------------拨码按键控制四种频率的输出 when \"00\" => if cnt1=8000000 then cnt1:=0; clk_hz <=not clk_hz; else cnt1:=cnt1+1; end if;

when \"01\" =>

if cnt2=2000000 then cnt2:=0; clk_hz <=not clk_hz; else cnt2:=cnt2+1; end if;

when \"10\" => if cnt3=4000000 then cnt3:=0; clk_hz <=not clk_hz; else cnt3:=cnt3+1; end if;

when \"11\" => if cnt4=1000000 then cnt4:=0; clk_hz <=not clk_hz; else cnt4:=cnt4+1; end if; when others =>null; end case; end if; end process;

process(clr, clk_hz) is begin

if (clk_hz 'event and clk_hz ='1')then light<=\"00000000\";

end if; end process; led<=light; end;

三、仿真测试 实验操作步骤:

1、 设计完成并保存,单击编译按钮执行编译。

2、 编译完成建立矢量波形选择‘Vector Waveform File’选项后单击‘OK’

按钮。

3、

添加引脚,双击‘name’下方的空白处,弹出‘Insert Node or Bus’对话框中的‘Node Finder’添加。

4、 分别对各输入信号编辑保存。

单击工具栏中的指令,选你所需要设置按钮。设置完成后单击“OK“按钮,输入信号设置完成。

5、 完成上述各步骤,对其仿真(功能仿真、时序仿真);

仿真前,首先在Assigments菜单下的“Setings“对话框中进行设置。 在对话框选中“Functional”(功能仿真)选项或“Tming(时序仿真)”选项,单击“OK”按钮后设计完成。再单击 “Processing” 菜单中“Generate Functional Simulation Netlist”命令会自动创建功能仿真网络表。最后单击是时序仿真直接单击

即可。

表-2

即可,如果

四、在开发板上进行硬件测试

分配好引脚,对当前的工程进行编译,就锁定引脚的信息, 然后就直接单击工具栏上的

按钮就跳出一个对话框,单击对话框中

“Hardware Setup”继续单击“ Add Hardware“按钮进行设置下载电缆,设置好就关闭对话框。

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

Copyright © 2019- huatuo7.cn 版权所有 湘ICP备2022005869号-9

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

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