summaryrefslogtreecommitdiff
path: root/digital/asserv/src/hdlcounter
diff options
context:
space:
mode:
authorNicolas Schodet2008-04-06 23:19:54 +0200
committerNicolas Schodet2008-04-06 23:19:54 +0200
commit9c5a02720e24002720ba9ec1f8168d1658187d13 (patch)
treef3a41f97acc18770092a86927599cb864b45b279 /digital/asserv/src/hdlcounter
parent62e531932663d1d9d21a152b0d905d8588f0b74a (diff)
* digital/asserv:
- divided input counter value by two.
Diffstat (limited to 'digital/asserv/src/hdlcounter')
-rw-r--r--digital/asserv/src/hdlcounter/counter_top.v13
-rw-r--r--digital/asserv/src/hdlcounter/test_counter_top.v2
-rw-r--r--digital/asserv/src/hdlcounter/test_counter_top.wave6
3 files changed, 11 insertions, 10 deletions
diff --git a/digital/asserv/src/hdlcounter/counter_top.v b/digital/asserv/src/hdlcounter/counter_top.v
index ebf9f332..d16800ad 100644
--- a/digital/asserv/src/hdlcounter/counter_top.v
+++ b/digital/asserv/src/hdlcounter/counter_top.v
@@ -36,17 +36,18 @@ module counter_top(clk, rst, q0, q1, q2, q3, ale, rd, wr, ad, i0, i1, ioa,
input [3:0] ioa, ioc;
wire [1:0] qf0, qf1, qf2, qf3;
- wire [size-1:0] count0, count1, count2, count3;
+ wire [size:0] count0, count1;
+ wire [size-1:0] count2, count3;
// Decode encoders outputs.
noise_filter f0[1:0] (clk, rst, q0, qf0);
- quad_decoder_div4 qd0 (clk, rst, qf0, count0);
+ quad_decoder_div4 #(9) qd0 (clk, rst, qf0, count0);
noise_filter f1[1:0] (clk, rst, q1, qf1);
- quad_decoder_div4 qd1 (clk, rst, qf1, count1);
+ quad_decoder_div4 #(9) qd1 (clk, rst, qf1, count1);
input_latch f2[1:0] (clk, rst, q2, qf2);
- quad_decoder_full qd2 (clk, rst, qf2, count2);
+ quad_decoder_div4 qd2 (clk, rst, qf2, count2);
input_latch f3[1:0] (clk, rst, q3, qf3);
quad_decoder_full qd3 (clk, rst, qf3, count3);
@@ -58,8 +59,8 @@ module counter_top(clk, rst, q0, q1, q2, q3, ale, rd, wr, ad, i0, i1, ioa,
if (!rst)
lcount <= 0;
else begin
- lcount <= ad[1:0] == 0 ? count0 :
- ad[1:0] == 1 ? count1 :
+ lcount <= ad[1:0] == 0 ? count0[8:1] :
+ ad[1:0] == 1 ? count1[8:1] :
ad[1:0] == 2 ? count2 :
count3;
end
diff --git a/digital/asserv/src/hdlcounter/test_counter_top.v b/digital/asserv/src/hdlcounter/test_counter_top.v
index 14d67acf..bbcc48be 100644
--- a/digital/asserv/src/hdlcounter/test_counter_top.v
+++ b/digital/asserv/src/hdlcounter/test_counter_top.v
@@ -43,7 +43,7 @@ module test_counter_top();
always #5 clk <= !clk;
// Counter top setup.
- wire [0:nc-1] quad_full = 4'b0011;
+ wire [0:nc-1] quad_full = 4'b0001;
reg [31:0] filter_size[0:nc-1];
parameter max_filter = 7;
initial begin
diff --git a/digital/asserv/src/hdlcounter/test_counter_top.wave b/digital/asserv/src/hdlcounter/test_counter_top.wave
index 0cf65f3c..5e240d82 100644
--- a/digital/asserv/src/hdlcounter/test_counter_top.wave
+++ b/digital/asserv/src/hdlcounter/test_counter_top.wave
@@ -2,7 +2,7 @@
@28
test_counter_top.clk
test_counter_top.rst
-@420
+@22
test_counter_top.countdiv32_0[27:0]
test_counter_top.countdiv32_1[27:0]
test_counter_top.countdiv32_2[27:0]
@@ -13,7 +13,7 @@ test_counter_top.rd
test_counter_top.sel[1:0]
@22
test_counter_top.ad[7:0]
-test_counter_top.uut.count0[7:0]
-test_counter_top.uut.count1[7:0]
+test_counter_top.uut.count0[8:0]
+test_counter_top.uut.count1[8:0]
test_counter_top.uut.count2[7:0]
test_counter_top.uut.count3[7:0]