EDA实验报告1.docVIP

  1. 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
EDA实验报告1EDA实验报告1

数字频率计设计 实验目的 学习并掌握数字频率计原理,设计,分析和测试方法。 实验内容 用高频率信号检测低频率的信号,通过对高频率脉冲个数的计数得到低频率信号的频率。(高频率信号已知,低频率信号为所测量值)。或用低频率信号检测高频率信号(低频率信号已知,高频率信号为所测量值)。 实验要求 用八段数码管显示频率值。 频率值用十进制表示 四,实验原理。 本实验采用低频测高频的方法,基本原理是利用低频信号产生1s的计数时间,记录在这段时间内高频的脉冲的个数,即高频的频率。由于采用六段数码管显示高频单位为赫兹(Hz)所以测量并显示的范围是2~999999Hz的频率值。 实验设计大体分为五个模块,第一个模块将输入的低频信号进行分频产生0.5Hz,和1HZ的频。其中利用0.5HZ的高电平(持续时间为1s)作为高频信号的计数时间。当1HZ的频率为低电平0.5HZ频率低电平时保存计数器的值并输入到显示模块显示相应的频率。当1HZ的频率信号为低电平时,0.5HZ频率信号为高电平时清除计数器的值以便于下一个计数周期再次计数。可以连续测量不同的频率。 第二个模块为计数模块,当在1s的计数时间里,每到来一个高频脉冲计数器的值就加1,由于是和显示模块相匹配的,所以计数是采用四位二进制数来表示一个数,当个位满9就向十位进1,十位满9向百位进1,依次类推,得到各位的数值。 第三个模块为二次分频与计数显示控制模块,通过它来使能各部分的工作。 第四个模块为锁存器模块,锁存驱动信息。 最后一个为译码器,用来驱动八段数码管显示频率值。 第一个为分频器,第二个为二次分频与计数显示控制器,第三个为锁存器,最右侧的为译码器。 五,实验问题分析和测试方法。 本实验出现的一个问题是计数器的值如何赋值给一个变量然后显示出来,首先要保证的是显示的值是一个稳定的值且为计数器在1s中计数的最大值。 解决方案:在实验中将低频信号(这里暂定为2Hz)分别进行一次2频和2分频,这样便可以产生一个0.5Hz,1Hz的低频计数信号,当0.5Hz,即四分频信号为高电平时,对高频信号脉冲进行计数,在四分频后的0.5Hz频率下降沿将信号送入到显示模块,在之后的二分频低电平和二分频的高电平时间里将计数器清零,以便在下一个计数周期里计数。 测试方法: ①软件仿真:采用quartusII软件进行功能和时序的仿真。得到正确结果后,烧录进579中进行硬件测试。 ②硬件测试:调整不同的高频信号,观察显示频率值是否正确。 六,实验代码和仿真图形。 ㈠分频模块。 ⑴代码: library ieee; use ieee.std_logic_1164.all; use ieee.std_logic_unsigned.all; entity div2 is port(clkk:in std_logic; --1Hz clk:out std_logic); --latch out data end entity div2; architecture rtl of div2 is signal div:std_logic; begin process(clkk) begin if clkkevent and clkk=1 then div=not div; --clkk=2Hz,div=1Hz end if; end process; clk=div; end architecture rtl; (2)RTL视图: ㈡计数模块 ⑴代码: library ieee; use ieee.std_logic_1164.all; use ieee.std_logic_unsigned.all; entity counter is port(clk2:in std_logic; --under test signal rst_n:in std_logic; --clear reset en:in std_logic; --counter enable signal dout:out std_logic_vector(3 downto 0);--4 bit result output cout:out std_logic); --counter carry end entity counter; architecture rtl of counter is signal count_bit:std_logic_vector(3 downto 0); begin process(rst_n,clk2) is begin if rst_n=1

文档评论(0)

skewguj + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档