含1个数统计实验报告.docVIP

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

数字系统设计实践 ——含1个数统计电路 目录一、设计任务与要求 3 1、设计任务 3 2、设计要求 3 二、方案说明 3 1、程序总体流程图 3 2、控制子系统的ASM图 4 三、系统设计 5 1、程序总图 5 2、子系统模块 5 (1)控制器模块 5 (2)接收位数的累计的计数器模块设计 6 (3)对X=1个数统计的计数器设计 6 3、 系统程序 6 (1)控制器模块程序 6 (2)计数器模块 7 四、系统测试 8 1、按键说明 8 2、电路功能表 9 3、系统仿真 9 五、总结 9 一、设计任务与要求 1、设计任务 某数字系统用于统计串行输入的16位二进制序列X中“1”的个数,试确定其系统方案。 2、设计要求 采用控制器——受控器模型 串行数据位数:16位,利用按键输入 系统时钟、启动信号等由按键手动输入 “1”的个数由数码管显示(十六进制) 给出系统仿真结果 二、方案说明 1、程序总体流程图 图2-1-1 说明: 由控制器判断输入的x是1还是0,并引导位数计数器和一的个数计数器的计数,并且接受位数计数器的反馈。 2、控制子系统的ASM图 图2-2-1 说明: start=1时,状态机开启,第二个状态时clr全部清零,进入第三个状态,如果输入X=0,把cp脉冲给cpx,如果输入X=1,把cp脉冲同时给cp1和cpx,直到cpx记满16为止,再跳回到状态s0。 图2-2-2 状态说明: ① s0:保存上个16位序列的统计结果; ② s1:全部清零,为下一个状态的计数做准备; ③ s2:统计个数; 三、系统设计 只会一种设计,如下: 参考网址:/view/225b60ddcca131.html 1、程序总图 图3-1-1 2、子系统模块 (1)控制器模块 图3-2-1 这个模块主要实现四个功能: 判断输入的x是0还是1 控制对X的接收位数进行累计 控制当X=1时使统计1的个数计数器加1计数 判断x的16位序列是否输入完毕,并予以显示 (2)接收位数的累计的计数器模块设计 图3-2-2 这个模块主要实现两个功能: 对X的接收位数进行累加 当输入X的序列满16位时,对控制器进行反馈 (3)对X=1个数统计的计数器设计 图3-2-4 以10进制的形式对输入的‘1’的个数进行统计和输出。 系统程序 (1)控制器模块程序 library ieee; use ieee.std_logic_1164.all; use ieee.std_logic_unsigned.all; use ieee.std_logic_arith.all; entity kongzhi is port(cp,start,n,x:in std_logic; done:buffer std_logic; clr,cpx,cp1:out std_logic); end kongzhi ; architecture jishu of kongzhi is type state_type is(s0,s1,s2); signal state:state_type; begin reg:process(cp,start,done) begin if(cpevent and cp=1)then case state is when s0=if start=1 then state = s1; else state=s0; end if; when s1=state = s2; when s2=if done= 1 then state = s0; else state=s2; end if; end case; end if ; end process reg; com:process(state,x,n) begin case state is when s0 = cp1=0;cpx=0; clr=0;done=1; when s1 = cp1=0;cpx=0; clr=1;done=0; when s2 = cp1=x; cpx=1; clr=0;done=n; end case; end process com; end jishu; (2)计数器模块 library ieee; use ieee.std_logic_1164.all; use ieee.

文档评论(0)

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

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

1亿VIP精品文档

相关文档