vhdl-用VHDL设计一个寻找要求图案的电路

问题描述

用VHDL设计一个寻找要求图案的电路

老师的作业要求我么设计一个电路来寻找复合的字符串。
这个电路使用来寻找符合a+(b^n|c)d的字符串的,也就是说要找到以任意个数的“a”开始,跟着的是恰好n(变量)个“b”或者1个c,最后是1个d结尾的字符串。比如当n=3时,"abbbd","aaacd","aabbbd","abbbcd"均为符合的字符串。
Entity部分为
entity patternMatcher is port(
clk, restart, valid: in std_logic;
inSym: in nibble;
repCount: in nibble;
patCount: out byte);
end patternMatcher;
我们需要一个restart信号来重新初始化电路。
valid信号为高电平的时候,需要关注inSym;为低电平的时候,inSym的值被忽略。
inSym是一个四比特信号,x0表示a,x1表示b,x2表示c,x3表示d。
repCount决定“b”的重复次数(n)。当restart为高电平时,电路需要储存repCount的值,并且用这个值来寻找符合的字符串。
输出patCount是从上一次restart开始输入的字符串符合我们要求的图案的次数。
请用状态机来设计一个可以实现这样性能的电路。

请各位大神帮帮忙,画一下状态图还有设计architecture部分吧。

时间: 2024-08-31 22:34:53

vhdl-用VHDL设计一个寻找要求图案的电路的相关文章

vhdl-求大神VHDL数字时钟设计 所有的源程序 编译和仿真

问题描述 求大神VHDL数字时钟设计 所有的源程序 编译和仿真 完成数字时钟的设计,要求该时钟具有下述功能: 1. 具有时,分,秒,计数显示功能,以24小时循环计时. 2. 具有清零,调节小时.分钟功能. 3. 具有整点报时功能,整点报时的同时LED灯花样显示. 解决方案 http://wenku.baidu.com/link?url=zWhjFHFKLlGuP5Q3uuZAVnCfpDGI002UIeu0JJMmTt0dWEsN-CN-BAECxO4QF0z1SYRYUQj3XvqcGWykp

使用Annotations设计一个MVC框架

设计 当设计一个应用程序时, 清晰的分离该程序的不同逻辑组件, 总是被证明是有益的. 同时也存在许多不同的模式来帮助开发者实现这个目标.其中最有名同时也最常用的自然是Model-View-Controller (MVC)了, 它能够将每个应用程序(或者应用程序的一部分)分成三个不同功能的组件,并且定义了把他们联结在一起的规则.Swing本身就是基于这个模式的,而且每个使用Struts,这个流行的开发Web应用框架的人也都了解隐藏在MVC后面的理论. 这篇文章介绍了怎么样通过使用annotatio

产品设计思路:寻找产品的性格

文章描述:如何在设计中寻找产品的性格. 在前一文发表之后,我收到了不少邮件,有点出乎意料但又在猜想之中的是,这些邮件之中交互设计行业远多于工业设计行业,互联网行业远多于实体产品行业,而我仍想从事实体产品的工业设计. 但我也确实对交互设计对互联网非常感兴趣,甚至有意愿涉足,这种想法来源于对设计行业的变化的认同和理解.设计发生变化了,表面看或许是交互设计及相关设计的兴起,传统工业设计在一些情形上的隐退等这一些现象,但更深层的是整个设计的变化,不只是一个领域的设计替代另一个领域的设计,工业设计同样也发

如何简单设计一个吸引人的网页横幅

如何设计网页横幅 设计一个吸引人的网页主横幅其实可以很简单,我们思考的只是如何分配区域.  点击上图看大图 在一个简单的网页中,上方的横幅是最重要的视觉元素.在很多博客网页中,它甚至是唯一的视觉元素.所以它的作用可以说是相当大的.它必须能够与网站的风格配合,并能传达视觉上的信息.它必须让人看上一眼就让人知道这个网站是属于什么类型,风格是什么.这个横幅还必须能够提供简单明了的导航链接.所有这些,我们都可以通过将横幅分成三个区域而轻松实现:每一个区域都具有自己的功能,而我们还要将这三个区域在视觉上统

用C#设计一个命令行方式的文件分割器

命令行|设计 共享软件中有很多界面美观的文件分割程序,将一个大文件分割成几个较小的文件,分别保存,需要的时候再合并成原来的文件,常常是必备的工具. 本文用微软的visual studio .net开发环境的C#语言也来设计一个文件分割器,并且以DOS命令行方式运行,就象使用copy命令一样简单.从中也可以了解文件分割的原理以及.net框架对文件的读写操作方式. 新建一个visual c#项目,选择"控制台应用程序",项目名称设置为filesplitcon,系统自动产生了class1.c

Photoshop设计一个简单的三角旗横幅

  三角旗横幅的做法比较简单,你可以对它进行各种个性化的设置,也可以拿它去装饰几乎任何一个场合,让这些场合变得更有趣. 本教程将向您展示如何设计一个简单的可打印出来的印花三角旗,然后会向您展示如何使用它来做一个可爱的三角旗横幅迷你模型.所以,不管你想打印三角旗还是想把它合并成一个设计,你都会学到很多知识.这个教程的三角旗是不是萌萌哒,喜欢这么可爱的小旗子么,让我们开始学习吧! 最终效果: Step 1 新建一个的10×11英寸的文档,将分辨率设置为300,颜色模式设为CMYK颜色. 通过将视图>

无意识设计:寻找有价值的用户连续行为

很早之前看过田中一光<设计的觉醒>和原研哉的<设计中的设计>,开始比较认同于日本对于常用设计的态度.之后又了解了深泽直人.隈研吾.佐藤可士等设计大师的作品和设计思想,从而开始对于从常用设计的角度来思考了设计到底是什么?而我觉得设计其实是传达信息,并不是通过强烈的视觉冲击来吸引人们的注意,而是要渗透到人的生活中去的,成为人们生活习惯的一部分.所以需要我们重新审视周遭和生活相关的设计,以最平易的方式来探讨设计在生活中的本质和内涵. 无印良品的设计就是继承了这一理念.它的产品价格不高,设

如何设计一个好的Windows 8应用

虽然 Windows 8 刚上市只有半个月多一点,但 Windows 8 之父,同时也是 Windows 和 Windows Live 部门的总裁.微软下一代 CEO 热门人选的史蒂芬・辛诺夫斯基却已经离开了微软, Windows 8 的设计语言名称也从最初的 Metro 先是变为 Modern 接着变为 Windows 8 Style,最后变为目前微软中国官方所称的 Microsoft Design(本文依旧延用旧名称 Metro 表示 Microsoft Design Language/St

如何设计一个web容器

开发一个web容器涉及很多不同方面不同层面的技术,例如通信层的知识,程序语言层面的知识等等,且一个可用的web容器是一个比较庞大的系统,要说清楚需要很长的篇幅,本文旨在介绍如何设计一个web容器,只探讨实现的思路,并不涉及过多的具体实现.把它分解划分成若干模块和组件,每个组件模块负责不同的功能,下图列出一些基本的组件,并将对每个组件进行介绍.   连接接收器 主要的职责就是监听是否有客户端套接字连接并接收socket,再将socket交由任务执行器(线程池)执行.不断从系统底层读取socket,