X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=ships%2FAlu3.ship;h=9a9d95b395f053f3d3e061d25b6b30aa89b85ba9;hb=ad838db4c75aab37276a50bc52effa7e6d45d87c;hp=f88fbb8af9f71dde65714a3ad9ac5c8b7df1c921;hpb=0b3ca995c18030dfaf1f0c6db2020dfad3bc8182;p=fleet.git diff --git a/ships/Alu3.ship b/ships/Alu3.ship index f88fbb8..9a9d95b 100644 --- a/ships/Alu3.ship +++ b/ships/Alu3.ship @@ -50,12 +50,11 @@ public void service() { always @(posedge clk) begin if (have_out1) begin `onwrite(out1_r, out1_a) have_out1 <= 0; end - end - if (have_out2) begin + + end else if (have_out2) begin `onwrite(out2_r, out2_a) have_out2 <= 0; end - end - if (!have_out1 && !have_out2) begin + end else if (!have_out1 && !have_out2) begin if (!have_a) begin `onread(in1_r, in1_a) have_a <= 1; a <= in1_d; end end @@ -67,8 +66,11 @@ public void service() { end if (have_a && have_b && have_c) begin - out1_d <= ((a & b) | (b & c) | (a & c)) << 1; + out1_d <= { { ((a & b) | (b & c) | (a & c)) } , 1'b0 }; out2_d <= a ^ b ^ c; + have_a <= 0; + have_b <= 0; + have_c <= 0; have_out1 <= 1; have_out2 <= 1; end