Fix the zero count.
This commit is contained in:
parent
5cf4be0af1
commit
b35810c5a5
|
|
@ -12,22 +12,22 @@ v2 2 0 DC 0.0
|
|||
a1 1 clk1 d_osc1
|
||||
a2 2 clk2 d_osc1
|
||||
|
||||
ap0_4 null clk1 null [q1 q2 q3 q4] proc0
|
||||
ap0 null clk1 null [q1 q2 q3 q4] proc0
|
||||
.model proc0 d_process (process_file="graycode" process_params=["none"])
|
||||
|
||||
ap1_4 [clk2] clk1 null [o1 o2 o3 o4] proc1
|
||||
ap1 [clk2] clk1 null [o1 o2 o3 o4] proc1
|
||||
.model proc1 d_process (process_file="prog1in4out" process_params=["opt1", "qwerty"])
|
||||
|
||||
ap4_1 [o1 o2 o3 o4] clk1 null [zeros] proc2
|
||||
ap2 [o1 o2 o3 o4] clk1 null [zeros] proc2
|
||||
.model proc2 d_process (process_file="prog4in1out" process_params=["abc", "99"])
|
||||
|
||||
ap4_1a [q1 q2 q3 q4] clk1 null [qzeros] proc3
|
||||
ap3 [q1 q2 q3 q4] clk1 null [qzeros] proc3
|
||||
.model proc3 d_process (process_file="prog4in1out")
|
||||
|
||||
an1 [o1 ~o2 o3] reseto dand1
|
||||
.model dand1 d_and(inertial_delay=true rise_delay=1ns fall_delay=50ns)
|
||||
|
||||
ap1_4a [clk2] clk1 reseto [b1 b2 b3 b4] proc4
|
||||
ap4 [clk2] clk1 reseto [b1 b2 b3 b4] proc4
|
||||
.model proc4 d_process (process_file="prog1in4out")
|
||||
|
||||
.control
|
||||
|
|
|
|||
|
|
@ -91,21 +91,23 @@ static int compute(
|
|||
)
|
||||
{
|
||||
uint8_t i0 = 0, zeros = 0;
|
||||
uint8_t inbyte = datain[0];
|
||||
uint8_t inbyte = datain[0] & 0x0F;
|
||||
dataout[0] = 0;
|
||||
i0 = inbyte ^ 0x01;
|
||||
if (i0) zeros++;
|
||||
i0 = inbyte ^ 0x02;
|
||||
if (i0) zeros++;
|
||||
i0 = inbyte ^ 0x04;
|
||||
if (i0) zeros++;
|
||||
i0 = inbyte ^ 0x08;
|
||||
if (i0) zeros++;
|
||||
i0 = inbyte & 0x01;
|
||||
if (i0 == 0) zeros++;
|
||||
i0 = inbyte & 0x02;
|
||||
if (i0 == 0) zeros++;
|
||||
i0 = inbyte & 0x04;
|
||||
if (i0 == 0) zeros++;
|
||||
i0 = inbyte & 0x08;
|
||||
if (i0 == 0) zeros++;
|
||||
if (zeros == 2 || zeros == 4) {
|
||||
dataout[0] = 0x01;
|
||||
} else {
|
||||
dataout[0] = 0x00;
|
||||
}
|
||||
fprintf(stderr, "datain %X zeros %d dataout %X time %g\n",
|
||||
datain[0], zeros, dataout[0], time);
|
||||
return 1;
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue