public Action isEmpty() { return new SimpleAction(name+"==0"); }
public Action doFill() { return new SimpleAction(name+"<=1;"); }
public Action doDrain() { return new SimpleAction(name+"<=0;"); }
+ public String doReset() { return name+"<="+(initiallyFull?"1":"0")+";"; }
public StateWire(String name) { this(name, false); }
public StateWire(String name, boolean initiallyFull) {
this.name = name;
pw.println(precrap);
pw.println("always @(posedge clk) begin");
pw.println(" if (!rst) begin");
+ for(StateWire sw : statewires.values())
+ pw.println(sw.doReset());
for(Port p : ports.values()) {
if (p instanceof SourcePort) {
SourcePort ip = (SourcePort)p;