我正在尝试编写一个能够生成Verilog
代码的小型 Java 程序。由于我几乎不了解 Verilog 语言,因此在创建一个简单的示例时遇到了问题。
假设我们有 2 个输入a, b
和 1 个输出c
。还有2个州。State1
是初始状态,并且达到State2
一定的条件wire1
,这需要b = 1
。
我在此示例中的输出将具有state2 & a
要满足的条件。
问题:使用下面的近似设计,Verilog
根据我的示例,完整的代码看起来如何?
//simplified without inheritance
class Input {
String varname;
new Input(String varname);
}
class Output {
String varname;
String condition;
new Output(String varname, String condition);
}
class State {
String varname;
new State(String varname);
}
class Wire {
String condition;
Input input;
Ouput output;
new Wire(Input input, Output output, String condition);
}
Input input1 = new Input("a");
Input input2 = new Input("b");
State state1 = new State("initial");
State state2 = new State("following");
Wire wire12 = new Wire(state1, state2, "b");
Ouput output1 = new Output(c, "state2 & a");
基于此,verilog 代码将如何看待?
module BasicFsm(
input clock,
input reset,
input a,
input b,
output c
);
always @(posedge clock)
//how to continue here?