iamryf 2014-02-18 04:41
浏览 866

用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部分吧。

  • 写回答

0条回答 默认 最新

    报告相同问题?

    悬赏问题

    • ¥15 关于#matlab#的问题:期望的系统闭环传递函数为G(s)=wn^2/s^2+2¢wn+wn^2阻尼系数¢=0.707,使系统具有较小的超调量
    • ¥15 FLUENT如何实现在堆积颗粒的上表面加载高斯热源
    • ¥30 截图中的mathematics程序转换成matlab
    • ¥15 动力学代码报错,维度不匹配
    • ¥15 Power query添加列问题
    • ¥50 Kubernetes&Fission&Eleasticsearch
    • ¥15 報錯:Person is not mapped,如何解決?
    • ¥15 c++头文件不能识别CDialog
    • ¥15 Excel发现不可读取的内容
    • ¥15 关于#stm32#的问题:CANOpen的PDO同步传输问题