班级:001013 姓名:吴嘉敏 学号:00101324
数电大作业实验报告(一)
时钟控制器的设计实验实验报告
一、 实验内容及要求:设计一个能放过一串数目可预定的完整无缺的时钟控制器,放过的脉冲数目1~15可调。要求: a.静态演示。
b.动态演示,显示输入CP、输出Q、Z的波形。
c.可以用传统芯片实现,搭接硬件电路。也可以下载,用芯片实现。 二、 VHDL语言描述 library ieee;
use ieee.std_logic_11.all; use ieee.std_logic_unsigned.all;
entity clock is port (
clk : in std_logic;
data: in std_logic_vector(7 downto 0); start:in std_logic; gate:out std_logic; z: out std_logic;
FPGA
q: buffer std_logic_vector(7 downto 0) ); end clock;
architecture one of clock is
signal ld_dat:std_logic_vector(7 downto 0); signal temp_gate:std_logic; begin
counter:process(clk) begin
if(clk'event and clk='1')then if(start='0')then ld_dat<=data; q<=\"00000000\"; temp_gate<='0'; else
temp_gate<='1'; if(qelse temp_gate<='0'; q<=\"00000000\"; end if; end if; end if;end process counter; z<=temp_gate and clk; gate<=temp_gate; end one; 三、问题解决:
用示波器进行动态演示时,波形一闪而过,原因是动态演示时脉冲不断出现,当门关闭(gate=0)时,若不对q重新进行赋值,则输出值的变化只会出现一次。添加语句q<=\"00000000\";即可得到解决。 四、实验结果 功能仿真:
时序仿真:
五、心得体会
在遇到问题,发现错误,解决问题的过程中,我们确实从中学到了很多。综合性的大作业对于学生能力而言,是一个很好的锻炼,也是一个较大的考验,它对我们今后的学习和工作都大有帮助。