项目要求:

  1. 待检测数据“1”由外部输入,并用LED灯显示;

  1. 待检测串行数据长度为256位,由ROM输出;

  1. 一组数据检测完毕后,指示信号DONE为1;

  1. “1”的个数由数码管显示;

  1. 设计时需给出仿真结果。

  1. 设计结果下载到FPGA上实现功能的硬件验证。

Clk_1k

频率为1kHz的时钟信号,上升沿有效

D_1_0

待统计信号,手动输入。

St_Ld

开始统计同步置数/清零信号,手动输入脉冲信号。在高电平将D_1_0置入电路,并输出,同时清零S_1_0,N_clk和Done。在St_Ld由高变低时,电路开始统计工作。

Disp_D

显示置入的D_1_0值。

S_1_0

一帧256位数据中,与D_1_0相等的二进制数的个数,8位宽。

N_clk

统计256位数据实际需要的clk的周期数,8位宽。

Done

一帧统计结束信号,当Done=1时,表示统计结束。

电路设计要求:

  • 待检测的256位数据可以任意产生,事先存储在8位宽,深度为32的ROM中;

  • 将ROM中并行读出的8位数据转换为串行输出数据,然后检测串行数据中与D_1_0一样的二进制数个数;不允许先一次性转换成256位的串行数据然后再监测0或1个数的设计。

  • 在St_Ld信号为高电平时,实现D_1_0的同步载入和S_1_0的同步清零,同时必须在St_Ld由高变低后,电路才开始统计工作,直达Done=1为止。

  • 改变D_1_0的值实现0的个数统计。且0的个数加1的个数一定要等于256.

  • 需要解决的问题:(1)如何实行并串转化,并实现数据的连续输出?(2)控制电路允许统计的信号该如何表示;

创建项目步骤:

1.创建项目 File->New Project Wizard....

2.设置项目名称

3.选择电路板信号

4.其他步骤直接点击next就项目好了。

开始创建Verilog hdl文件

  1. new -> VHDL file ->OK 就好了

  1. 写入程序代码:

参考代码如下:

module counter_bit_1_0(shift_date,clk,st,d,rom_addr,N_clk,S_1_0,Done,Disp_d);input [7:0]shift_date;input clk,st,d;output reg [4:0]rom_addr = 0;output reg [7:0]N_clk;output reg [7:0]S_1_0;output reg Done;output reg Disp_d;reg [7:0]reg_date;always@(posedge clk)beginif(st)beginN_clk <= 0;Done <= 0;endelse if(N_clk == 255)Done <= 1;else if(Done)N_clk <= N_clk;elseN_clk <= N_clk + 1;endalways@(posedge clk)beginif(st)beginS_1_0 <= 0;Disp_d <= d;endelse if(Done)S_1_0 <= S_1_0;else if(reg_date[0] == d)S_1_0 <= S_1_0 + 1;endalways@(posedge clk)beginif(N_clk % 8 == 6)rom_addr <= rom_addr + 1;elserom_addr <= rom_addr;endalways@(posedge clk)beginif(st)reg_date <= shift_date;else if(N_clk % 8 == 7)reg_date <= shift_date;elsereg_date <= reg_date>>1;end
endmodule
  1. 生成Symbol模块

以上步骤就核心功能实现了。

创建从ROM读取数据的mif后缀文件

  1. new->Memory Initialization File

  1. 设置宽为8,深为32;OK就创建好了

创建从ROM并行读取模块

1.如下图

2.如下图

这步设计文件名

这里选择上一步创建的mif文件

  1. 把这个文件转换为Symbol模块。

创建图形设计界面连接线路

1.创建

2.从Symbol Tool里找到刚才我们创建的模块

3.两个都导入以后连接引脚

以上步骤就完成了所有功能。

tips:

希望上述方法能够帮到您。

以上创建文件过程有些步骤省略了,有什么不懂及其他问题欢迎评论留言或私信我,可能不能及时回复,但我有时间都会回答的。

其实我也是菜鸟一只,有问题提出来一起进步。

Verilog含1个数统计电路设计相关推荐

  1. 题库练习4(提取不重复的数字、字符个数统计、数字颠倒、字符串反转)

    1. 提取不重复的数字 输入一个int型整数,按照从右向左的阅读顺序,返回一个不含重复数字的新的整数. 1.1 分析 注意去重的同时要保证数字要按照输入顺序打印--LinkedHashSet impo ...

  2. R语言dataframe数据列中的缺失值NA的个数统计实战:特定数据列的NA值统计、所有特征的NA值统计

    R语言dataframe数据列中的缺失值NA的个数统计实战:特定数据列的NA值统计.所有特征的NA值统计 目录

  3. python【蓝桥杯vip练习题库】ADV-105 不同单词个数统计(集合)

    试题 算法提高 不同单词个数统计 资源限制 时间限制:1.0s 内存限制:512.0MB 问题描述 编写一个程序,输入一个句子,然后统计出这个句子当中不同的单词个数.例如:对于句子"one ...

  4. 【Java面试题视频讲解】字符个数统计

    P8字符个数统计

  5. 【C语言】单词个数统计(库函数第一次运用)

    编写程序,实现单词个数统计.从键盘输入一行字符,长度小于1000.统计其中单词的个数,各单词以空格分隔,且空格数可以是多个.输入要求:输入只有一行句子.仅有空格和英文字母构成.输出要求:输出单词的个数 ...

  6. 实现一个输入程序,接收从 键盘读入的字符串。当字符串中所含字符个数少于程序设定的上限时,输出这个字符串;否则抛出MyStringException1异常,在异常处理中要求重新输入新的字符串或者中断程序

    实现一个输入程序,接收从 键盘读入的字符串.当字符串中所含字符个数少于程序设定的上限时,输出这个字符串:否则抛出MyStringException1异常,在异常处理中要求重新输入新的字符串或者中断程序 ...

  7. 牛客网--华为机试在线训练10:字符个数统计

    牛客网–华为机试在线训练10:字符个数统计 题目描述 编写一个函数,计算字符串中含有的不同字符的个数.字符在ACSII码范围内(0~127).不在范围内的不作统计. 输入描述: 输入N个字符,字符在A ...

  8. python中怎么统计英文字符的个数_python怎样实现字符串中字符分类及个数统计

    python怎样实现字符串中字符分类及个数统计 发布时间:2020-11-20 17:31:18 来源:亿速云 阅读:105 作者:小新 小编给大家分享一下python怎样实现字符串中字符分类及个数统 ...

  9. java统计有多少个单词_Java不同单词个数统计

    描述 编写一个程序,输入一个句子,然后统计出这个句子当中不同的单词个数.例如:对于句子"one little two little three little boys",总共有5个 ...

  10. 牛客网力扣算法编程之十四 | 字符串 - 字符个数统计 - Java代码实现

    [算法编程]字符个数统计 一. 题目描述 编写一个函数,计算字符串中含有的不同字符的个数.字符在 ASCII 码范围内( 0~127 ,包括 0 和 127 ),换行表示结束符,不算在字符里.不在范围 ...

最新文章

  1. Java设计模式:工厂模式
  2. golang 防知乎 中文验证码 源码
  3. 针对Selenium环境搭建的一些小解说
  4. Weex动态化方案与双十一实践
  5. Linux下自动化测试环境的搭建
  6. [转]浅析Tomcat、JBOSS、WebSphere、WebLogic、Apache
  7. 程序员除了上班,还可以怎么赚钱?
  8. jfreechart createBarChart 去掉立体感
  9. java 性能框架_Java Fork Join 框架(四)性能
  10. 试玩网站搭建讲解入门篇
  11. 那缕清香,右手阑珊,左手寂寞
  12. 如果我们遇上得州寒潮,会不会「悲剧」?
  13. NR CSI报告简介
  14. macOS iOS 完整项目之全功能RSS阅读器 (教程含源码)
  15. 免费体验,快速对接身份证实名认证API接口说明
  16. 单片机与PC机的交流———基于STM32的串口通信
  17. qsort函数用法 + 模拟实现qsort函数
  18. 微信会员卡系统如何助力服装店提升业绩(下)
  19. Ajax并不是一种技术(Ajax入门好文章)
  20. vue axios在开发中遇到的问题

热门文章

  1. 今日学习在线编程题:波兰国旗问题
  2. 区块链就像以前的计算机技术,浅谈区块链的前生
  3. 2022年如何学会成为一名Android开发
  4. 点云从入门到精通技术详解100篇-基于 CBCT 与口内扫描数据的牙齿点云配准
  5. MATLAB算法实战应用案例精讲-【图像处理】机器视觉(最终篇)
  6. Rosalind第76题:Character-Based Phylogeny
  7. 服务器季度维护表,服务器季度巡检记录模板.doc
  8. Hue error: 集成hive报错Could not start SASL: Error in sasl_client_start (-4) SASL(-4): no mechanism avai
  9. 28_String类
  10. Excel英文版 打开中文csv文件乱码!