fsm

    3热度

    1回答

    我正在学习计算模型,目前我们正在做有限状态机。我的一项任务是绘制一个执行3分割的FSM;为了简化模型,机器只接受3的倍数。我不确定这是如何实现的,特别是因为我想FSM只输出单个二进制值。你们能举个例子(除以2或4)或者提示如何解决这个问题?

    0热度

    2回答

    我想写一些vhdl检测给定模式的位串。在输入流中发现模式“110”时,电路应该输出1。我的输入是“X”,输出是“Z”。 我不知道如何检查“110”的输入模式。 这是我到目前为止有: library IEEE; use IEEE.STD_LOGIC_1164.ALL; entity checker is Port (clk : in STD_LOGIC; x : in S

    2热度

    3回答

    我在vhdl代码中有一个时钟,但我没有使用它,只是当我的进程只是在一个组件完成并获取输出时取决于握手,此输出位于我的FSM的灵敏度列表中然后成为下一个组件的输入,当然它的输出也在我的FSM的灵敏度列表中(所以要知道组件何时完成其计算)......等等。 这种方法错了吗?它可以在仿真和后路模拟中工作,但会得到如下警告:警告:保持对CLK的高电平有效;和 警告:保持对于CLK的低电平有效; 这个警告不

    2热度

    1回答

    我有n个一长串(〜50000)线路用的公式看起来像: A(1, 2) = 54353 A(1, 2, 3) = 89327 A(1, B(1, 2)) = 8372 A(7, B(1, 3, 5)) = 6311 A(7, B(C(1, 3, 7), 2, C(1, 3), 5)) = 28490 B(A(1, C(5, 3)), 3, 8, D(1, 2)) = 39783 等 这

    1热度

    1回答

    嗯,我在我的主要组件中处理a,在另一个子组件中处理b(在主要组件中执行)。 进程a和b只有时钟在它们的灵敏度列表中: 处理一个控制启动信号ready,如果1进程b可以工作,0进程b将不会执行任何操作。 问题在处理a中,当将使能信号的更改值处理为0时,必须等待下一个时钟周期才能更改,以便进程b结束运行一个额外的时钟周期。 a:process(clk) begin if(rising_edge(c

    0热度

    2回答

    public abstract class State<T> { public virtual Enter(T item) { // an empty method } } public class ChaseState : State<FieldPlayer> { public override Enter(Player pl)

    -2热度

    1回答

    我必须为1 mealy fsm写一个verilog程序。有很多技术来编写它。我会告诉你1,我想知道,如果它太(没有必要提及其他技术,只是说如果工作或不为什么!)这就是: module MealyFsm(out,in,clk,rst); output out; input in,clk,rst; reg [1:0] q; always @(posedge

    1热度

    4回答

    我有一个用Verilog编写的程序,我想自动将它转换成FSM。这是可能的(只是想象它)? 下面是代码: module pci(reset,clk,frame,irdy,trdy,devsel,idsel,ad,cbe,par,stop,inta,led_out); input reset; input clk; input frame; input irdy

    0热度

    2回答

    我正在开发一个自动售货机项目,并尝试构建一个状态机,正如我从其他示例中看到的那样。我试图建立的机器可以容纳100美元。它需要镍,一角和四分之一。所以,我应该逐一定义大约2000个州。我怎样才能以更简单的方式构建FSM?我只想提出一个建议。 谢谢:)

    4热度

    3回答

    我在VHDL中看到的很多FSM都是通过在FSM逻辑中设置一个变量“next_state”,然后将其单独分配给进程之外的状态变量。 如果简单地写入“state <= state_five”有任何问题,改为设置下一个状态? 我假设有是一个原因,许多人使用单独的下一个状态变量,而不是直接分配到状态,因为我一直看到它,但据我所知,除了它之外没有区别使代码更长,更复杂。 我错过了什么吗?还是仅仅是一个风格问