Forum Discussion
Altera_Forum
Honored Contributor
15 years agotestbench integer type
Dear all, Below is my testbench code that i simulate in ModelSim. --------------------------------------------------------------------- library IEEE; use IEEE.Std_logic_1164.all; use IE...
Altera_Forum
Honored Contributor
15 years agoDear Tricky,
The run length is 1000ns. Yes, when I simulate the haar.vhd in Quartus there is no problem. The outputs is obtained correctly. Below is my haar.vhd code: --------------------------------------------------------------------------- LIBRARY ieee; USE ieee.ALL; ENTITY haar IS PORT ( clock : IN bit; -- Inputs in1 : IN integer RANGE -127 TO 127; in2 : IN integer RANGE -127 TO 127; in3 : IN integer RANGE -127 TO 127; in4 : IN integer RANGE -127 TO 127; in5 : IN integer RANGE -127 TO 127; in6 : IN integer RANGE -127 TO 127; in7 : IN integer RANGE -127 TO 127; in8 : IN integer RANGE -127 TO 127; --Outputs out1 : OUT integer RANGE -127 TO 127; out2 : OUT integer RANGE -127 TO 127; out3 : OUT integer RANGE -127 TO 127; out4 : OUT integer RANGE -127 TO 127; out5 : OUT integer RANGE -127 TO 127; out6 : OUT integer RANGE -127 TO 127; out7 : OUT integer RANGE -127 TO 127; out8 : OUT integer RANGE -127 TO 127 ); END haar; ARCHITECTURE haar OF haar IS COMPONENT reg PORT ( input : IN integer RANGE -127 TO 127; clk : IN bit; output : OUT integer RANGE -127 TO 127 ); END COMPONENT; COMPONENT adddiv PORT ( a : IN integer RANGE -127 TO 127; b : IN integer RANGE -127 TO 127; clk : IN bit; c : OUT integer RANGE -127 TO 127 ); END COMPONENT; COMPONENT difference PORT ( a : IN integer RANGE -127 TO 127; b : IN integer RANGE -127 TO 127; clk : IN bit; c : OUT integer RANGE -127 TO 127 ); END COMPONENT; SIGNAL out_r1, out_r2, out_r3, out_r4, out_r5, out_r6, out_r7, out_r8, out_r9, out_r10, out_r11, out_r12, out_r13, out_r14, out_r15, out_r16, out_r17, out_r18, out_r19, out_r20, out_r21, out_r22, out_r23, out_r24 : integer RANGE -127 TO 127; SIGNAL out_a1, out_a2, out_a3, out_a4, out_a5, out_a6, out_a7 : integer RANGE -127 TO 127; SIGNAL out_s1, out_s2, out_s3, out_s4, out_s5, out_s6, out_s7 : integer RANGE -127 TO 127; SIGNAL clk : bit; BEGIN -- Input to Register 1 r1: reg PORT MAP ( in1, clk, out_r1 ); r2: reg PORT MAP ( in2, clk, out_r2 ); r3: reg PORT MAP ( in3, clk, out_r3 ); r4: reg PORT MAP ( in4, clk, out_r4 ); r5: reg PORT MAP ( in5, clk, out_r5 ); r6: reg PORT MAP ( in6, clk, out_r6 ); r7: reg PORT MAP ( in7, clk, out_r7 ); r8: reg PORT MAP ( in8, clk, out_r8 ); -- Input to Add_Divide and Difference for stage 1 a1: adddiv PORT MAP ( out_r1, out_r2, clk, out_a1 ); a2: adddiv PORT MAP ( out_r3, out_r4, clk, out_a2 ); a3: adddiv PORT MAP ( out_r5, out_r6, clk, out_a3 ); a4: adddiv PORT MAP ( out_r7, out_r8, clk, out_a4 ); s1: difference PORT MAP ( out_r1, out_r2, clk, out_s1 ); s2: difference PORT MAP ( out_r3, out_r4, clk, out_s2 ); s3: difference PORT MAP ( out_r5, out_r6, clk, out_s3 ); s4: difference PORT MAP ( out_r7, out_r8, clk, out_s4 ); --Input to Register 2 r9: reg PORT MAP ( out_a1, clk, out_r9 ); r10: reg PORT MAP ( out_a2, clk, out_r10 ); r11: reg PORT MAP ( out_a3, clk, out_r11 ); r12: reg PORT MAP ( out_a4, clk, out_r12 ); r13: reg PORT MAP ( out_s1, clk, out_r13 ); r14: reg PORT MAP ( out_s2, clk, out_r14 ); r15: reg PORT MAP ( out_s3, clk, out_r15 ); r16: reg PORT MAP ( out_s4, clk, out_r16 ); -- Input to AddDiv and Difference for stage 2 a5: adddiv PORT MAP ( out_r9, out_r10, clk, out_a5 ); a6: adddiv PORT MAP ( out_r11, out_r12, clk, out_a6 ); s5: difference PORT MAP ( out_r9, out_r10, clk, out_s5 ); s6: difference PORT MAP ( out_r11, out_r12, clk, out_s6 ); --Input to Register 3 r17: reg PORT MAP ( out_a5, clk, out_r17 ); r18: reg PORT MAP ( out_a6, clk, out_r18 ); r19: reg PORT MAP ( out_s5, clk, out_r19 ); r20: reg PORT MAP ( out_s6, clk, out_r20 ); r21: reg PORT MAP ( out_r13, clk, out_r21 ); r22: reg PORT MAP ( out_r14, clk, out_r22 ); r23: reg PORT MAP ( out_r15, clk, out_r23 ); r24: reg PORT MAP ( out_r16, clk, out_r24 ); --Input to AddDiv and Difference for stage 3 a7: adddiv PORT MAP ( out_r17, out_r18, clk, out_a7 ); s7: difference PORT MAP ( out_r17, out_r18, clk, out_s7 ); --Input to Register 4 r25: reg PORT MAP ( out_a7, clk, out1 ); r26: reg PORT MAP ( out_s7, clk, out2 ); r27: reg PORT MAP ( out_r19, clk, out3 ); r28: reg PORT MAP ( out_r20, clk, out4 ); r29: reg PORT MAP ( out_r21, clk, out5 ); r30: reg PORT MAP ( out_r22, clk, out6 ); r31: reg PORT MAP ( out_r23, clk, out7 ); r32: reg PORT MAP ( out_r24, clk, out8 ); END haar; Where's I'm wrong? Many thanks