TA147

Ejecicios y trabajos prácticos de la materia Taller de Sistemas Digitales (TA147)
Index Commits Files Refs
commit 729bc325792658d84f2655105b08762b35f7300e
parent fa9127e0b9a71790de8d4de95bfb4b21cf91cf28
Author: Martin Klöckner <mjkloeckner@gmail.com>
Date:   Thu, 16 Apr 2026 18:53:14 -0300

Add `vhdl/dev/multiplier/**`

Diffstat:
Avhdl/dev/multiplier/Makefile | 24++++++++++++++++++++++++
Avhdl/dev/multiplier/adder.vhd | 28++++++++++++++++++++++++++++
Avhdl/dev/multiplier/multiplier.vhd | 66++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Avhdl/dev/multiplier/multiplier_tb.vcd | 6137+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Avhdl/dev/multiplier/multiplier_tb.vhd | 32++++++++++++++++++++++++++++++++
Avhdl/dev/multiplier/reg.vhd | 35+++++++++++++++++++++++++++++++++++
6 files changed, 6322 insertions(+), 0 deletions(-)
diff --git a/vhdl/dev/multiplier/Makefile b/vhdl/dev/multiplier/Makefile
@@ -0,0 +1,24 @@
+GHDL          = ghdl
+DEV_NAME      = multiplier
+TOP           = $(DEV_NAME)_tb
+TOP_SRC       = $(TOP).vhd
+SRCS          = reg.vhd adder.vhd multiplier.vhd
+WAVEFORM_FILE = $(TOP).vcd
+
+all: run
+
+analyze:
+    $(GHDL) -a $(SRCS)
+    $(GHDL) -a $(TOP_SRC)
+
+elaborate: analyze
+    $(GHDL) -e $(TOP)
+
+run: elaborate
+    $(GHDL) -r $(TOP) --vcd=$(WAVEFORM_FILE) --stop-time=1ms
+
+clean:
+    rm -f *.o *.cf $(TOP) $(TOP).vcd
+
+view: all
+    nohup surfer $(WAVEFORM_FILE) >/dev/null 2>&1 &
diff --git a/vhdl/dev/multiplier/adder.vhd b/vhdl/dev/multiplier/adder.vhd
@@ -0,0 +1,28 @@
+library ieee;
+use ieee.std_logic_1164.all;
+use ieee.numeric_std.all;
+
+entity adder is
+    generic(N : integer := 4); -- number of bits
+    port(
+        -- inputs
+        op_A  : in  std_logic_vector(N-1 downto 0);
+        op_B  : in  std_logic_vector(N-1 downto 0);
+        c_in  : in  std_logic;
+
+        -- outputs
+        res   : out std_logic_vector(N-1 downto 0);
+        c_out : out std_logic);
+end entity;
+
+architecture adder_arq of adder is
+
+    signal res_aux : std_logic_vector(N+1 downto 0);
+
+begin
+
+    res_aux <= std_logic_vector(unsigned('0' & op_A & c_in) + unsigned('0' & op_B & '1'));
+    res <= res_aux(N downto 1);
+    c_out <= res_aux(N+1);
+
+end architecture;
diff --git a/vhdl/dev/multiplier/multiplier.vhd b/vhdl/dev/multiplier/multiplier.vhd
@@ -0,0 +1,66 @@
+library ieee;
+use ieee.std_logic_1164.all;
+use ieee.numeric_std.all;
+
+entity multiplier is
+    generic(N : natural := 8);
+    port(
+        op_A : in std_logic_vector(N-1 downto 0);
+        op_B : in std_logic_vector(N-1 downto 0);
+        load : in std_logic;
+        clk  : in std_logic;
+        res  : out std_logic_vector(2*N-1 downto 0));
+end entity;
+
+architecture multiplier_arq of multiplier is
+    signal in_P, in_B, aux              : std_logic_vector(N-1 downto 0);
+    signal out_P, out_B, out_sum, out_A : std_logic_vector(N-1 downto 0);
+    signal c_out : std_logic;
+
+begin
+
+    reg_A : entity work.reg(reg_arq)
+    generic map(N => 8)
+    port map(
+        D   => op_A,
+        clk => clk,
+        rst => '0',
+        ena => '1',
+        Q   => out_A);
+
+    reg_B : entity work.reg(reg_arq)
+    generic map(N => 8)
+    port map(
+        D   => in_B,
+        clk => clk,
+        rst => '0',
+        ena => '1',
+        Q   => out_B);
+
+    reg_P : entity work.reg(reg_arq)
+    generic map(N => 8)
+    port map(
+        D   => in_P,
+        clk => clk,
+        rst => load,
+        ena => '1',
+        Q   => out_P);
+
+    adder_A : entity work.adder(adder_arq)
+    generic map(N => 8)
+    port map(
+       op_A => out_P,
+       op_B => aux,
+       c_in => '0',
+       res => out_sum,
+       c_out => c_out);
+
+    in_P <= c_out & out_sum(N-1 downto 1);
+
+    in_B <= op_B when load = '1' else out_sum(0) & out_B(N-1 downto 1);
+
+    aux <= out_A when out_B(0) = '1' else (others => '0');
+
+    res <= out_P & out_B;
+
+end architecture;
diff --git a/vhdl/dev/multiplier/multiplier_tb.vcd b/vhdl/dev/multiplier/multiplier_tb.vcd
@@ -0,0 +1,6137 @@
+$date
+  Thu Apr 16 18:47:22 2026
+$end
+$version
+  GHDL v0
+$end
+$timescale
+  1 fs
+$end
+$scope module standard $end
+$upscope $end
+$scope module std_logic_1164 $end
+$upscope $end
+$scope module numeric_std $end
+$upscope $end
+$scope module multiplier_tb $end
+$var reg 8 ! a[7:0] $end
+$var reg 8 " b[7:0] $end
+$var reg 1 # load $end
+$var reg 1 $ clk $end
+$var reg 16 % res[15:0] $end
+$scope module dut $end
+$var reg 8 & op_a[7:0] $end
+$var reg 8 ' op_b[7:0] $end
+$var reg 1 ( load $end
+$var reg 1 ) clk $end
+$var reg 16 * res[15:0] $end
+$var reg 8 + in_p[7:0] $end
+$var reg 8 , in_b[7:0] $end
+$var reg 8 - aux[7:0] $end
+$var reg 8 . out_p[7:0] $end
+$var reg 8 / out_b[7:0] $end
+$var reg 8 0 out_sum[7:0] $end
+$var reg 8 1 out_a[7:0] $end
+$var reg 1 2 c_out $end
+$scope module reg_a $end
+$var reg 8 3 d[7:0] $end
+$var reg 1 4 clk $end
+$var reg 1 5 rst $end
+$var reg 1 6 ena $end
+$var reg 8 7 q[7:0] $end
+$upscope $end
+$scope module reg_b $end
+$var reg 8 8 d[7:0] $end
+$var reg 1 9 clk $end
+$var reg 1 : rst $end
+$var reg 1 ; ena $end
+$var reg 8 < q[7:0] $end
+$upscope $end
+$scope module reg_p $end
+$var reg 8 = d[7:0] $end
+$var reg 1 > clk $end
+$var reg 1 ? rst $end
+$var reg 1 @ ena $end
+$var reg 8 A q[7:0] $end
+$upscope $end
+$scope module adder_a $end
+$var reg 8 B op_a[7:0] $end
+$var reg 8 C op_b[7:0] $end
+$var reg 1 D c_in $end
+$var reg 8 E res[7:0] $end
+$var reg 1 F c_out $end
+$var reg 10 G res_aux[9:0] $end
+$upscope $end
+$upscope $end
+$upscope $end
+$enddefinitions $end
+#0
+b00000001 !
+b00000001 "
+1#
+0$
+bUUUUUUUUUUUUUUUU %
+b00000001 &
+b00000001 '
+1(
+0)
+bUUUUUUUUUUUUUUUU *
+bXXXXXXXX +
+b00000001 ,
+b00000000 -
+bUUUUUUUU .
+bUUUUUUUU /
+bXXXXXXXX 0
+bUUUUUUUU 1
+X2
+b00000001 3
+04
+05
+16
+bUUUUUUUU 7
+b00000001 8
+09
+0:
+1;
+bUUUUUUUU <
+bXXXXXXXX =
+0>
+1?
+1@
+bUUUUUUUU A
+bUUUUUUUU B
+b00000000 C
+0D
+bXXXXXXXX E
+XF
+bXXXXXXXXXX G
+#1000000000
+1$
+b0000000000000001 %
+1)
+b0000000000000001 *
+b00000000 +
+b00000001 -
+b00000000 .
+b00000001 /
+b00000001 0
+b00000001 1
+02
+14
+b00000001 7
+19
+b00000001 <
+b00000000 =
+1>
+b00000000 A
+b00000000 B
+b00000001 C
+b00000001 E
+0F
+b0000000011 G
+#2000000000
+0$
+0)
+04
+09
+0>
+#3000000000
+1$
+1)
+14
+19
+1>
+#4000000000
+0$
+0)
+04
+09
+0>
+#5000000000
+1$
+1)
+14
+19
+1>
+#6000000000
+0$
+0)
+04
+09
+0>
+#7000000000
+1$
+1)
+14
+19
+1>
+#8000000000
+0$
+0)
+04
+09
+0>
+#9000000000
+1$
+1)
+14
+19
+1>
+#10000000000
+0$
+0)
+04
+09
+0>
+#11000000000
+1$
+1)
+14
+19
+1>
+#12000000000
+0$
+0)
+04
+09
+0>
+#13000000000
+1$
+1)
+14
+19
+1>
+#14000000000
+0$
+0)
+04
+09
+0>
+#15000000000
+1$
+1)
+14
+19
+1>
+#16000000000
+0$
+0)
+04
+09
+0>
+#17000000000
+1$
+1)
+14
+19
+1>
+#18000000000
+0$
+0)
+04
+09
+0>
+#19000000000
+1$
+1)
+14
+19
+1>
+#20000000000
+0$
+0)
+04
+09
+0>
+#21000000000
+1$
+1)
+14
+19
+1>
+#22000000000
+0$
+0)
+04
+09
+0>
+#23000000000
+1$
+1)
+14
+19
+1>
+#24000000000
+0$
+0)
+04
+09
+0>
+#25000000000
+1$
+1)
+14
+19
+1>
+#26000000000
+0$
+0)
+04
+09
+0>
+#27000000000
+1$
+1)
+14
+19
+1>
+#28000000000
+0$
+0)
+04
+09
+0>
+#29000000000
+1$
+1)
+14
+19
+1>
+#30000000000
+0$
+0)
+04
+09
+0>
+#31000000000
+1$
+1)
+14
+19
+1>
+#32000000000
+0$
+0)
+04
+09
+0>
+#33000000000
+1$
+1)
+14
+19
+1>
+#34000000000
+0$
+0)
+04
+09
+0>
+#35000000000
+1$
+1)
+14
+19
+1>
+#36000000000
+0$
+0)
+04
+09
+0>
+#37000000000
+1$
+1)
+14
+19
+1>
+#38000000000
+0$
+0)
+04
+09
+0>
+#39000000000
+1$
+1)
+14
+19
+1>
+#40000000000
+0$
+0)
+04
+09
+0>
+#41000000000
+1$
+1)
+14
+19
+1>
+#42000000000
+0$
+0)
+04
+09
+0>
+#43000000000
+1$
+1)
+14
+19
+1>
+#44000000000
+0$
+0)
+04
+09
+0>
+#45000000000
+1$
+1)
+14
+19
+1>
+#46000000000
+0$
+0)
+04
+09
+0>
+#47000000000
+1$
+1)
+14
+19
+1>
+#48000000000
+0$
+0)
+04
+09
+0>
+#49000000000
+1$
+1)
+14
+19
+1>
+#50000000000
+0$
+0)
+04
+09
+0>
+#51000000000
+1$
+1)
+14
+19
+1>
+#52000000000
+0$
+0)
+04
+09
+0>
+#53000000000
+1$
+1)
+14
+19
+1>
+#54000000000
+0$
+0)
+04
+09
+0>
+#55000000000
+1$
+1)
+14
+19
+1>
+#56000000000
+0$
+0)
+04
+09
+0>
+#57000000000
+1$
+1)
+14
+19
+1>
+#58000000000
+0$
+0)
+04
+09
+0>
+#59000000000
+1$
+1)
+14
+19
+1>
+#60000000000
+0$
+0)
+04
+09
+0>
+#61000000000
+1$
+1)
+14
+19
+1>
+#62000000000
+0$
+0)
+04
+09
+0>
+#63000000000
+1$
+1)
+14
+19
+1>
+#64000000000
+0$
+0)
+04
+09
+0>
+#65000000000
+1$
+1)
+14
+19
+1>
+#66000000000
+0$
+0)
+04
+09
+0>
+#67000000000
+1$
+1)
+14
+19
+1>
+#68000000000
+0$
+0)
+04
+09
+0>
+#69000000000
+1$
+1)
+14
+19
+1>
+#70000000000
+0$
+0)
+04
+09
+0>
+#71000000000
+1$
+1)
+14
+19
+1>
+#72000000000
+0$
+0)
+04
+09
+0>
+#73000000000
+1$
+1)
+14
+19
+1>
+#74000000000
+0$
+0)
+04
+09
+0>
+#75000000000
+1$
+1)
+14
+19
+1>
+#76000000000
+0$
+0)
+04
+09
+0>
+#77000000000
+1$
+1)
+14
+19
+1>
+#78000000000
+0$
+0)
+04
+09
+0>
+#79000000000
+1$
+1)
+14
+19
+1>
+#80000000000
+0$
+0)
+04
+09
+0>
+#81000000000
+1$
+1)
+14
+19
+1>
+#82000000000
+0$
+0)
+04
+09
+0>
+#83000000000
+1$
+1)
+14
+19
+1>
+#84000000000
+0$
+0)
+04
+09
+0>
+#85000000000
+1$
+1)
+14
+19
+1>
+#86000000000
+0$
+0)
+04
+09
+0>
+#87000000000
+1$
+1)
+14
+19
+1>
+#88000000000
+0$
+0)
+04
+09
+0>
+#89000000000
+1$
+1)
+14
+19
+1>
+#90000000000
+0$
+0)
+04
+09
+0>
+#91000000000
+1$
+1)
+14
+19
+1>
+#92000000000
+0$
+0)
+04
+09
+0>
+#93000000000
+1$
+1)
+14
+19
+1>
+#94000000000
+0$
+0)
+04
+09
+0>
+#95000000000
+1$
+1)
+14
+19
+1>
+#96000000000
+0$
+0)
+04
+09
+0>
+#97000000000
+1$
+1)
+14
+19
+1>
+#98000000000
+0$
+0)
+04
+09
+0>
+#99000000000
+1$
+1)
+14
+19
+1>
+#100000000000
+b00100000 !
+0$
+b00100000 &
+0)
+b00100000 3
+04
+09
+0>
+#101000000000
+1$
+1)
+b00010000 +
+b00100000 -
+b00100000 0
+b00100000 1
+14
+b00100000 7
+19
+b00010000 =
+1>
+b00100000 C
+b00100000 E
+b0001000001 G
+#102000000000
+0$
+0)
+04
+09
+0>
+#103000000000
+1$
+1)
+14
+19
+1>
+#104000000000
+0$
+0)
+04
+09
+0>
+#105000000000
+1$
+1)
+14
+19
+1>
+#106000000000
+0$
+0)
+04
+09
+0>
+#107000000000
+1$
+1)
+14
+19
+1>
+#108000000000
+0$
+0)
+04
+09
+0>
+#109000000000
+1$
+1)
+14
+19
+1>
+#110000000000
+0$
+0)
+04
+09
+0>
+#111000000000
+1$
+1)
+14
+19
+1>
+#112000000000
+0$
+0)
+04
+09
+0>
+#113000000000
+1$
+1)
+14
+19
+1>
+#114000000000
+0$
+0)
+04
+09
+0>
+#115000000000
+1$
+1)
+14
+19
+1>
+#116000000000
+0$
+0)
+04
+09
+0>
+#117000000000
+1$
+1)
+14
+19
+1>
+#118000000000
+0$
+0)
+04
+09
+0>
+#119000000000
+1$
+1)
+14
+19
+1>
+#120000000000
+0$
+0)
+04
+09
+0>
+#121000000000
+1$
+1)
+14
+19
+1>
+#122000000000
+0$
+0)
+04
+09
+0>
+#123000000000
+1$
+1)
+14
+19
+1>
+#124000000000
+0$
+0)
+04
+09
+0>
+#125000000000
+1$
+1)
+14
+19
+1>
+#126000000000
+0$
+0)
+04
+09
+0>
+#127000000000
+1$
+1)
+14
+19
+1>
+#128000000000
+0$
+0)
+04
+09
+0>
+#129000000000
+1$
+1)
+14
+19
+1>
+#130000000000
+0$
+0)
+04
+09
+0>
+#131000000000
+1$
+1)
+14
+19
+1>
+#132000000000
+0$
+0)
+04
+09
+0>
+#133000000000
+1$
+1)
+14
+19
+1>
+#134000000000
+0$
+0)
+04
+09
+0>
+#135000000000
+1$
+1)
+14
+19
+1>
+#136000000000
+0$
+0)
+04
+09
+0>
+#137000000000
+1$
+1)
+14
+19
+1>
+#138000000000
+0$
+0)
+04
+09
+0>
+#139000000000
+1$
+1)
+14
+19
+1>
+#140000000000
+0$
+0)
+04
+09
+0>
+#141000000000
+1$
+1)
+14
+19
+1>
+#142000000000
+0$
+0)
+04
+09
+0>
+#143000000000
+1$
+1)
+14
+19
+1>
+#144000000000
+0$
+0)
+04
+09
+0>
+#145000000000
+1$
+1)
+14
+19
+1>
+#146000000000
+0$
+0)
+04
+09
+0>
+#147000000000
+1$
+1)
+14
+19
+1>
+#148000000000
+0$
+0)
+04
+09
+0>
+#149000000000
+1$
+1)
+14
+19
+1>
+#150000000000
+0$
+0)
+04
+09
+0>
+#151000000000
+1$
+1)
+14
+19
+1>
+#152000000000
+0$
+0)
+04
+09
+0>
+#153000000000
+1$
+1)
+14
+19
+1>
+#154000000000
+0$
+0)
+04
+09
+0>
+#155000000000
+1$
+1)
+14
+19
+1>
+#156000000000
+0$
+0)
+04
+09
+0>
+#157000000000
+1$
+1)
+14
+19
+1>
+#158000000000
+0$
+0)
+04
+09
+0>
+#159000000000
+1$
+1)
+14
+19
+1>
+#160000000000
+0$
+0)
+04
+09
+0>
+#161000000000
+1$
+1)
+14
+19
+1>
+#162000000000
+0$
+0)
+04
+09
+0>
+#163000000000
+1$
+1)
+14
+19
+1>
+#164000000000
+0$
+0)
+04
+09
+0>
+#165000000000
+1$
+1)
+14
+19
+1>
+#166000000000
+0$
+0)
+04
+09
+0>
+#167000000000
+1$
+1)
+14
+19
+1>
+#168000000000
+0$
+0)
+04
+09
+0>
+#169000000000
+1$
+1)
+14
+19
+1>
+#170000000000
+0$
+0)
+04
+09
+0>
+#171000000000
+1$
+1)
+14
+19
+1>
+#172000000000
+0$
+0)
+04
+09
+0>
+#173000000000
+1$
+1)
+14
+19
+1>
+#174000000000
+0$
+0)
+04
+09
+0>
+#175000000000
+1$
+1)
+14
+19
+1>
+#176000000000
+0$
+0)
+04
+09
+0>
+#177000000000
+1$
+1)
+14
+19
+1>
+#178000000000
+0$
+0)
+04
+09
+0>
+#179000000000
+1$
+1)
+14
+19
+1>
+#180000000000
+0$
+0)
+04
+09
+0>
+#181000000000
+1$
+1)
+14
+19
+1>
+#182000000000
+0$
+0)
+04
+09
+0>
+#183000000000
+1$
+1)
+14
+19
+1>
+#184000000000
+0$
+0)
+04
+09
+0>
+#185000000000
+1$
+1)
+14
+19
+1>
+#186000000000
+0$
+0)
+04
+09
+0>
+#187000000000
+1$
+1)
+14
+19
+1>
+#188000000000
+0$
+0)
+04
+09
+0>
+#189000000000
+1$
+1)
+14
+19
+1>
+#190000000000
+0$
+0)
+04
+09
+0>
+#191000000000
+1$
+1)
+14
+19
+1>
+#192000000000
+0$
+0)
+04
+09
+0>
+#193000000000
+1$
+1)
+14
+19
+1>
+#194000000000
+0$
+0)
+04
+09
+0>
+#195000000000
+1$
+1)
+14
+19
+1>
+#196000000000
+0$
+0)
+04
+09
+0>
+#197000000000
+1$
+1)
+14
+19
+1>
+#198000000000
+0$
+0)
+04
+09
+0>
+#199000000000
+1$
+1)
+14
+19
+1>
+#200000000000
+0$
+0)
+04
+09
+0>
+#201000000000
+1$
+1)
+14
+19
+1>
+#202000000000
+0$
+0)
+04
+09
+0>
+#203000000000
+1$
+1)
+14
+19
+1>
+#204000000000
+0$
+0)
+04
+09
+0>
+#205000000000
+1$
+1)
+14
+19
+1>
+#206000000000
+0$
+0)
+04
+09
+0>
+#207000000000
+1$
+1)
+14
+19
+1>
+#208000000000
+0$
+0)
+04
+09
+0>
+#209000000000
+1$
+1)
+14
+19
+1>
+#210000000000
+0$
+0)
+04
+09
+0>
+#211000000000
+1$
+1)
+14
+19
+1>
+#212000000000
+0$
+0)
+04
+09
+0>
+#213000000000
+1$
+1)
+14
+19
+1>
+#214000000000
+0$
+0)
+04
+09
+0>
+#215000000000
+1$
+1)
+14
+19
+1>
+#216000000000
+0$
+0)
+04
+09
+0>
+#217000000000
+1$
+1)
+14
+19
+1>
+#218000000000
+0$
+0)
+04
+09
+0>
+#219000000000
+1$
+1)
+14
+19
+1>
+#220000000000
+0$
+0)
+04
+09
+0>
+#221000000000
+1$
+1)
+14
+19
+1>
+#222000000000
+0$
+0)
+04
+09
+0>
+#223000000000
+1$
+1)
+14
+19
+1>
+#224000000000
+0$
+0)
+04
+09
+0>
+#225000000000
+1$
+1)
+14
+19
+1>
+#226000000000
+0$
+0)
+04
+09
+0>
+#227000000000
+1$
+1)
+14
+19
+1>
+#228000000000
+0$
+0)
+04
+09
+0>
+#229000000000
+1$
+1)
+14
+19
+1>
+#230000000000
+0$
+0)
+04
+09
+0>
+#231000000000
+1$
+1)
+14
+19
+1>
+#232000000000
+0$
+0)
+04
+09
+0>
+#233000000000
+1$
+1)
+14
+19
+1>
+#234000000000
+0$
+0)
+04
+09
+0>
+#235000000000
+1$
+1)
+14
+19
+1>
+#236000000000
+0$
+0)
+04
+09
+0>
+#237000000000
+1$
+1)
+14
+19
+1>
+#238000000000
+0$
+0)
+04
+09
+0>
+#239000000000
+1$
+1)
+14
+19
+1>
+#240000000000
+0$
+0)
+04
+09
+0>
+#241000000000
+1$
+1)
+14
+19
+1>
+#242000000000
+0$
+0)
+04
+09
+0>
+#243000000000
+1$
+1)
+14
+19
+1>
+#244000000000
+0$
+0)
+04
+09
+0>
+#245000000000
+1$
+1)
+14
+19
+1>
+#246000000000
+0$
+0)
+04
+09
+0>
+#247000000000
+1$
+1)
+14
+19
+1>
+#248000000000
+0$
+0)
+04
+09
+0>
+#249000000000
+1$
+1)
+14
+19
+1>
+#250000000000
+0$
+0)
+04
+09
+0>
+#251000000000
+1$
+1)
+14
+19
+1>
+#252000000000
+0$
+0)
+04
+09
+0>
+#253000000000
+1$
+1)
+14
+19
+1>
+#254000000000
+0$
+0)
+04
+09
+0>
+#255000000000
+1$
+1)
+14
+19
+1>
+#256000000000
+0$
+0)
+04
+09
+0>
+#257000000000
+1$
+1)
+14
+19
+1>
+#258000000000
+0$
+0)
+04
+09
+0>
+#259000000000
+1$
+1)
+14
+19
+1>
+#260000000000
+0$
+0)
+04
+09
+0>
+#261000000000
+1$
+1)
+14
+19
+1>
+#262000000000
+0$
+0)
+04
+09
+0>
+#263000000000
+1$
+1)
+14
+19
+1>
+#264000000000
+0$
+0)
+04
+09
+0>
+#265000000000
+1$
+1)
+14
+19
+1>
+#266000000000
+0$
+0)
+04
+09
+0>
+#267000000000
+1$
+1)
+14
+19
+1>
+#268000000000
+0$
+0)
+04
+09
+0>
+#269000000000
+1$
+1)
+14
+19
+1>
+#270000000000
+0$
+0)
+04
+09
+0>
+#271000000000
+1$
+1)
+14
+19
+1>
+#272000000000
+0$
+0)
+04
+09
+0>
+#273000000000
+1$
+1)
+14
+19
+1>
+#274000000000
+0$
+0)
+04
+09
+0>
+#275000000000
+1$
+1)
+14
+19
+1>
+#276000000000
+0$
+0)
+04
+09
+0>
+#277000000000
+1$
+1)
+14
+19
+1>
+#278000000000
+0$
+0)
+04
+09
+0>
+#279000000000
+1$
+1)
+14
+19
+1>
+#280000000000
+0$
+0)
+04
+09
+0>
+#281000000000
+1$
+1)
+14
+19
+1>
+#282000000000
+0$
+0)
+04
+09
+0>
+#283000000000
+1$
+1)
+14
+19
+1>
+#284000000000
+0$
+0)
+04
+09
+0>
+#285000000000
+1$
+1)
+14
+19
+1>
+#286000000000
+0$
+0)
+04
+09
+0>
+#287000000000
+1$
+1)
+14
+19
+1>
+#288000000000
+0$
+0)
+04
+09
+0>
+#289000000000
+1$
+1)
+14
+19
+1>
+#290000000000
+0$
+0)
+04
+09
+0>
+#291000000000
+1$
+1)
+14
+19
+1>
+#292000000000
+0$
+0)
+04
+09
+0>
+#293000000000
+1$
+1)
+14
+19
+1>
+#294000000000
+0$
+0)
+04
+09
+0>
+#295000000000
+1$
+1)
+14
+19
+1>
+#296000000000
+0$
+0)
+04
+09
+0>
+#297000000000
+1$
+1)
+14
+19
+1>
+#298000000000
+0$
+0)
+04
+09
+0>
+#299000000000
+1$
+1)
+14
+19
+1>
+#300000000000
+0$
+0)
+04
+09
+0>
+#301000000000
+1$
+1)
+14
+19
+1>
+#302000000000
+0$
+0)
+04
+09
+0>
+#303000000000
+1$
+1)
+14
+19
+1>
+#304000000000
+0$
+0)
+04
+09
+0>
+#305000000000
+1$
+1)
+14
+19
+1>
+#306000000000
+0$
+0)
+04
+09
+0>
+#307000000000
+1$
+1)
+14
+19
+1>
+#308000000000
+0$
+0)
+04
+09
+0>
+#309000000000
+1$
+1)
+14
+19
+1>
+#310000000000
+0$
+0)
+04
+09
+0>
+#311000000000
+1$
+1)
+14
+19
+1>
+#312000000000
+0$
+0)
+04
+09
+0>
+#313000000000
+1$
+1)
+14
+19
+1>
+#314000000000
+0$
+0)
+04
+09
+0>
+#315000000000
+1$
+1)
+14
+19
+1>
+#316000000000
+0$
+0)
+04
+09
+0>
+#317000000000
+1$
+1)
+14
+19
+1>
+#318000000000
+0$
+0)
+04
+09
+0>
+#319000000000
+1$
+1)
+14
+19
+1>
+#320000000000
+0$
+0)
+04
+09
+0>
+#321000000000
+1$
+1)
+14
+19
+1>
+#322000000000
+0$
+0)
+04
+09
+0>
+#323000000000
+1$
+1)
+14
+19
+1>
+#324000000000
+0$
+0)
+04
+09
+0>
+#325000000000
+1$
+1)
+14
+19
+1>
+#326000000000
+0$
+0)
+04
+09
+0>
+#327000000000
+1$
+1)
+14
+19
+1>
+#328000000000
+0$
+0)
+04
+09
+0>
+#329000000000
+1$
+1)
+14
+19
+1>
+#330000000000
+0$
+0)
+04
+09
+0>
+#331000000000
+1$
+1)
+14
+19
+1>
+#332000000000
+0$
+0)
+04
+09
+0>
+#333000000000
+1$
+1)
+14
+19
+1>
+#334000000000
+0$
+0)
+04
+09
+0>
+#335000000000
+1$
+1)
+14
+19
+1>
+#336000000000
+0$
+0)
+04
+09
+0>
+#337000000000
+1$
+1)
+14
+19
+1>
+#338000000000
+0$
+0)
+04
+09
+0>
+#339000000000
+1$
+1)
+14
+19
+1>
+#340000000000
+0$
+0)
+04
+09
+0>
+#341000000000
+1$
+1)
+14
+19
+1>
+#342000000000
+0$
+0)
+04
+09
+0>
+#343000000000
+1$
+1)
+14
+19
+1>
+#344000000000
+0$
+0)
+04
+09
+0>
+#345000000000
+1$
+1)
+14
+19
+1>
+#346000000000
+0$
+0)
+04
+09
+0>
+#347000000000
+1$
+1)
+14
+19
+1>
+#348000000000
+0$
+0)
+04
+09
+0>
+#349000000000
+1$
+1)
+14
+19
+1>
+#350000000000
+0$
+0)
+04
+09
+0>
+#351000000000
+1$
+1)
+14
+19
+1>
+#352000000000
+0$
+0)
+04
+09
+0>
+#353000000000
+1$
+1)
+14
+19
+1>
+#354000000000
+0$
+0)
+04
+09
+0>
+#355000000000
+1$
+1)
+14
+19
+1>
+#356000000000
+0$
+0)
+04
+09
+0>
+#357000000000
+1$
+1)
+14
+19
+1>
+#358000000000
+0$
+0)
+04
+09
+0>
+#359000000000
+1$
+1)
+14
+19
+1>
+#360000000000
+0$
+0)
+04
+09
+0>
+#361000000000
+1$
+1)
+14
+19
+1>
+#362000000000
+0$
+0)
+04
+09
+0>
+#363000000000
+1$
+1)
+14
+19
+1>
+#364000000000
+0$
+0)
+04
+09
+0>
+#365000000000
+1$
+1)
+14
+19
+1>
+#366000000000
+0$
+0)
+04
+09
+0>
+#367000000000
+1$
+1)
+14
+19
+1>
+#368000000000
+0$
+0)
+04
+09
+0>
+#369000000000
+1$
+1)
+14
+19
+1>
+#370000000000
+0$
+0)
+04
+09
+0>
+#371000000000
+1$
+1)
+14
+19
+1>
+#372000000000
+0$
+0)
+04
+09
+0>
+#373000000000
+1$
+1)
+14
+19
+1>
+#374000000000
+0$
+0)
+04
+09
+0>
+#375000000000
+1$
+1)
+14
+19
+1>
+#376000000000
+0$
+0)
+04
+09
+0>
+#377000000000
+1$
+1)
+14
+19
+1>
+#378000000000
+0$
+0)
+04
+09
+0>
+#379000000000
+1$
+1)
+14
+19
+1>
+#380000000000
+0$
+0)
+04
+09
+0>
+#381000000000
+1$
+1)
+14
+19
+1>
+#382000000000
+0$
+0)
+04
+09
+0>
+#383000000000
+1$
+1)
+14
+19
+1>
+#384000000000
+0$
+0)
+04
+09
+0>
+#385000000000
+1$
+1)
+14
+19
+1>
+#386000000000
+0$
+0)
+04
+09
+0>
+#387000000000
+1$
+1)
+14
+19
+1>
+#388000000000
+0$
+0)
+04
+09
+0>
+#389000000000
+1$
+1)
+14
+19
+1>
+#390000000000
+0$
+0)
+04
+09
+0>
+#391000000000
+1$
+1)
+14
+19
+1>
+#392000000000
+0$
+0)
+04
+09
+0>
+#393000000000
+1$
+1)
+14
+19
+1>
+#394000000000
+0$
+0)
+04
+09
+0>
+#395000000000
+1$
+1)
+14
+19
+1>
+#396000000000
+0$
+0)
+04
+09
+0>
+#397000000000
+1$
+1)
+14
+19
+1>
+#398000000000
+0$
+0)
+04
+09
+0>
+#399000000000
+1$
+1)
+14
+19
+1>
+#400000000000
+0$
+0)
+04
+09
+0>
+#401000000000
+1$
+1)
+14
+19
+1>
+#402000000000
+0$
+0)
+04
+09
+0>
+#403000000000
+1$
+1)
+14
+19
+1>
+#404000000000
+0$
+0)
+04
+09
+0>
+#405000000000
+1$
+1)
+14
+19
+1>
+#406000000000
+0$
+0)
+04
+09
+0>
+#407000000000
+1$
+1)
+14
+19
+1>
+#408000000000
+0$
+0)
+04
+09
+0>
+#409000000000
+1$
+1)
+14
+19
+1>
+#410000000000
+0$
+0)
+04
+09
+0>
+#411000000000
+1$
+1)
+14
+19
+1>
+#412000000000
+0$
+0)
+04
+09
+0>
+#413000000000
+1$
+1)
+14
+19
+1>
+#414000000000
+0$
+0)
+04
+09
+0>
+#415000000000
+1$
+1)
+14
+19
+1>
+#416000000000
+0$
+0)
+04
+09
+0>
+#417000000000
+1$
+1)
+14
+19
+1>
+#418000000000
+0$
+0)
+04
+09
+0>
+#419000000000
+1$
+1)
+14
+19
+1>
+#420000000000
+0$
+0)
+04
+09
+0>
+#421000000000
+1$
+1)
+14
+19
+1>
+#422000000000
+0$
+0)
+04
+09
+0>
+#423000000000
+1$
+1)
+14
+19
+1>
+#424000000000
+0$
+0)
+04
+09
+0>
+#425000000000
+1$
+1)
+14
+19
+1>
+#426000000000
+0$
+0)
+04
+09
+0>
+#427000000000
+1$
+1)
+14
+19
+1>
+#428000000000
+0$
+0)
+04
+09
+0>
+#429000000000
+1$
+1)
+14
+19
+1>
+#430000000000
+0$
+0)
+04
+09
+0>
+#431000000000
+1$
+1)
+14
+19
+1>
+#432000000000
+0$
+0)
+04
+09
+0>
+#433000000000
+1$
+1)
+14
+19
+1>
+#434000000000
+0$
+0)
+04
+09
+0>
+#435000000000
+1$
+1)
+14
+19
+1>
+#436000000000
+0$
+0)
+04
+09
+0>
+#437000000000
+1$
+1)
+14
+19
+1>
+#438000000000
+0$
+0)
+04
+09
+0>
+#439000000000
+1$
+1)
+14
+19
+1>
+#440000000000
+0$
+0)
+04
+09
+0>
+#441000000000
+1$
+1)
+14
+19
+1>
+#442000000000
+0$
+0)
+04
+09
+0>
+#443000000000
+1$
+1)
+14
+19
+1>
+#444000000000
+0$
+0)
+04
+09
+0>
+#445000000000
+1$
+1)
+14
+19
+1>
+#446000000000
+0$
+0)
+04
+09
+0>
+#447000000000
+1$
+1)
+14
+19
+1>
+#448000000000
+0$
+0)
+04
+09
+0>
+#449000000000
+1$
+1)
+14
+19
+1>
+#450000000000
+0$
+0)
+04
+09
+0>
+#451000000000
+1$
+1)
+14
+19
+1>
+#452000000000
+0$
+0)
+04
+09
+0>
+#453000000000
+1$
+1)
+14
+19
+1>
+#454000000000
+0$
+0)
+04
+09
+0>
+#455000000000
+1$
+1)
+14
+19
+1>
+#456000000000
+0$
+0)
+04
+09
+0>
+#457000000000
+1$
+1)
+14
+19
+1>
+#458000000000
+0$
+0)
+04
+09
+0>
+#459000000000
+1$
+1)
+14
+19
+1>
+#460000000000
+0$
+0)
+04
+09
+0>
+#461000000000
+1$
+1)
+14
+19
+1>
+#462000000000
+0$
+0)
+04
+09
+0>
+#463000000000
+1$
+1)
+14
+19
+1>
+#464000000000
+0$
+0)
+04
+09
+0>
+#465000000000
+1$
+1)
+14
+19
+1>
+#466000000000
+0$
+0)
+04
+09
+0>
+#467000000000
+1$
+1)
+14
+19
+1>
+#468000000000
+0$
+0)
+04
+09
+0>
+#469000000000
+1$
+1)
+14
+19
+1>
+#470000000000
+0$
+0)
+04
+09
+0>
+#471000000000
+1$
+1)
+14
+19
+1>
+#472000000000
+0$
+0)
+04
+09
+0>
+#473000000000
+1$
+1)
+14
+19
+1>
+#474000000000
+0$
+0)
+04
+09
+0>
+#475000000000
+1$
+1)
+14
+19
+1>
+#476000000000
+0$
+0)
+04
+09
+0>
+#477000000000
+1$
+1)
+14
+19
+1>
+#478000000000
+0$
+0)
+04
+09
+0>
+#479000000000
+1$
+1)
+14
+19
+1>
+#480000000000
+0$
+0)
+04
+09
+0>
+#481000000000
+1$
+1)
+14
+19
+1>
+#482000000000
+0$
+0)
+04
+09
+0>
+#483000000000
+1$
+1)
+14
+19
+1>
+#484000000000
+0$
+0)
+04
+09
+0>
+#485000000000
+1$
+1)
+14
+19
+1>
+#486000000000
+0$
+0)
+04
+09
+0>
+#487000000000
+1$
+1)
+14
+19
+1>
+#488000000000
+0$
+0)
+04
+09
+0>
+#489000000000
+1$
+1)
+14
+19
+1>
+#490000000000
+0$
+0)
+04
+09
+0>
+#491000000000
+1$
+1)
+14
+19
+1>
+#492000000000
+0$
+0)
+04
+09
+0>
+#493000000000
+1$
+1)
+14
+19
+1>
+#494000000000
+0$
+0)
+04
+09
+0>
+#495000000000
+1$
+1)
+14
+19
+1>
+#496000000000
+0$
+0)
+04
+09
+0>
+#497000000000
+1$
+1)
+14
+19
+1>
+#498000000000
+0$
+0)
+04
+09
+0>
+#499000000000
+1$
+1)
+14
+19
+1>
+#500000000000
+0$
+0)
+04
+09
+0>
+#501000000000
+1$
+1)
+14
+19
+1>
+#502000000000
+0$
+0)
+04
+09
+0>
+#503000000000
+1$
+1)
+14
+19
+1>
+#504000000000
+0$
+0)
+04
+09
+0>
+#505000000000
+1$
+1)
+14
+19
+1>
+#506000000000
+0$
+0)
+04
+09
+0>
+#507000000000
+1$
+1)
+14
+19
+1>
+#508000000000
+0$
+0)
+04
+09
+0>
+#509000000000
+1$
+1)
+14
+19
+1>
+#510000000000
+0$
+0)
+04
+09
+0>
+#511000000000
+1$
+1)
+14
+19
+1>
+#512000000000
+0$
+0)
+04
+09
+0>
+#513000000000
+1$
+1)
+14
+19
+1>
+#514000000000
+0$
+0)
+04
+09
+0>
+#515000000000
+1$
+1)
+14
+19
+1>
+#516000000000
+0$
+0)
+04
+09
+0>
+#517000000000
+1$
+1)
+14
+19
+1>
+#518000000000
+0$
+0)
+04
+09
+0>
+#519000000000
+1$
+1)
+14
+19
+1>
+#520000000000
+0$
+0)
+04
+09
+0>
+#521000000000
+1$
+1)
+14
+19
+1>
+#522000000000
+0$
+0)
+04
+09
+0>
+#523000000000
+1$
+1)
+14
+19
+1>
+#524000000000
+0$
+0)
+04
+09
+0>
+#525000000000
+1$
+1)
+14
+19
+1>
+#526000000000
+0$
+0)
+04
+09
+0>
+#527000000000
+1$
+1)
+14
+19
+1>
+#528000000000
+0$
+0)
+04
+09
+0>
+#529000000000
+1$
+1)
+14
+19
+1>
+#530000000000
+0$
+0)
+04
+09
+0>
+#531000000000
+1$
+1)
+14
+19
+1>
+#532000000000
+0$
+0)
+04
+09
+0>
+#533000000000
+1$
+1)
+14
+19
+1>
+#534000000000
+0$
+0)
+04
+09
+0>
+#535000000000
+1$
+1)
+14
+19
+1>
+#536000000000
+0$
+0)
+04
+09
+0>
+#537000000000
+1$
+1)
+14
+19
+1>
+#538000000000
+0$
+0)
+04
+09
+0>
+#539000000000
+1$
+1)
+14
+19
+1>
+#540000000000
+0$
+0)
+04
+09
+0>
+#541000000000
+1$
+1)
+14
+19
+1>
+#542000000000
+0$
+0)
+04
+09
+0>
+#543000000000
+1$
+1)
+14
+19
+1>
+#544000000000
+0$
+0)
+04
+09
+0>
+#545000000000
+1$
+1)
+14
+19
+1>
+#546000000000
+0$
+0)
+04
+09
+0>
+#547000000000
+1$
+1)
+14
+19
+1>
+#548000000000
+0$
+0)
+04
+09
+0>
+#549000000000
+1$
+1)
+14
+19
+1>
+#550000000000
+0$
+0)
+04
+09
+0>
+#551000000000
+1$
+1)
+14
+19
+1>
+#552000000000
+0$
+0)
+04
+09
+0>
+#553000000000
+1$
+1)
+14
+19
+1>
+#554000000000
+0$
+0)
+04
+09
+0>
+#555000000000
+1$
+1)
+14
+19
+1>
+#556000000000
+0$
+0)
+04
+09
+0>
+#557000000000
+1$
+1)
+14
+19
+1>
+#558000000000
+0$
+0)
+04
+09
+0>
+#559000000000
+1$
+1)
+14
+19
+1>
+#560000000000
+0$
+0)
+04
+09
+0>
+#561000000000
+1$
+1)
+14
+19
+1>
+#562000000000
+0$
+0)
+04
+09
+0>
+#563000000000
+1$
+1)
+14
+19
+1>
+#564000000000
+0$
+0)
+04
+09
+0>
+#565000000000
+1$
+1)
+14
+19
+1>
+#566000000000
+0$
+0)
+04
+09
+0>
+#567000000000
+1$
+1)
+14
+19
+1>
+#568000000000
+0$
+0)
+04
+09
+0>
+#569000000000
+1$
+1)
+14
+19
+1>
+#570000000000
+0$
+0)
+04
+09
+0>
+#571000000000
+1$
+1)
+14
+19
+1>
+#572000000000
+0$
+0)
+04
+09
+0>
+#573000000000
+1$
+1)
+14
+19
+1>
+#574000000000
+0$
+0)
+04
+09
+0>
+#575000000000
+1$
+1)
+14
+19
+1>
+#576000000000
+0$
+0)
+04
+09
+0>
+#577000000000
+1$
+1)
+14
+19
+1>
+#578000000000
+0$
+0)
+04
+09
+0>
+#579000000000
+1$
+1)
+14
+19
+1>
+#580000000000
+0$
+0)
+04
+09
+0>
+#581000000000
+1$
+1)
+14
+19
+1>
+#582000000000
+0$
+0)
+04
+09
+0>
+#583000000000
+1$
+1)
+14
+19
+1>
+#584000000000
+0$
+0)
+04
+09
+0>
+#585000000000
+1$
+1)
+14
+19
+1>
+#586000000000
+0$
+0)
+04
+09
+0>
+#587000000000
+1$
+1)
+14
+19
+1>
+#588000000000
+0$
+0)
+04
+09
+0>
+#589000000000
+1$
+1)
+14
+19
+1>
+#590000000000
+0$
+0)
+04
+09
+0>
+#591000000000
+1$
+1)
+14
+19
+1>
+#592000000000
+0$
+0)
+04
+09
+0>
+#593000000000
+1$
+1)
+14
+19
+1>
+#594000000000
+0$
+0)
+04
+09
+0>
+#595000000000
+1$
+1)
+14
+19
+1>
+#596000000000
+0$
+0)
+04
+09
+0>
+#597000000000
+1$
+1)
+14
+19
+1>
+#598000000000
+0$
+0)
+04
+09
+0>
+#599000000000
+1$
+1)
+14
+19
+1>
+#600000000000
+0$
+0)
+04
+09
+0>
+#601000000000
+1$
+1)
+14
+19
+1>
+#602000000000
+0$
+0)
+04
+09
+0>
+#603000000000
+1$
+1)
+14
+19
+1>
+#604000000000
+0$
+0)
+04
+09
+0>
+#605000000000
+1$
+1)
+14
+19
+1>
+#606000000000
+0$
+0)
+04
+09
+0>
+#607000000000
+1$
+1)
+14
+19
+1>
+#608000000000
+0$
+0)
+04
+09
+0>
+#609000000000
+1$
+1)
+14
+19
+1>
+#610000000000
+0$
+0)
+04
+09
+0>
+#611000000000
+1$
+1)
+14
+19
+1>
+#612000000000
+0$
+0)
+04
+09
+0>
+#613000000000
+1$
+1)
+14
+19
+1>
+#614000000000
+0$
+0)
+04
+09
+0>
+#615000000000
+1$
+1)
+14
+19
+1>
+#616000000000
+0$
+0)
+04
+09
+0>
+#617000000000
+1$
+1)
+14
+19
+1>
+#618000000000
+0$
+0)
+04
+09
+0>
+#619000000000
+1$
+1)
+14
+19
+1>
+#620000000000
+0$
+0)
+04
+09
+0>
+#621000000000
+1$
+1)
+14
+19
+1>
+#622000000000
+0$
+0)
+04
+09
+0>
+#623000000000
+1$
+1)
+14
+19
+1>
+#624000000000
+0$
+0)
+04
+09
+0>
+#625000000000
+1$
+1)
+14
+19
+1>
+#626000000000
+0$
+0)
+04
+09
+0>
+#627000000000
+1$
+1)
+14
+19
+1>
+#628000000000
+0$
+0)
+04
+09
+0>
+#629000000000
+1$
+1)
+14
+19
+1>
+#630000000000
+0$
+0)
+04
+09
+0>
+#631000000000
+1$
+1)
+14
+19
+1>
+#632000000000
+0$
+0)
+04
+09
+0>
+#633000000000
+1$
+1)
+14
+19
+1>
+#634000000000
+0$
+0)
+04
+09
+0>
+#635000000000
+1$
+1)
+14
+19
+1>
+#636000000000
+0$
+0)
+04
+09
+0>
+#637000000000
+1$
+1)
+14
+19
+1>
+#638000000000
+0$
+0)
+04
+09
+0>
+#639000000000
+1$
+1)
+14
+19
+1>
+#640000000000
+0$
+0)
+04
+09
+0>
+#641000000000
+1$
+1)
+14
+19
+1>
+#642000000000
+0$
+0)
+04
+09
+0>
+#643000000000
+1$
+1)
+14
+19
+1>
+#644000000000
+0$
+0)
+04
+09
+0>
+#645000000000
+1$
+1)
+14
+19
+1>
+#646000000000
+0$
+0)
+04
+09
+0>
+#647000000000
+1$
+1)
+14
+19
+1>
+#648000000000
+0$
+0)
+04
+09
+0>
+#649000000000
+1$
+1)
+14
+19
+1>
+#650000000000
+0$
+0)
+04
+09
+0>
+#651000000000
+1$
+1)
+14
+19
+1>
+#652000000000
+0$
+0)
+04
+09
+0>
+#653000000000
+1$
+1)
+14
+19
+1>
+#654000000000
+0$
+0)
+04
+09
+0>
+#655000000000
+1$
+1)
+14
+19
+1>
+#656000000000
+0$
+0)
+04
+09
+0>
+#657000000000
+1$
+1)
+14
+19
+1>
+#658000000000
+0$
+0)
+04
+09
+0>
+#659000000000
+1$
+1)
+14
+19
+1>
+#660000000000
+0$
+0)
+04
+09
+0>
+#661000000000
+1$
+1)
+14
+19
+1>
+#662000000000
+0$
+0)
+04
+09
+0>
+#663000000000
+1$
+1)
+14
+19
+1>
+#664000000000
+0$
+0)
+04
+09
+0>
+#665000000000
+1$
+1)
+14
+19
+1>
+#666000000000
+0$
+0)
+04
+09
+0>
+#667000000000
+1$
+1)
+14
+19
+1>
+#668000000000
+0$
+0)
+04
+09
+0>
+#669000000000
+1$
+1)
+14
+19
+1>
+#670000000000
+0$
+0)
+04
+09
+0>
+#671000000000
+1$
+1)
+14
+19
+1>
+#672000000000
+0$
+0)
+04
+09
+0>
+#673000000000
+1$
+1)
+14
+19
+1>
+#674000000000
+0$
+0)
+04
+09
+0>
+#675000000000
+1$
+1)
+14
+19
+1>
+#676000000000
+0$
+0)
+04
+09
+0>
+#677000000000
+1$
+1)
+14
+19
+1>
+#678000000000
+0$
+0)
+04
+09
+0>
+#679000000000
+1$
+1)
+14
+19
+1>
+#680000000000
+0$
+0)
+04
+09
+0>
+#681000000000
+1$
+1)
+14
+19
+1>
+#682000000000
+0$
+0)
+04
+09
+0>
+#683000000000
+1$
+1)
+14
+19
+1>
+#684000000000
+0$
+0)
+04
+09
+0>
+#685000000000
+1$
+1)
+14
+19
+1>
+#686000000000
+0$
+0)
+04
+09
+0>
+#687000000000
+1$
+1)
+14
+19
+1>
+#688000000000
+0$
+0)
+04
+09
+0>
+#689000000000
+1$
+1)
+14
+19
+1>
+#690000000000
+0$
+0)
+04
+09
+0>
+#691000000000
+1$
+1)
+14
+19
+1>
+#692000000000
+0$
+0)
+04
+09
+0>
+#693000000000
+1$
+1)
+14
+19
+1>
+#694000000000
+0$
+0)
+04
+09
+0>
+#695000000000
+1$
+1)
+14
+19
+1>
+#696000000000
+0$
+0)
+04
+09
+0>
+#697000000000
+1$
+1)
+14
+19
+1>
+#698000000000
+0$
+0)
+04
+09
+0>
+#699000000000
+1$
+1)
+14
+19
+1>
+#700000000000
+0$
+0)
+04
+09
+0>
+#701000000000
+1$
+1)
+14
+19
+1>
+#702000000000
+0$
+0)
+04
+09
+0>
+#703000000000
+1$
+1)
+14
+19
+1>
+#704000000000
+0$
+0)
+04
+09
+0>
+#705000000000
+1$
+1)
+14
+19
+1>
+#706000000000
+0$
+0)
+04
+09
+0>
+#707000000000
+1$
+1)
+14
+19
+1>
+#708000000000
+0$
+0)
+04
+09
+0>
+#709000000000
+1$
+1)
+14
+19
+1>
+#710000000000
+0$
+0)
+04
+09
+0>
+#711000000000
+1$
+1)
+14
+19
+1>
+#712000000000
+0$
+0)
+04
+09
+0>
+#713000000000
+1$
+1)
+14
+19
+1>
+#714000000000
+0$
+0)
+04
+09
+0>
+#715000000000
+1$
+1)
+14
+19
+1>
+#716000000000
+0$
+0)
+04
+09
+0>
+#717000000000
+1$
+1)
+14
+19
+1>
+#718000000000
+0$
+0)
+04
+09
+0>
+#719000000000
+1$
+1)
+14
+19
+1>
+#720000000000
+0$
+0)
+04
+09
+0>
+#721000000000
+1$
+1)
+14
+19
+1>
+#722000000000
+0$
+0)
+04
+09
+0>
+#723000000000
+1$
+1)
+14
+19
+1>
+#724000000000
+0$
+0)
+04
+09
+0>
+#725000000000
+1$
+1)
+14
+19
+1>
+#726000000000
+0$
+0)
+04
+09
+0>
+#727000000000
+1$
+1)
+14
+19
+1>
+#728000000000
+0$
+0)
+04
+09
+0>
+#729000000000
+1$
+1)
+14
+19
+1>
+#730000000000
+0$
+0)
+04
+09
+0>
+#731000000000
+1$
+1)
+14
+19
+1>
+#732000000000
+0$
+0)
+04
+09
+0>
+#733000000000
+1$
+1)
+14
+19
+1>
+#734000000000
+0$
+0)
+04
+09
+0>
+#735000000000
+1$
+1)
+14
+19
+1>
+#736000000000
+0$
+0)
+04
+09
+0>
+#737000000000
+1$
+1)
+14
+19
+1>
+#738000000000
+0$
+0)
+04
+09
+0>
+#739000000000
+1$
+1)
+14
+19
+1>
+#740000000000
+0$
+0)
+04
+09
+0>
+#741000000000
+1$
+1)
+14
+19
+1>
+#742000000000
+0$
+0)
+04
+09
+0>
+#743000000000
+1$
+1)
+14
+19
+1>
+#744000000000
+0$
+0)
+04
+09
+0>
+#745000000000
+1$
+1)
+14
+19
+1>
+#746000000000
+0$
+0)
+04
+09
+0>
+#747000000000
+1$
+1)
+14
+19
+1>
+#748000000000
+0$
+0)
+04
+09
+0>
+#749000000000
+1$
+1)
+14
+19
+1>
+#750000000000
+0$
+0)
+04
+09
+0>
+#751000000000
+1$
+1)
+14
+19
+1>
+#752000000000
+0$
+0)
+04
+09
+0>
+#753000000000
+1$
+1)
+14
+19
+1>
+#754000000000
+0$
+0)
+04
+09
+0>
+#755000000000
+1$
+1)
+14
+19
+1>
+#756000000000
+0$
+0)
+04
+09
+0>
+#757000000000
+1$
+1)
+14
+19
+1>
+#758000000000
+0$
+0)
+04
+09
+0>
+#759000000000
+1$
+1)
+14
+19
+1>
+#760000000000
+0$
+0)
+04
+09
+0>
+#761000000000
+1$
+1)
+14
+19
+1>
+#762000000000
+0$
+0)
+04
+09
+0>
+#763000000000
+1$
+1)
+14
+19
+1>
+#764000000000
+0$
+0)
+04
+09
+0>
+#765000000000
+1$
+1)
+14
+19
+1>
+#766000000000
+0$
+0)
+04
+09
+0>
+#767000000000
+1$
+1)
+14
+19
+1>
+#768000000000
+0$
+0)
+04
+09
+0>
+#769000000000
+1$
+1)
+14
+19
+1>
+#770000000000
+0$
+0)
+04
+09
+0>
+#771000000000
+1$
+1)
+14
+19
+1>
+#772000000000
+0$
+0)
+04
+09
+0>
+#773000000000
+1$
+1)
+14
+19
+1>
+#774000000000
+0$
+0)
+04
+09
+0>
+#775000000000
+1$
+1)
+14
+19
+1>
+#776000000000
+0$
+0)
+04
+09
+0>
+#777000000000
+1$
+1)
+14
+19
+1>
+#778000000000
+0$
+0)
+04
+09
+0>
+#779000000000
+1$
+1)
+14
+19
+1>
+#780000000000
+0$
+0)
+04
+09
+0>
+#781000000000
+1$
+1)
+14
+19
+1>
+#782000000000
+0$
+0)
+04
+09
+0>
+#783000000000
+1$
+1)
+14
+19
+1>
+#784000000000
+0$
+0)
+04
+09
+0>
+#785000000000
+1$
+1)
+14
+19
+1>
+#786000000000
+0$
+0)
+04
+09
+0>
+#787000000000
+1$
+1)
+14
+19
+1>
+#788000000000
+0$
+0)
+04
+09
+0>
+#789000000000
+1$
+1)
+14
+19
+1>
+#790000000000
+0$
+0)
+04
+09
+0>
+#791000000000
+1$
+1)
+14
+19
+1>
+#792000000000
+0$
+0)
+04
+09
+0>
+#793000000000
+1$
+1)
+14
+19
+1>
+#794000000000
+0$
+0)
+04
+09
+0>
+#795000000000
+1$
+1)
+14
+19
+1>
+#796000000000
+0$
+0)
+04
+09
+0>
+#797000000000
+1$
+1)
+14
+19
+1>
+#798000000000
+0$
+0)
+04
+09
+0>
+#799000000000
+1$
+1)
+14
+19
+1>
+#800000000000
+0$
+0)
+04
+09
+0>
+#801000000000
+1$
+1)
+14
+19
+1>
+#802000000000
+0$
+0)
+04
+09
+0>
+#803000000000
+1$
+1)
+14
+19
+1>
+#804000000000
+0$
+0)
+04
+09
+0>
+#805000000000
+1$
+1)
+14
+19
+1>
+#806000000000
+0$
+0)
+04
+09
+0>
+#807000000000
+1$
+1)
+14
+19
+1>
+#808000000000
+0$
+0)
+04
+09
+0>
+#809000000000
+1$
+1)
+14
+19
+1>
+#810000000000
+0$
+0)
+04
+09
+0>
+#811000000000
+1$
+1)
+14
+19
+1>
+#812000000000
+0$
+0)
+04
+09
+0>
+#813000000000
+1$
+1)
+14
+19
+1>
+#814000000000
+0$
+0)
+04
+09
+0>
+#815000000000
+1$
+1)
+14
+19
+1>
+#816000000000
+0$
+0)
+04
+09
+0>
+#817000000000
+1$
+1)
+14
+19
+1>
+#818000000000
+0$
+0)
+04
+09
+0>
+#819000000000
+1$
+1)
+14
+19
+1>
+#820000000000
+0$
+0)
+04
+09
+0>
+#821000000000
+1$
+1)
+14
+19
+1>
+#822000000000
+0$
+0)
+04
+09
+0>
+#823000000000
+1$
+1)
+14
+19
+1>
+#824000000000
+0$
+0)
+04
+09
+0>
+#825000000000
+1$
+1)
+14
+19
+1>
+#826000000000
+0$
+0)
+04
+09
+0>
+#827000000000
+1$
+1)
+14
+19
+1>
+#828000000000
+0$
+0)
+04
+09
+0>
+#829000000000
+1$
+1)
+14
+19
+1>
+#830000000000
+0$
+0)
+04
+09
+0>
+#831000000000
+1$
+1)
+14
+19
+1>
+#832000000000
+0$
+0)
+04
+09
+0>
+#833000000000
+1$
+1)
+14
+19
+1>
+#834000000000
+0$
+0)
+04
+09
+0>
+#835000000000
+1$
+1)
+14
+19
+1>
+#836000000000
+0$
+0)
+04
+09
+0>
+#837000000000
+1$
+1)
+14
+19
+1>
+#838000000000
+0$
+0)
+04
+09
+0>
+#839000000000
+1$
+1)
+14
+19
+1>
+#840000000000
+0$
+0)
+04
+09
+0>
+#841000000000
+1$
+1)
+14
+19
+1>
+#842000000000
+0$
+0)
+04
+09
+0>
+#843000000000
+1$
+1)
+14
+19
+1>
+#844000000000
+0$
+0)
+04
+09
+0>
+#845000000000
+1$
+1)
+14
+19
+1>
+#846000000000
+0$
+0)
+04
+09
+0>
+#847000000000
+1$
+1)
+14
+19
+1>
+#848000000000
+0$
+0)
+04
+09
+0>
+#849000000000
+1$
+1)
+14
+19
+1>
+#850000000000
+0$
+0)
+04
+09
+0>
+#851000000000
+1$
+1)
+14
+19
+1>
+#852000000000
+0$
+0)
+04
+09
+0>
+#853000000000
+1$
+1)
+14
+19
+1>
+#854000000000
+0$
+0)
+04
+09
+0>
+#855000000000
+1$
+1)
+14
+19
+1>
+#856000000000
+0$
+0)
+04
+09
+0>
+#857000000000
+1$
+1)
+14
+19
+1>
+#858000000000
+0$
+0)
+04
+09
+0>
+#859000000000
+1$
+1)
+14
+19
+1>
+#860000000000
+0$
+0)
+04
+09
+0>
+#861000000000
+1$
+1)
+14
+19
+1>
+#862000000000
+0$
+0)
+04
+09
+0>
+#863000000000
+1$
+1)
+14
+19
+1>
+#864000000000
+0$
+0)
+04
+09
+0>
+#865000000000
+1$
+1)
+14
+19
+1>
+#866000000000
+0$
+0)
+04
+09
+0>
+#867000000000
+1$
+1)
+14
+19
+1>
+#868000000000
+0$
+0)
+04
+09
+0>
+#869000000000
+1$
+1)
+14
+19
+1>
+#870000000000
+0$
+0)
+04
+09
+0>
+#871000000000
+1$
+1)
+14
+19
+1>
+#872000000000
+0$
+0)
+04
+09
+0>
+#873000000000
+1$
+1)
+14
+19
+1>
+#874000000000
+0$
+0)
+04
+09
+0>
+#875000000000
+1$
+1)
+14
+19
+1>
+#876000000000
+0$
+0)
+04
+09
+0>
+#877000000000
+1$
+1)
+14
+19
+1>
+#878000000000
+0$
+0)
+04
+09
+0>
+#879000000000
+1$
+1)
+14
+19
+1>
+#880000000000
+0$
+0)
+04
+09
+0>
+#881000000000
+1$
+1)
+14
+19
+1>
+#882000000000
+0$
+0)
+04
+09
+0>
+#883000000000
+1$
+1)
+14
+19
+1>
+#884000000000
+0$
+0)
+04
+09
+0>
+#885000000000
+1$
+1)
+14
+19
+1>
+#886000000000
+0$
+0)
+04
+09
+0>
+#887000000000
+1$
+1)
+14
+19
+1>
+#888000000000
+0$
+0)
+04
+09
+0>
+#889000000000
+1$
+1)
+14
+19
+1>
+#890000000000
+0$
+0)
+04
+09
+0>
+#891000000000
+1$
+1)
+14
+19
+1>
+#892000000000
+0$
+0)
+04
+09
+0>
+#893000000000
+1$
+1)
+14
+19
+1>
+#894000000000
+0$
+0)
+04
+09
+0>
+#895000000000
+1$
+1)
+14
+19
+1>
+#896000000000
+0$
+0)
+04
+09
+0>
+#897000000000
+1$
+1)
+14
+19
+1>
+#898000000000
+0$
+0)
+04
+09
+0>
+#899000000000
+1$
+1)
+14
+19
+1>
+#900000000000
+0$
+0)
+04
+09
+0>
+#901000000000
+1$
+1)
+14
+19
+1>
+#902000000000
+0$
+0)
+04
+09
+0>
+#903000000000
+1$
+1)
+14
+19
+1>
+#904000000000
+0$
+0)
+04
+09
+0>
+#905000000000
+1$
+1)
+14
+19
+1>
+#906000000000
+0$
+0)
+04
+09
+0>
+#907000000000
+1$
+1)
+14
+19
+1>
+#908000000000
+0$
+0)
+04
+09
+0>
+#909000000000
+1$
+1)
+14
+19
+1>
+#910000000000
+0$
+0)
+04
+09
+0>
+#911000000000
+1$
+1)
+14
+19
+1>
+#912000000000
+0$
+0)
+04
+09
+0>
+#913000000000
+1$
+1)
+14
+19
+1>
+#914000000000
+0$
+0)
+04
+09
+0>
+#915000000000
+1$
+1)
+14
+19
+1>
+#916000000000
+0$
+0)
+04
+09
+0>
+#917000000000
+1$
+1)
+14
+19
+1>
+#918000000000
+0$
+0)
+04
+09
+0>
+#919000000000
+1$
+1)
+14
+19
+1>
+#920000000000
+0$
+0)
+04
+09
+0>
+#921000000000
+1$
+1)
+14
+19
+1>
+#922000000000
+0$
+0)
+04
+09
+0>
+#923000000000
+1$
+1)
+14
+19
+1>
+#924000000000
+0$
+0)
+04
+09
+0>
+#925000000000
+1$
+1)
+14
+19
+1>
+#926000000000
+0$
+0)
+04
+09
+0>
+#927000000000
+1$
+1)
+14
+19
+1>
+#928000000000
+0$
+0)
+04
+09
+0>
+#929000000000
+1$
+1)
+14
+19
+1>
+#930000000000
+0$
+0)
+04
+09
+0>
+#931000000000
+1$
+1)
+14
+19
+1>
+#932000000000
+0$
+0)
+04
+09
+0>
+#933000000000
+1$
+1)
+14
+19
+1>
+#934000000000
+0$
+0)
+04
+09
+0>
+#935000000000
+1$
+1)
+14
+19
+1>
+#936000000000
+0$
+0)
+04
+09
+0>
+#937000000000
+1$
+1)
+14
+19
+1>
+#938000000000
+0$
+0)
+04
+09
+0>
+#939000000000
+1$
+1)
+14
+19
+1>
+#940000000000
+0$
+0)
+04
+09
+0>
+#941000000000
+1$
+1)
+14
+19
+1>
+#942000000000
+0$
+0)
+04
+09
+0>
+#943000000000
+1$
+1)
+14
+19
+1>
+#944000000000
+0$
+0)
+04
+09
+0>
+#945000000000
+1$
+1)
+14
+19
+1>
+#946000000000
+0$
+0)
+04
+09
+0>
+#947000000000
+1$
+1)
+14
+19
+1>
+#948000000000
+0$
+0)
+04
+09
+0>
+#949000000000
+1$
+1)
+14
+19
+1>
+#950000000000
+0$
+0)
+04
+09
+0>
+#951000000000
+1$
+1)
+14
+19
+1>
+#952000000000
+0$
+0)
+04
+09
+0>
+#953000000000
+1$
+1)
+14
+19
+1>
+#954000000000
+0$
+0)
+04
+09
+0>
+#955000000000
+1$
+1)
+14
+19
+1>
+#956000000000
+0$
+0)
+04
+09
+0>
+#957000000000
+1$
+1)
+14
+19
+1>
+#958000000000
+0$
+0)
+04
+09
+0>
+#959000000000
+1$
+1)
+14
+19
+1>
+#960000000000
+0$
+0)
+04
+09
+0>
+#961000000000
+1$
+1)
+14
+19
+1>
+#962000000000
+0$
+0)
+04
+09
+0>
+#963000000000
+1$
+1)
+14
+19
+1>
+#964000000000
+0$
+0)
+04
+09
+0>
+#965000000000
+1$
+1)
+14
+19
+1>
+#966000000000
+0$
+0)
+04
+09
+0>
+#967000000000
+1$
+1)
+14
+19
+1>
+#968000000000
+0$
+0)
+04
+09
+0>
+#969000000000
+1$
+1)
+14
+19
+1>
+#970000000000
+0$
+0)
+04
+09
+0>
+#971000000000
+1$
+1)
+14
+19
+1>
+#972000000000
+0$
+0)
+04
+09
+0>
+#973000000000
+1$
+1)
+14
+19
+1>
+#974000000000
+0$
+0)
+04
+09
+0>
+#975000000000
+1$
+1)
+14
+19
+1>
+#976000000000
+0$
+0)
+04
+09
+0>
+#977000000000
+1$
+1)
+14
+19
+1>
+#978000000000
+0$
+0)
+04
+09
+0>
+#979000000000
+1$
+1)
+14
+19
+1>
+#980000000000
+0$
+0)
+04
+09
+0>
+#981000000000
+1$
+1)
+14
+19
+1>
+#982000000000
+0$
+0)
+04
+09
+0>
+#983000000000
+1$
+1)
+14
+19
+1>
+#984000000000
+0$
+0)
+04
+09
+0>
+#985000000000
+1$
+1)
+14
+19
+1>
+#986000000000
+0$
+0)
+04
+09
+0>
+#987000000000
+1$
+1)
+14
+19
+1>
+#988000000000
+0$
+0)
+04
+09
+0>
+#989000000000
+1$
+1)
+14
+19
+1>
+#990000000000
+0$
+0)
+04
+09
+0>
+#991000000000
+1$
+1)
+14
+19
+1>
+#992000000000
+0$
+0)
+04
+09
+0>
+#993000000000
+1$
+1)
+14
+19
+1>
+#994000000000
+0$
+0)
+04
+09
+0>
+#995000000000
+1$
+1)
+14
+19
+1>
+#996000000000
+0$
+0)
+04
+09
+0>
+#997000000000
+1$
+1)
+14
+19
+1>
+#998000000000
+0$
+0)
+04
+09
+0>
+#999000000000
+1$
+1)
+14
+19
+1>
+#1000000000000
+0$
+0)
+04
+09
+0>
diff --git a/vhdl/dev/multiplier/multiplier_tb.vhd b/vhdl/dev/multiplier/multiplier_tb.vhd
@@ -0,0 +1,32 @@
+library ieee;
+use ieee.std_logic_1164.all;
+use ieee.numeric_std.all;
+
+entity multiplier_tb is
+end entity;
+
+architecture multiplier_tb_arq of multiplier_tb is
+
+    constant N : integer := 8;
+
+    signal A    : std_logic_vector(N - 1 downto 0) := x"01";
+    signal B    : std_logic_vector(N - 1 downto 0) := x"01";
+    signal load : std_logic := '1';
+    signal clk  : std_logic := '0';
+    signal res  : std_logic_vector(2*N-1 downto 0);
+
+begin
+
+    DUT : entity work.multiplier(multiplier_arq) 
+    generic map(N => N)
+    port map(
+        op_A => A,
+        op_B => B,
+        load => load,
+        clk => clk,
+        res => res);
+
+    clk <= not clk after 1 us;
+    A <= x"20" after 100 us;
+
+end architecture;
diff --git a/vhdl/dev/multiplier/reg.vhd b/vhdl/dev/multiplier/reg.vhd
@@ -0,0 +1,35 @@
+library ieee;
+use ieee.std_logic_1164.all;
+use ieee.numeric_std.all;
+
+entity reg is
+    generic(N: integer:= 4);
+    port(
+        -- inputs
+        D   : in  std_logic_vector(N-1 downto 0);
+        clk : in  std_logic;
+        rst : in  std_logic;
+        ena : in  std_logic;
+
+        -- outputs
+        Q   : out std_logic_vector(N-1 downto 0)
+    );
+end;
+
+architecture reg_arq of reg is
+begin
+
+    process(clk, rst)
+    begin
+
+        if rising_edge(clk) then
+            if rst = '1' then
+                Q <= (others => '0');
+            elsif ena = '1' then
+                Q <= D;
+            end if;
+        end if;
+
+    end process;
+
+end architecture;