- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
数字电路大型设计实验概要1
数
电
大
型
实
验
报
告
姓名:陈丽红
班级:健理1402班
学号:201424450202
教师:金老师
一、4位数字频率计设计
1.1设计题目
设计一4位数字频率计,测量范围为0~9999Hz,假设被测信号为标准的方波信号。
1.2设计思路
下图所示为数字频率计的原理框图,对于数字频率计,我们采用“自顶向下”的设计方法。根据数字频率计的工作原理和设计方案, 先绘制顶层设计原理图,再进行底层模块的设计。
图1-1 数字频率计原理框图
图1-2 4位数字频率计原理图library ieee;
use ieee.std_logic_1164.all;
use ieee.std_logic_unsigned.all;
entity cnt10 is
port(clk,clr,cs: in std_logic;
qq: buffer std_logic_vector(3 downto 0);
co: out std_logic
);
end cnt10;
architecture one of cnt10 is
begin
process(clk,clr,cs)
begin
if(clr=1)then
qq=0000;
elsif(clkevent and clk=1)then
if(cs=1)then
if(qq=9)then
qq=0000;
else
qq=qq+1;
end if;
end if;
end if;
end process;
process(qq)
begin
if(qq=9)then
co=0;
else
co=1;
end if;
end process;
end one;
模块CNT10的简单说明
CNT10模块为十进制加法计数器模块,具有计数、异步清零、计数使能、进位输出功能。清零信号clr可以使计数器在闸门信号cs有效前清零。计数使能由闸门信号cs控制,当cs高电平时,闸门开通,被测信号通过闸门送到计数器,计数器允许计数,低电平时停止计时。CNT10模块采用的是时钟上升沿计数,在计数使能的情况下来一个时钟信号clk的上升沿,计数器加1,对于十进制加法计数器,当计数达到10时产生一个进位输出,进位输出co采用负脉冲,避免后级计数器提前加1计数。实验仿真波形说明了CNT10模块符合设计要求的逻辑功能,仿真结果如下图。
模块CNT10的仿真结果
图1-3 CNT10仿真波形
(4位锁存器模块LATCH4
模块LATCH4的VHDL代码
library ieee;
use ieee.std_logic_1164.all;
use ieee.std_logic_unsigned.all;
entity latch4 is
port(le: in std_logic;
dd: in std_logic_vector(3 downto 0);
qq: out std_logic_vector(3 downto 0)
);
end latch4;
architecture one of latch4 is
begin
process(le,dd)
begin
if(le=1)then
qq=dd;
end if;
end process;
end one;
模块LATCH4的简单说明
LATCH4模块具有的功能为在锁存信号le高电平期间锁存器输出随输入变化,在锁存信号le的下降沿,将输入值锁存,输出值保持不变。实验仿真波形说明了LATCH4模块符合设计要求的逻辑功能,仿真结果如下图。
模块LATCH4的仿真结果
图1-4 LATCH4仿真波形library ieee;
use ieee.std_logic_1164.all;
entity led7s is
port(dd: in std_logic_vector(3 downto 0);
y: out std_logic_vector(6 downto 0)
);
end led7s;
architecture one of led7s is
begin
process(dd)
begin
case dd is
when 0000=y=1000000;
when 0001=y=1111001;
when 0010=y=0100100;
when 0011=y=0
您可能关注的文档
最近下载
- 2024—2025学年河南省开封高级中学高一上学期第一次月考物理试卷.doc VIP
- 1998—2019北京市中考数学试卷含详细解答(历年真题).pdf VIP
- 《涉江采芙蓉》课件(共36张PPT)统编版高中语文必修上册.pptx VIP
- 北京地区出土的战国刀和布.docx VIP
- 三至六年级科学实验手册.doc VIP
- 腹透相关性腹膜炎护理查房ppt课件.pptx VIP
- 河南省濮阳市房地产经纪人考试(房地产经纪职业导论)测试题及答案(2025下半年).docx VIP
- Haier海尔412升风冷变频多门冰箱 BCD-412WGHFDB5WFU1说明书用户手册.pdf
- 8D方法培训教材(158页).pptx VIP
- 第5课 《推动高质量发展》第1框《建设社会主义现代化国家的战略导向》课件 中职高教版中国特色社会主.ppt
文档评论(0)