周仕成_5080309600_VHDL实验报告.pdfVIP

  • 7
  • 0
  • 约1.7万字
  • 约 15页
  • 2020-08-24 发布于广东
  • 举报
F0803017 周仕成 5080309600 VHDL 实验报告 ――F0803017 周仕成 5080309600 目 录 实验三. 4 位可逆计数器,4 位可逆二进制代码-格雷码转换器设计2 实验六. 序列检测器的设计5 实验七. 基于ROM 的正弦波发生器的设计8 实验八. 数字密码锁的设计与实现13 1 F0803017 周仕成 5080309600 实验三. 4 位可逆计数器,4 位可逆二进制代码-格雷码转 换器设计 [设计思路及步骤]: 1) 4 位可逆计数器: 1. 定义各个量:clk 为时钟输入(50MHz),clk——div 为分频后的时钟,count 为 分频计数,mode 为SW17 模式控制,rst 为KEY3 异步复位开关; 2. 本实验的时钟输入为 50MHz,定义为clk,为此设计时需要将其分频为50Hz, 25 25 需2 分频,因此,代码中,需要有一个count 作为一个2 计数器,同时,定 义分频后的时钟为clk_div ; 3. 在主程序中,count 从0 计数到224-1,检测时钟输入clk,在clk 触发上升沿时, 使count 加 1,当count 为224-1 时,clkout 作一次not 变换,如此便达到分频 的目的。 4. 分频结束后,需要在另一个process 中,首先检测是否异步复位开关key 为0, 叵为0,则复位。否则,检测 clk_div ,当其触发上升沿时,检测模式控制,按 模式控制,对num 加1 或减1; 2) 4 位可逆二进制代码-格雷码转换器: 1.各量的定义:SW(17)为 SW17 模式控制,SW[3]-SW[0]为拨码开关输入, LEDR[3]-LEDR[0]为转换值的输出; 2.检测模式输入,按模式输入值进入各自的when 语句,相应的输入对应相应的输 出。 [源代码]: 4 位可逆计数器: LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; USE IEEE.STD_LOGIC_ARITH.ALL; USE IEEE.STD_LOGIC_UNSIGNED.ALL; ENTITY counter IS PORT(clk : IN STD_LOGIC; mode : IN STD_LOGIC; LEDR : OUT STD_LOGIC_VECTOR(17 DOWNTO 0); rst : IN STD_LOGIC ); END counter; ARCHITECTURE rtl OF counter IS SIGNAL count : STD_LOGIC_VECTOR(24 DOWNTO 0); SIGNAL clk_div : STD_LOGIC; SIGNAL num : STD_LOGIC_VECTOR(3 DOWNTO 0); BEGIN clk_div = count(24); LEDR(3) = num(3);

文档评论(0)

1亿VIP精品文档

相关文档