@@ -0,0 +1,122 | |||
|
1 | LIBRARY ieee; | |
|
2 | USE ieee.std_logic_1164.ALL; | |
|
3 | LIBRARY lpp; | |
|
4 | USE lpp.lpp_ad_conv.ALL; | |
|
5 | ||
|
6 | ------------------------------------------------------------------------------- | |
|
7 | ||
|
8 | ENTITY TB_Data_Acquisition IS | |
|
9 | ||
|
10 | END TB_Data_Acquisition; | |
|
11 | ||
|
12 | ------------------------------------------------------------------------------- | |
|
13 | ||
|
14 | ARCHITECTURE tb OF TB_Data_Acquisition IS | |
|
15 | ||
|
16 | COMPONENT TestModule_ADS7886 | |
|
17 | GENERIC ( | |
|
18 | freq : INTEGER; | |
|
19 | amplitude : INTEGER; | |
|
20 | impulsion : INTEGER); | |
|
21 | PORT ( | |
|
22 | cnv_run : IN STD_LOGIC; | |
|
23 | cnv : IN STD_LOGIC; | |
|
24 | sck : IN STD_LOGIC; | |
|
25 | sdo : OUT STD_LOGIC); | |
|
26 | END COMPONENT; | |
|
27 | ||
|
28 | COMPONENT Top_Data_Acquisition | |
|
29 | PORT ( | |
|
30 | cnv_run : IN STD_LOGIC; | |
|
31 | cnv : OUT STD_LOGIC; | |
|
32 | sck : OUT STD_LOGIC; | |
|
33 | sdo : IN STD_LOGIC_VECTOR(7 DOWNTO 0); | |
|
34 | cnv_clk : IN STD_LOGIC; | |
|
35 | cnv_rstn : IN STD_LOGIC; | |
|
36 | clk : IN STD_LOGIC; | |
|
37 | rstn : IN STD_LOGIC); | |
|
38 | END COMPONENT; | |
|
39 | ||
|
40 | -- component ports | |
|
41 | SIGNAL cnv_rstn : STD_LOGIC; | |
|
42 | SIGNAL cnv : STD_LOGIC; | |
|
43 | SIGNAL rstn : STD_LOGIC; | |
|
44 | SIGNAL sck : STD_LOGIC; | |
|
45 | SIGNAL sdo : STD_LOGIC_VECTOR(7 DOWNTO 0); | |
|
46 | SIGNAL run_cnv : STD_LOGIC; | |
|
47 | ||
|
48 | ||
|
49 | -- clock | |
|
50 | signal Clk : STD_LOGIC := '1'; | |
|
51 | SIGNAL cnv_clk : STD_LOGIC := '1'; | |
|
52 | ||
|
53 | ||
|
54 | BEGIN -- tb | |
|
55 | ||
|
56 | MODULE_ADS7886: FOR I IN 0 TO 6 GENERATE | |
|
57 | TestModule_ADS7886_u: TestModule_ADS7886 | |
|
58 | GENERIC MAP ( | |
|
59 | freq => 24*(I+1), | |
|
60 | amplitude => 30000/(I+1), | |
|
61 | impulsion => 0) | |
|
62 | PORT MAP ( | |
|
63 | cnv_run => run_cnv, | |
|
64 | cnv => cnv, | |
|
65 | sck => sck, | |
|
66 | sdo => sdo(I)); | |
|
67 | END GENERATE MODULE_ADS7886; | |
|
68 | ||
|
69 | TestModule_ADS7886_u: TestModule_ADS7886 | |
|
70 | GENERIC MAP ( | |
|
71 | freq => 0, | |
|
72 | amplitude => 30000, | |
|
73 | impulsion => 1) | |
|
74 | PORT MAP ( | |
|
75 | cnv_run => run_cnv, | |
|
76 | cnv => cnv, | |
|
77 | sck => sck, | |
|
78 | sdo => sdo(7)); | |
|
79 | ||
|
80 | ||
|
81 | -- clock generation | |
|
82 | Clk <= not Clk after 20 ns; -- 25 Mhz | |
|
83 | cnv_clk <= not cnv_clk after 10173 ps; -- 49.152 MHz | |
|
84 | ||
|
85 | -- waveform generation | |
|
86 | WaveGen_Proc: process | |
|
87 | begin | |
|
88 | -- insert signal assignments here | |
|
89 | wait until Clk = '1'; | |
|
90 | rstn <= '0'; | |
|
91 | cnv_rstn <= '0'; | |
|
92 | run_cnv <= '0'; | |
|
93 | wait until Clk = '1'; | |
|
94 | wait until Clk = '1'; | |
|
95 | wait until Clk = '1'; | |
|
96 | rstn <= '1'; | |
|
97 | cnv_rstn <= '1'; | |
|
98 | wait until Clk = '1'; | |
|
99 | wait until Clk = '1'; | |
|
100 | wait until Clk = '1'; | |
|
101 | wait until Clk = '1'; | |
|
102 | wait until Clk = '1'; | |
|
103 | wait until Clk = '1'; | |
|
104 | run_cnv <= '1'; | |
|
105 | wait; | |
|
106 | ||
|
107 | end process WaveGen_Proc; | |
|
108 | ||
|
109 | ----------------------------------------------------------------------------- | |
|
110 | ||
|
111 | Top_Data_Acquisition_1: Top_Data_Acquisition | |
|
112 | PORT MAP ( | |
|
113 | cnv_run => run_cnv, | |
|
114 | cnv => cnv, | |
|
115 | sck => sck, | |
|
116 | sdo => sdo, | |
|
117 | cnv_clk => cnv_clk, | |
|
118 | cnv_rstn => cnv_rstn, | |
|
119 | clk => clk, | |
|
120 | rstn => rstn); | |
|
121 | ||
|
122 | END tb; |
@@ -0,0 +1,155 | |||
|
1 | LIBRARY ieee; | |
|
2 | USE ieee.std_logic_1164.ALL; | |
|
3 | LIBRARY lpp; | |
|
4 | USE lpp.lpp_ad_conv.ALL; | |
|
5 | use lpp.iir_filter.all; | |
|
6 | use lpp.FILTERcfg.all; | |
|
7 | ||
|
8 | ENTITY Top_Data_Acquisition IS | |
|
9 | PORT ( | |
|
10 | -- ADS7886 | |
|
11 | cnv_run : IN STD_LOGIC; | |
|
12 | cnv : OUT STD_LOGIC; | |
|
13 | sck : OUT STD_LOGIC; | |
|
14 | sdo : IN STD_LOGIC_VECTOR(7 DOWNTO 0); | |
|
15 | -- | |
|
16 | cnv_clk : IN STD_LOGIC; | |
|
17 | cnv_rstn : IN STD_LOGIC; | |
|
18 | -- | |
|
19 | clk : IN STD_LOGIC; | |
|
20 | rstn : IN STD_LOGIC | |
|
21 | ||
|
22 | ); | |
|
23 | END Top_Data_Acquisition; | |
|
24 | ||
|
25 | ARCHITECTURE tb OF Top_Data_Acquisition IS | |
|
26 | ||
|
27 | ----------------------------------------------------------------------------- | |
|
28 | CONSTANT ChanelCount : INTEGER := 8; | |
|
29 | CONSTANT ncycle_cnv_high : INTEGER := 79; | |
|
30 | CONSTANT ncycle_cnv : INTEGER := 500; | |
|
31 | ||
|
32 | ----------------------------------------------------------------------------- | |
|
33 | SIGNAL sample : Samples(ChanelCount-1 DOWNTO 0); | |
|
34 | SIGNAL sample_val : STD_LOGIC; | |
|
35 | SIGNAL sample_val_delay : STD_LOGIC; | |
|
36 | ----------------------------------------------------------------------------- | |
|
37 | CONSTANT Coef_SZ : integer := 9; | |
|
38 | CONSTANT CoefCntPerCel: integer := 6; | |
|
39 | CONSTANT CoefPerCel : integer := 5; | |
|
40 | CONSTANT Cels_count : integer := 5; | |
|
41 | ||
|
42 | signal coefs : std_logic_vector((Coef_SZ*CoefCntPerCel*Cels_count)-1 downto 0); | |
|
43 | signal coefs_JC : std_logic_vector((Coef_SZ*CoefPerCel*Cels_count)-1 downto 0); | |
|
44 | signal sample_filter_in : samplT(ChanelCount-1 downto 0,17 downto 0); | |
|
45 | signal sample_filter_out : samplT(ChanelCount-1 downto 0,17 downto 0); | |
|
46 | -- | |
|
47 | signal sample_filter_JC_out_val : STD_LOGIC; | |
|
48 | signal sample_filter_JC_out : samplT(ChanelCount-1 downto 0,17 downto 0); | |
|
49 | -- | |
|
50 | signal sample_filter_JC_out_r_val : STD_LOGIC; | |
|
51 | signal sample_filter_JC_out_r : samplT(ChanelCount-1 downto 0,17 downto 0); | |
|
52 | ||
|
53 | BEGIN | |
|
54 | ||
|
55 | -- component instantiation | |
|
56 | ----------------------------------------------------------------------------- | |
|
57 | DIGITAL_acquisition: ADS7886_drvr | |
|
58 | GENERIC MAP ( | |
|
59 | ChanelCount => ChanelCount, | |
|
60 | ncycle_cnv_high => ncycle_cnv_high, | |
|
61 | ncycle_cnv => ncycle_cnv) | |
|
62 | PORT MAP ( | |
|
63 | cnv_clk => cnv_clk, -- | |
|
64 | cnv_rstn => cnv_rstn, -- | |
|
65 | cnv_run => cnv_run, -- | |
|
66 | cnv => cnv, -- | |
|
67 | clk => clk, -- | |
|
68 | rstn => rstn, -- | |
|
69 | sck => sck, -- | |
|
70 | sdo => sdo(ChanelCount-1 DOWNTO 0), -- | |
|
71 | sample => sample, | |
|
72 | sample_val => sample_val); | |
|
73 | ||
|
74 | ----------------------------------------------------------------------------- | |
|
75 | ||
|
76 | PROCESS (clk, rstn) | |
|
77 | BEGIN -- PROCESS | |
|
78 | IF rstn = '0' THEN -- asynchronous reset (active low) | |
|
79 | sample_val_delay <= '0'; | |
|
80 | ELSIF clk'event AND clk = '1' THEN -- rising clock edge | |
|
81 | sample_val_delay <= sample_val; | |
|
82 | END IF; | |
|
83 | END PROCESS; | |
|
84 | ||
|
85 | ----------------------------------------------------------------------------- | |
|
86 | ChanelLoop: for i in 0 to ChanelCount-1 generate | |
|
87 | SampleLoop: for j in 0 to 15 generate | |
|
88 | sample_filter_in(i,j) <= sample(i)(j); | |
|
89 | end generate; | |
|
90 | ||
|
91 | sample_filter_in(i,16) <= sample(i)(15); | |
|
92 | sample_filter_in(i,17) <= sample(i)(15); | |
|
93 | end generate; | |
|
94 | ||
|
95 | coefs <= CoefsInitValCst; | |
|
96 | coefs_JC <= CoefsInitValCst_JC; | |
|
97 | ||
|
98 | FILTER: IIR_CEL_CTRLR | |
|
99 | GENERIC MAP ( | |
|
100 | tech => 0, | |
|
101 | Sample_SZ => 18, | |
|
102 | ChanelsCount => ChanelCount, | |
|
103 | Coef_SZ => Coef_SZ, | |
|
104 | CoefCntPerCel => CoefCntPerCel, | |
|
105 | Cels_count => Cels_count, | |
|
106 | Mem_use => use_CEL) -- use_CEL for SIMU, use_RAM for synthesis | |
|
107 | PORT MAP ( | |
|
108 | reset => rstn, | |
|
109 | clk => clk, | |
|
110 | sample_clk => sample_val_delay, | |
|
111 | sample_in => sample_filter_in, | |
|
112 | sample_out => sample_filter_out, | |
|
113 | virg_pos => 7, | |
|
114 | GOtest => OPEN, | |
|
115 | coefs => coefs); | |
|
116 | ||
|
117 | IIR_CEL_CTRLR_v2_1: IIR_CEL_CTRLR_v2 | |
|
118 | GENERIC MAP ( | |
|
119 | tech => 0, | |
|
120 | Mem_use => use_CEL, | |
|
121 | Sample_SZ => 18, | |
|
122 | Coef_SZ => Coef_SZ, | |
|
123 | Coef_Nb => 25, -- TODO | |
|
124 | Coef_sel_SZ => 5, -- TODO | |
|
125 | Cels_count => Cels_count, | |
|
126 | ChanelsCount => ChanelCount) | |
|
127 | PORT MAP ( | |
|
128 | rstn => rstn, | |
|
129 | clk => clk, | |
|
130 | virg_pos => 7, | |
|
131 | coefs => coefs_JC, | |
|
132 | sample_in_val => sample_val_delay, | |
|
133 | sample_in => sample_filter_in, | |
|
134 | sample_out_val => sample_filter_JC_out_val, | |
|
135 | sample_out => sample_filter_JC_out); | |
|
136 | ||
|
137 | ----------------------------------------------------------------------------- | |
|
138 | PROCESS (clk, rstn) | |
|
139 | BEGIN -- PROCESS | |
|
140 | IF rstn = '0' THEN -- asynchronous reset (active low) | |
|
141 | sample_filter_JC_out_r_val <= '0'; | |
|
142 | rst_all_chanel: FOR I IN ChanelCount-1 DOWNTO 0 LOOP | |
|
143 | rst_all_bits: FOR J IN 17 DOWNTO 0 LOOP | |
|
144 | sample_filter_JC_out_r(I,J) <= '0'; | |
|
145 | END LOOP rst_all_bits; | |
|
146 | END LOOP rst_all_chanel; | |
|
147 | ELSIF clk'event AND clk = '1' THEN -- rising clock edge | |
|
148 | sample_filter_JC_out_r_val <= sample_filter_JC_out_val; | |
|
149 | IF sample_filter_JC_out_val = '1' THEN | |
|
150 | sample_filter_JC_out_r <= sample_filter_JC_out; | |
|
151 | END IF; | |
|
152 | END IF; | |
|
153 | END PROCESS; | |
|
154 | ||
|
155 | END tb; |
@@ -0,0 +1,41 | |||
|
1 | ||
|
2 | vcom -quiet -93 -work lpp ../../lib/lpp/general_purpose/general_purpose.vhd | |
|
3 | vcom -quiet -93 -work lpp ../../lib/lpp/general_purpose/SYNC_FF.vhd | |
|
4 | vcom -quiet -93 -work lpp ../../lib/lpp/general_purpose/MUXN.vhd | |
|
5 | vcom -quiet -93 -work lpp ../../lib/lpp/general_purpose/MUX2.vhd | |
|
6 | vcom -quiet -93 -work lpp ../../lib/lpp/general_purpose/REG.vhd | |
|
7 | vcom -quiet -93 -work lpp ../../lib/lpp/general_purpose/MAC.vhd | |
|
8 | vcom -quiet -93 -work lpp ../../lib/lpp/general_purpose/MAC_CONTROLER.vhd | |
|
9 | vcom -quiet -93 -work lpp ../../lib/lpp/general_purpose/MAC_REG.vhd | |
|
10 | vcom -quiet -93 -work lpp ../../lib/lpp/general_purpose/MAC_MUX.vhd | |
|
11 | vcom -quiet -93 -work lpp ../../lib/lpp/general_purpose/MAC_MUX2.vhd | |
|
12 | vcom -quiet -93 -work lpp ../../lib/lpp/general_purpose/Shifter.vhd | |
|
13 | vcom -quiet -93 -work lpp ../../lib/lpp/general_purpose/MULTIPLIER.vhd | |
|
14 | vcom -quiet -93 -work lpp ../../lib/lpp/general_purpose/ADDER.vhd | |
|
15 | vcom -quiet -93 -work lpp ../../lib/lpp/general_purpose/ALU.vhd | |
|
16 | vcom -quiet -93 -work lpp ../../lib/lpp/general_purpose/ADDRcntr.vhd | |
|
17 | ||
|
18 | vcom -quiet -93 -work lpp ../../lib/lpp/dsp/iir_filter/iir_filter.vhd | |
|
19 | vcom -quiet -93 -work lpp ../../lib/lpp/dsp/iir_filter/FILTERcfg.vhd | |
|
20 | vcom -quiet -93 -work lpp ../../lib/lpp/dsp/iir_filter/RAM_CEL.vhd | |
|
21 | vcom -quiet -93 -work lpp ../../lib/lpp/dsp/iir_filter/RAM_CTRLR2.vhd | |
|
22 | vcom -quiet -93 -work lpp ../../lib/lpp/dsp/iir_filter/IIR_CEL_CTRLR.vhd | |
|
23 | ||
|
24 | vcom -quiet -93 -work lpp ../../lib/lpp/dsp/iir_filter/RAM_CTRLR_v2.vhd | |
|
25 | vcom -quiet -93 -work lpp ../../lib/lpp/dsp/iir_filter/IIR_CEL_CTRLR_v2_DATAFLOW.vhd | |
|
26 | vcom -quiet -93 -work lpp ../../lib/lpp/dsp/iir_filter/IIR_CEL_CTRLR_v2_CONTROL.vhd | |
|
27 | vcom -quiet -93 -work lpp ../../lib/lpp/dsp/iir_filter/IIR_CEL_CTRLR_v2.vhd | |
|
28 | ||
|
29 | ||
|
30 | vcom -quiet -93 -work lpp ../../lib/lpp/lpp_ad_Conv/lpp_ad_conv.vhd | |
|
31 | vcom -quiet -93 -work lpp ../../lib/lpp/lpp_ad_Conv/ADS7886_drvr.vhd | |
|
32 | vcom -quiet -93 -work lpp ../../lib/lpp/lpp_ad_Conv/TestModule_ADS7886.vhd | |
|
33 | ||
|
34 | vcom -quiet -93 -work work Top_Data_Acquisition.vhd | |
|
35 | vcom -quiet -93 -work work TB_Data_Acquisition.vhd | |
|
36 | ||
|
37 | vsim work.TB_Data_Acquisition | |
|
38 | ||
|
39 | log -r * | |
|
40 | do wave_data_acquisition.do | |
|
41 | run 5 ms No newline at end of file |
@@ -0,0 +1,242 | |||
|
1 | onerror {resume} | |
|
2 | quietly WaveActivateNextPane {} 0 | |
|
3 | add wave -noupdate -group {CONVERSION - A/D} /tb_data_acquisition/top_data_acquisition_1/digital_acquisition/chanelcount | |
|
4 | add wave -noupdate -group {CONVERSION - A/D} /tb_data_acquisition/top_data_acquisition_1/digital_acquisition/ncycle_cnv_high | |
|
5 | add wave -noupdate -group {CONVERSION - A/D} /tb_data_acquisition/top_data_acquisition_1/digital_acquisition/ncycle_cnv | |
|
6 | add wave -noupdate -group {CONVERSION - A/D} /tb_data_acquisition/top_data_acquisition_1/digital_acquisition/cnv_clk | |
|
7 | add wave -noupdate -group {CONVERSION - A/D} /tb_data_acquisition/top_data_acquisition_1/digital_acquisition/cnv_rstn | |
|
8 | add wave -noupdate -group {CONVERSION - A/D} /tb_data_acquisition/top_data_acquisition_1/digital_acquisition/cnv_run | |
|
9 | add wave -noupdate -group {CONVERSION - A/D} /tb_data_acquisition/top_data_acquisition_1/digital_acquisition/cnv | |
|
10 | add wave -noupdate -group {CONVERSION - A/D} /tb_data_acquisition/top_data_acquisition_1/digital_acquisition/clk | |
|
11 | add wave -noupdate -group {CONVERSION - A/D} /tb_data_acquisition/top_data_acquisition_1/digital_acquisition/rstn | |
|
12 | add wave -noupdate -group {CONVERSION - A/D} /tb_data_acquisition/top_data_acquisition_1/digital_acquisition/sck | |
|
13 | add wave -noupdate -group {CONVERSION - A/D} /tb_data_acquisition/top_data_acquisition_1/digital_acquisition/sdo | |
|
14 | add wave -noupdate -group {CONVERSION - A/D} /tb_data_acquisition/top_data_acquisition_1/digital_acquisition/sample | |
|
15 | add wave -noupdate -group {CONVERSION - A/D} /tb_data_acquisition/top_data_acquisition_1/digital_acquisition/sample_val | |
|
16 | add wave -noupdate -group {CONVERSION - A/D} /tb_data_acquisition/top_data_acquisition_1/digital_acquisition/cnv_cycle_counter | |
|
17 | add wave -noupdate -group {CONVERSION - A/D} /tb_data_acquisition/top_data_acquisition_1/digital_acquisition/cnv_s | |
|
18 | add wave -noupdate -group {CONVERSION - A/D} /tb_data_acquisition/top_data_acquisition_1/digital_acquisition/cnv_sync | |
|
19 | add wave -noupdate -group {CONVERSION - A/D} /tb_data_acquisition/top_data_acquisition_1/digital_acquisition/cnv_sync_r | |
|
20 | add wave -noupdate -group {CONVERSION - A/D} /tb_data_acquisition/top_data_acquisition_1/digital_acquisition/cnv_done | |
|
21 | add wave -noupdate -group {CONVERSION - A/D} /tb_data_acquisition/top_data_acquisition_1/digital_acquisition/sample_bit_counter | |
|
22 | add wave -noupdate -group {CONVERSION - A/D} /tb_data_acquisition/top_data_acquisition_1/digital_acquisition/shift_reg | |
|
23 | add wave -noupdate -group {CONVERSION - A/D} /tb_data_acquisition/top_data_acquisition_1/digital_acquisition/cnv_run_sync | |
|
24 | add wave -noupdate -group FILTER /tb_data_acquisition/top_data_acquisition_1/filter/tech | |
|
25 | add wave -noupdate -group FILTER /tb_data_acquisition/top_data_acquisition_1/filter/sample_sz | |
|
26 | add wave -noupdate -group FILTER /tb_data_acquisition/top_data_acquisition_1/filter/chanelscount | |
|
27 | add wave -noupdate -group FILTER /tb_data_acquisition/top_data_acquisition_1/filter/coef_sz | |
|
28 | add wave -noupdate -group FILTER /tb_data_acquisition/top_data_acquisition_1/filter/coefcntpercel | |
|
29 | add wave -noupdate -group FILTER /tb_data_acquisition/top_data_acquisition_1/filter/cels_count | |
|
30 | add wave -noupdate -group FILTER /tb_data_acquisition/top_data_acquisition_1/filter/mem_use | |
|
31 | add wave -noupdate -group FILTER /tb_data_acquisition/top_data_acquisition_1/filter/reset | |
|
32 | add wave -noupdate -group FILTER /tb_data_acquisition/top_data_acquisition_1/filter/clk | |
|
33 | add wave -noupdate -group FILTER /tb_data_acquisition/top_data_acquisition_1/filter/sample_clk | |
|
34 | add wave -noupdate -group FILTER -radix decimal -subitemconfig {/tb_data_acquisition/top_data_acquisition_1/filter/sample_in(7) {-height 15 -radix decimal} /tb_data_acquisition/top_data_acquisition_1/filter/sample_in(6) {-height 15 -radix decimal} /tb_data_acquisition/top_data_acquisition_1/filter/sample_in(5) {-height 15 -radix decimal} /tb_data_acquisition/top_data_acquisition_1/filter/sample_in(4) {-height 15 -radix decimal} /tb_data_acquisition/top_data_acquisition_1/filter/sample_in(3) {-height 15 -radix decimal} /tb_data_acquisition/top_data_acquisition_1/filter/sample_in(2) {-height 15 -radix decimal} /tb_data_acquisition/top_data_acquisition_1/filter/sample_in(1) {-height 15 -radix decimal} /tb_data_acquisition/top_data_acquisition_1/filter/sample_in(0) {-height 15 -radix decimal}} /tb_data_acquisition/top_data_acquisition_1/filter/sample_in | |
|
35 | add wave -noupdate -group FILTER -subitemconfig {/tb_data_acquisition/top_data_acquisition_1/filter/sample_out(7) {-height 15 -radix unsigned} /tb_data_acquisition/top_data_acquisition_1/filter/sample_out(6) {-height 15 -radix unsigned} /tb_data_acquisition/top_data_acquisition_1/filter/sample_out(5) {-height 15 -radix unsigned} /tb_data_acquisition/top_data_acquisition_1/filter/sample_out(4) {-height 15 -radix unsigned} /tb_data_acquisition/top_data_acquisition_1/filter/sample_out(3) {-height 15 -radix unsigned} /tb_data_acquisition/top_data_acquisition_1/filter/sample_out(2) {-height 15 -radix unsigned} /tb_data_acquisition/top_data_acquisition_1/filter/sample_out(1) {-height 15 -radix unsigned} /tb_data_acquisition/top_data_acquisition_1/filter/sample_out(0) {-height 15 -radix unsigned}} /tb_data_acquisition/top_data_acquisition_1/filter/sample_out | |
|
36 | add wave -noupdate -group FILTER /tb_data_acquisition/top_data_acquisition_1/filter/virg_pos | |
|
37 | add wave -noupdate -group FILTER /tb_data_acquisition/top_data_acquisition_1/filter/gotest | |
|
38 | add wave -noupdate -group FILTER /tb_data_acquisition/top_data_acquisition_1/filter/coefs | |
|
39 | add wave -noupdate -group FILTER /tb_data_acquisition/top_data_acquisition_1/filter/smpl_clk_old | |
|
40 | add wave -noupdate -group FILTER /tb_data_acquisition/top_data_acquisition_1/filter/wd_sel | |
|
41 | add wave -noupdate -group FILTER /tb_data_acquisition/top_data_acquisition_1/filter/read | |
|
42 | add wave -noupdate -group FILTER /tb_data_acquisition/top_data_acquisition_1/filter/svg_addr | |
|
43 | add wave -noupdate -group FILTER /tb_data_acquisition/top_data_acquisition_1/filter/count | |
|
44 | add wave -noupdate -group FILTER /tb_data_acquisition/top_data_acquisition_1/filter/write | |
|
45 | add wave -noupdate -group FILTER /tb_data_acquisition/top_data_acquisition_1/filter/waddr_sel | |
|
46 | add wave -noupdate -group FILTER /tb_data_acquisition/top_data_acquisition_1/filter/go_0 | |
|
47 | add wave -noupdate -group FILTER /tb_data_acquisition/top_data_acquisition_1/filter/ram_sample_in | |
|
48 | add wave -noupdate -group FILTER /tb_data_acquisition/top_data_acquisition_1/filter/ram_sample_in_bk | |
|
49 | add wave -noupdate -group FILTER /tb_data_acquisition/top_data_acquisition_1/filter/ram_sample_out | |
|
50 | add wave -noupdate -group FILTER /tb_data_acquisition/top_data_acquisition_1/filter/alu_ctrl | |
|
51 | add wave -noupdate -group FILTER /tb_data_acquisition/top_data_acquisition_1/filter/alu_sample_in | |
|
52 | add wave -noupdate -group FILTER /tb_data_acquisition/top_data_acquisition_1/filter/alu_coef_in | |
|
53 | add wave -noupdate -group FILTER /tb_data_acquisition/top_data_acquisition_1/filter/alu_out | |
|
54 | add wave -noupdate -group FILTER /tb_data_acquisition/top_data_acquisition_1/filter/curentcel | |
|
55 | add wave -noupdate -group FILTER /tb_data_acquisition/top_data_acquisition_1/filter/curentchan | |
|
56 | add wave -noupdate -group FILTER /tb_data_acquisition/top_data_acquisition_1/filter/sample_in_buff | |
|
57 | add wave -noupdate -group FILTER /tb_data_acquisition/top_data_acquisition_1/filter/sample_out_buff | |
|
58 | add wave -noupdate -group FILTER /tb_data_acquisition/top_data_acquisition_1/filter/coefsreg | |
|
59 | add wave -noupdate -group FILTER /tb_data_acquisition/top_data_acquisition_1/filter/iir_cel_state | |
|
60 | add wave -noupdate /tb_data_acquisition/top_data_acquisition_1/cnv_run | |
|
61 | add wave -noupdate /tb_data_acquisition/top_data_acquisition_1/cnv | |
|
62 | add wave -noupdate /tb_data_acquisition/top_data_acquisition_1/sck | |
|
63 | add wave -noupdate /tb_data_acquisition/top_data_acquisition_1/sdo | |
|
64 | add wave -noupdate /tb_data_acquisition/top_data_acquisition_1/cnv_clk | |
|
65 | add wave -noupdate /tb_data_acquisition/top_data_acquisition_1/cnv_rstn | |
|
66 | add wave -noupdate /tb_data_acquisition/top_data_acquisition_1/clk | |
|
67 | add wave -noupdate /tb_data_acquisition/top_data_acquisition_1/rstn | |
|
68 | add wave -noupdate -expand -subitemconfig {/tb_data_acquisition/top_data_acquisition_1/sample(7) {-height 15 -radix decimal} /tb_data_acquisition/top_data_acquisition_1/sample(6) {-height 15 -radix decimal} /tb_data_acquisition/top_data_acquisition_1/sample(5) {-height 15 -radix decimal} /tb_data_acquisition/top_data_acquisition_1/sample(4) {-height 15 -radix decimal} /tb_data_acquisition/top_data_acquisition_1/sample(3) {-height 15 -radix decimal} /tb_data_acquisition/top_data_acquisition_1/sample(2) {-height 15 -radix decimal} /tb_data_acquisition/top_data_acquisition_1/sample(1) {-height 15 -radix decimal} /tb_data_acquisition/top_data_acquisition_1/sample(0) {-height 15 -radix decimal}} /tb_data_acquisition/top_data_acquisition_1/sample | |
|
69 | add wave -noupdate /tb_data_acquisition/top_data_acquisition_1/sample_val | |
|
70 | add wave -noupdate /tb_data_acquisition/top_data_acquisition_1/coefs | |
|
71 | add wave -noupdate /tb_data_acquisition/top_data_acquisition_1/sample_filter_in | |
|
72 | add wave -noupdate /tb_data_acquisition/top_data_acquisition_1/sample_filter_out | |
|
73 | add wave -noupdate /tb_data_acquisition/top_data_acquisition_1/iir_cel_ctrlr_v2_1/iir_cel_ctrlr_v2_control_1/iir_cel_state | |
|
74 | add wave -noupdate /tb_data_acquisition/top_data_acquisition_1/iir_cel_ctrlr_v2_1/iir_cel_ctrlr_v2_control_1/alu_selected_coeff | |
|
75 | add wave -noupdate /tb_data_acquisition/top_data_acquisition_1/iir_cel_ctrlr_v2_1/iir_cel_ctrlr_v2_control_1/chanel_ongoing | |
|
76 | add wave -noupdate /tb_data_acquisition/top_data_acquisition_1/iir_cel_ctrlr_v2_1/iir_cel_ctrlr_v2_control_1/cel_ongoing | |
|
77 | add wave -noupdate -expand -group ALU /tb_data_acquisition/top_data_acquisition_1/iir_cel_ctrlr_v2_1/iir_cel_ctrlr_v2_dataflow_1/alu_1/clk | |
|
78 | add wave -noupdate -expand -group ALU /tb_data_acquisition/top_data_acquisition_1/iir_cel_ctrlr_v2_1/iir_cel_ctrlr_v2_dataflow_1/alu_1/reset | |
|
79 | add wave -noupdate -expand -group ALU /tb_data_acquisition/top_data_acquisition_1/iir_cel_ctrlr_v2_1/iir_cel_ctrlr_v2_dataflow_1/alu_1/ctrl | |
|
80 | add wave -noupdate -expand -group ALU -radix decimal /tb_data_acquisition/top_data_acquisition_1/iir_cel_ctrlr_v2_1/iir_cel_ctrlr_v2_dataflow_1/alu_1/op1 | |
|
81 | add wave -noupdate -expand -group ALU -radix decimal /tb_data_acquisition/top_data_acquisition_1/iir_cel_ctrlr_v2_1/iir_cel_ctrlr_v2_dataflow_1/alu_1/op2 | |
|
82 | add wave -noupdate -expand -group ALU -radix decimal /tb_data_acquisition/top_data_acquisition_1/iir_cel_ctrlr_v2_1/iir_cel_ctrlr_v2_dataflow_1/alu_1/res | |
|
83 | add wave -noupdate -group ALU_MUX_INPUT -radix decimal /tb_data_acquisition/top_data_acquisition_1/iir_cel_ctrlr_v2_1/iir_cel_ctrlr_v2_dataflow_1/alu_sel_input | |
|
84 | add wave -noupdate -group ALU_MUX_INPUT -radix decimal /tb_data_acquisition/top_data_acquisition_1/iir_cel_ctrlr_v2_1/iir_cel_ctrlr_v2_dataflow_1/reg_sample_in | |
|
85 | add wave -noupdate -group ALU_MUX_INPUT -radix decimal /tb_data_acquisition/top_data_acquisition_1/iir_cel_ctrlr_v2_1/iir_cel_ctrlr_v2_dataflow_1/ram_output | |
|
86 | add wave -noupdate -group DATA_FLOW /tb_data_acquisition/top_data_acquisition_1/iir_cel_ctrlr_v2_1/iir_cel_ctrlr_v2_dataflow_1/rstn | |
|
87 | add wave -noupdate -group DATA_FLOW /tb_data_acquisition/top_data_acquisition_1/iir_cel_ctrlr_v2_1/iir_cel_ctrlr_v2_dataflow_1/clk | |
|
88 | add wave -noupdate -group DATA_FLOW /tb_data_acquisition/top_data_acquisition_1/iir_cel_ctrlr_v2_1/iir_cel_ctrlr_v2_dataflow_1/virg_pos | |
|
89 | add wave -noupdate -group DATA_FLOW /tb_data_acquisition/top_data_acquisition_1/iir_cel_ctrlr_v2_1/iir_cel_ctrlr_v2_dataflow_1/coefs | |
|
90 | add wave -noupdate -group DATA_FLOW /tb_data_acquisition/top_data_acquisition_1/iir_cel_ctrlr_v2_1/iir_cel_ctrlr_v2_dataflow_1/in_sel_src | |
|
91 | add wave -noupdate -group DATA_FLOW -radix hexadecimal /tb_data_acquisition/top_data_acquisition_1/iir_cel_ctrlr_v2_1/iir_cel_ctrlr_v2_dataflow_1/ram_sel_wdata | |
|
92 | add wave -noupdate -group DATA_FLOW -radix unsigned /tb_data_acquisition/top_data_acquisition_1/iir_cel_ctrlr_v2_1/iir_cel_ctrlr_v2_dataflow_1/ram_input | |
|
93 | add wave -noupdate -group DATA_FLOW -radix hexadecimal /tb_data_acquisition/top_data_acquisition_1/iir_cel_ctrlr_v2_1/iir_cel_ctrlr_v2_dataflow_1/ram_write | |
|
94 | add wave -noupdate -group DATA_FLOW -radix hexadecimal /tb_data_acquisition/top_data_acquisition_1/iir_cel_ctrlr_v2_1/iir_cel_ctrlr_v2_dataflow_1/ram_read | |
|
95 | add wave -noupdate -group DATA_FLOW /tb_data_acquisition/top_data_acquisition_1/iir_cel_ctrlr_v2_1/iir_cel_ctrlr_v2_dataflow_1/raddr_rst | |
|
96 | add wave -noupdate -group DATA_FLOW /tb_data_acquisition/top_data_acquisition_1/iir_cel_ctrlr_v2_1/iir_cel_ctrlr_v2_dataflow_1/raddr_add1 | |
|
97 | add wave -noupdate -group DATA_FLOW /tb_data_acquisition/top_data_acquisition_1/iir_cel_ctrlr_v2_1/iir_cel_ctrlr_v2_dataflow_1/waddr_previous | |
|
98 | add wave -noupdate -group DATA_FLOW /tb_data_acquisition/top_data_acquisition_1/iir_cel_ctrlr_v2_1/iir_cel_ctrlr_v2_dataflow_1/alu_sel_input | |
|
99 | add wave -noupdate -group DATA_FLOW /tb_data_acquisition/top_data_acquisition_1/iir_cel_ctrlr_v2_1/iir_cel_ctrlr_v2_dataflow_1/alu_sel_coeff | |
|
100 | add wave -noupdate -group DATA_FLOW /tb_data_acquisition/top_data_acquisition_1/iir_cel_ctrlr_v2_1/iir_cel_ctrlr_v2_dataflow_1/alu_ctrl | |
|
101 | add wave -noupdate -group DATA_FLOW /tb_data_acquisition/top_data_acquisition_1/iir_cel_ctrlr_v2_1/iir_cel_ctrlr_v2_dataflow_1/sample_in | |
|
102 | add wave -noupdate -group DATA_FLOW /tb_data_acquisition/top_data_acquisition_1/iir_cel_ctrlr_v2_1/iir_cel_ctrlr_v2_dataflow_1/sample_out | |
|
103 | add wave -noupdate -group DATA_FLOW /tb_data_acquisition/top_data_acquisition_1/iir_cel_ctrlr_v2_1/iir_cel_ctrlr_v2_dataflow_1/reg_sample_in | |
|
104 | add wave -noupdate -group DATA_FLOW /tb_data_acquisition/top_data_acquisition_1/iir_cel_ctrlr_v2_1/iir_cel_ctrlr_v2_dataflow_1/ram_output | |
|
105 | add wave -noupdate -group DATA_FLOW /tb_data_acquisition/top_data_acquisition_1/iir_cel_ctrlr_v2_1/iir_cel_ctrlr_v2_dataflow_1/alu_output | |
|
106 | add wave -noupdate -group DATA_FLOW /tb_data_acquisition/top_data_acquisition_1/iir_cel_ctrlr_v2_1/iir_cel_ctrlr_v2_dataflow_1/alu_sample | |
|
107 | add wave -noupdate -group DATA_FLOW /tb_data_acquisition/top_data_acquisition_1/iir_cel_ctrlr_v2_1/iir_cel_ctrlr_v2_dataflow_1/alu_output_s | |
|
108 | add wave -noupdate -group DATA_FLOW /tb_data_acquisition/top_data_acquisition_1/iir_cel_ctrlr_v2_1/iir_cel_ctrlr_v2_dataflow_1/arraycoeff | |
|
109 | add wave -noupdate -group DATA_FLOW /tb_data_acquisition/top_data_acquisition_1/iir_cel_ctrlr_v2_1/iir_cel_ctrlr_v2_dataflow_1/alu_coef_s | |
|
110 | add wave -noupdate -group DATA_FLOW /tb_data_acquisition/top_data_acquisition_1/iir_cel_ctrlr_v2_1/iir_cel_ctrlr_v2_dataflow_1/alu_coef | |
|
111 | add wave -noupdate -group IIR_CEL_FILTER_v2 /tb_data_acquisition/top_data_acquisition_1/iir_cel_ctrlr_v2_1/rstn | |
|
112 | add wave -noupdate -group IIR_CEL_FILTER_v2 /tb_data_acquisition/top_data_acquisition_1/iir_cel_ctrlr_v2_1/clk | |
|
113 | add wave -noupdate -group IIR_CEL_FILTER_v2 /tb_data_acquisition/top_data_acquisition_1/iir_cel_ctrlr_v2_1/virg_pos | |
|
114 | add wave -noupdate -group IIR_CEL_FILTER_v2 /tb_data_acquisition/top_data_acquisition_1/iir_cel_ctrlr_v2_1/coefs | |
|
115 | add wave -noupdate -group IIR_CEL_FILTER_v2 /tb_data_acquisition/top_data_acquisition_1/iir_cel_ctrlr_v2_1/sample_in_val | |
|
116 | add wave -noupdate -group IIR_CEL_FILTER_v2 /tb_data_acquisition/top_data_acquisition_1/iir_cel_ctrlr_v2_1/sample_in | |
|
117 | add wave -noupdate -group IIR_CEL_FILTER_v2 /tb_data_acquisition/top_data_acquisition_1/iir_cel_ctrlr_v2_1/sample_out_val | |
|
118 | add wave -noupdate -group IIR_CEL_FILTER_v2 /tb_data_acquisition/top_data_acquisition_1/iir_cel_ctrlr_v2_1/sample_out | |
|
119 | add wave -noupdate -group IIR_CEL_FILTER_v2 /tb_data_acquisition/top_data_acquisition_1/iir_cel_ctrlr_v2_1/in_sel_src | |
|
120 | add wave -noupdate -group IIR_CEL_FILTER_v2 /tb_data_acquisition/top_data_acquisition_1/iir_cel_ctrlr_v2_1/ram_sel_wdata | |
|
121 | add wave -noupdate -group IIR_CEL_FILTER_v2 /tb_data_acquisition/top_data_acquisition_1/iir_cel_ctrlr_v2_1/ram_write | |
|
122 | add wave -noupdate -group IIR_CEL_FILTER_v2 /tb_data_acquisition/top_data_acquisition_1/iir_cel_ctrlr_v2_1/ram_read | |
|
123 | add wave -noupdate -group IIR_CEL_FILTER_v2 /tb_data_acquisition/top_data_acquisition_1/iir_cel_ctrlr_v2_1/raddr_rst | |
|
124 | add wave -noupdate -group IIR_CEL_FILTER_v2 /tb_data_acquisition/top_data_acquisition_1/iir_cel_ctrlr_v2_1/raddr_add1 | |
|
125 | add wave -noupdate -group IIR_CEL_FILTER_v2 /tb_data_acquisition/top_data_acquisition_1/iir_cel_ctrlr_v2_1/waddr_previous | |
|
126 | add wave -noupdate -group IIR_CEL_FILTER_v2 /tb_data_acquisition/top_data_acquisition_1/iir_cel_ctrlr_v2_1/alu_sel_input | |
|
127 | add wave -noupdate -group IIR_CEL_FILTER_v2 /tb_data_acquisition/top_data_acquisition_1/iir_cel_ctrlr_v2_1/alu_sel_coeff | |
|
128 | add wave -noupdate -group IIR_CEL_FILTER_v2 /tb_data_acquisition/top_data_acquisition_1/iir_cel_ctrlr_v2_1/alu_ctrl | |
|
129 | add wave -noupdate -group IIR_CEL_FILTER_v2 /tb_data_acquisition/top_data_acquisition_1/iir_cel_ctrlr_v2_1/sample_in_buf | |
|
130 | add wave -noupdate -group IIR_CEL_FILTER_v2 /tb_data_acquisition/top_data_acquisition_1/iir_cel_ctrlr_v2_1/sample_in_rotate | |
|
131 | add wave -noupdate -group IIR_CEL_FILTER_v2 /tb_data_acquisition/top_data_acquisition_1/iir_cel_ctrlr_v2_1/sample_in_s | |
|
132 | add wave -noupdate -group IIR_CEL_FILTER_v2 -radix unsigned /tb_data_acquisition/top_data_acquisition_1/iir_cel_ctrlr_v2_1/sample_out_val_s | |
|
133 | add wave -noupdate -group IIR_CEL_FILTER_v2 -radix unsigned /tb_data_acquisition/top_data_acquisition_1/iir_cel_ctrlr_v2_1/sample_out_val_s2 | |
|
134 | add wave -noupdate -group IIR_CEL_FILTER_v2 -radix unsigned /tb_data_acquisition/top_data_acquisition_1/iir_cel_ctrlr_v2_1/sample_out_rot_s | |
|
135 | add wave -noupdate -group IIR_CEL_FILTER_v2 -radix unsigned -subitemconfig {/tb_data_acquisition/top_data_acquisition_1/iir_cel_ctrlr_v2_1/sample_out_s(17) {-radix unsigned} /tb_data_acquisition/top_data_acquisition_1/iir_cel_ctrlr_v2_1/sample_out_s(16) {-radix unsigned} /tb_data_acquisition/top_data_acquisition_1/iir_cel_ctrlr_v2_1/sample_out_s(15) {-radix unsigned} /tb_data_acquisition/top_data_acquisition_1/iir_cel_ctrlr_v2_1/sample_out_s(14) {-radix unsigned} /tb_data_acquisition/top_data_acquisition_1/iir_cel_ctrlr_v2_1/sample_out_s(13) {-radix unsigned} /tb_data_acquisition/top_data_acquisition_1/iir_cel_ctrlr_v2_1/sample_out_s(12) {-radix unsigned} /tb_data_acquisition/top_data_acquisition_1/iir_cel_ctrlr_v2_1/sample_out_s(11) {-radix unsigned} /tb_data_acquisition/top_data_acquisition_1/iir_cel_ctrlr_v2_1/sample_out_s(10) {-radix unsigned} /tb_data_acquisition/top_data_acquisition_1/iir_cel_ctrlr_v2_1/sample_out_s(9) {-radix unsigned} /tb_data_acquisition/top_data_acquisition_1/iir_cel_ctrlr_v2_1/sample_out_s(8) {-radix unsigned} /tb_data_acquisition/top_data_acquisition_1/iir_cel_ctrlr_v2_1/sample_out_s(7) {-radix unsigned} /tb_data_acquisition/top_data_acquisition_1/iir_cel_ctrlr_v2_1/sample_out_s(6) {-radix unsigned} /tb_data_acquisition/top_data_acquisition_1/iir_cel_ctrlr_v2_1/sample_out_s(5) {-radix unsigned} /tb_data_acquisition/top_data_acquisition_1/iir_cel_ctrlr_v2_1/sample_out_s(4) {-radix unsigned} /tb_data_acquisition/top_data_acquisition_1/iir_cel_ctrlr_v2_1/sample_out_s(3) {-radix unsigned} /tb_data_acquisition/top_data_acquisition_1/iir_cel_ctrlr_v2_1/sample_out_s(2) {-radix unsigned} /tb_data_acquisition/top_data_acquisition_1/iir_cel_ctrlr_v2_1/sample_out_s(1) {-radix unsigned} /tb_data_acquisition/top_data_acquisition_1/iir_cel_ctrlr_v2_1/sample_out_s(0) {-radix unsigned}} /tb_data_acquisition/top_data_acquisition_1/iir_cel_ctrlr_v2_1/sample_out_s | |
|
136 | add wave -noupdate -group IIR_CEL_FILTER_v2 -radix unsigned -expand -subitemconfig {/tb_data_acquisition/top_data_acquisition_1/iir_cel_ctrlr_v2_1/sample_out_s2(7) {-radix unsigned} /tb_data_acquisition/top_data_acquisition_1/iir_cel_ctrlr_v2_1/sample_out_s2(6) {-radix unsigned} /tb_data_acquisition/top_data_acquisition_1/iir_cel_ctrlr_v2_1/sample_out_s2(5) {-radix unsigned} /tb_data_acquisition/top_data_acquisition_1/iir_cel_ctrlr_v2_1/sample_out_s2(4) {-radix unsigned} /tb_data_acquisition/top_data_acquisition_1/iir_cel_ctrlr_v2_1/sample_out_s2(3) {-radix unsigned} /tb_data_acquisition/top_data_acquisition_1/iir_cel_ctrlr_v2_1/sample_out_s2(2) {-radix unsigned} /tb_data_acquisition/top_data_acquisition_1/iir_cel_ctrlr_v2_1/sample_out_s2(1) {-radix unsigned} /tb_data_acquisition/top_data_acquisition_1/iir_cel_ctrlr_v2_1/sample_out_s2(0) {-radix unsigned}} /tb_data_acquisition/top_data_acquisition_1/iir_cel_ctrlr_v2_1/sample_out_s2 | |
|
137 | add wave -noupdate -group DATAFLOW -expand -group DATAFLOW_INPUT_MUX -radix decimal /tb_data_acquisition/top_data_acquisition_1/iir_cel_ctrlr_v2_1/iir_cel_ctrlr_v2_dataflow_1/in_sel_src | |
|
138 | add wave -noupdate -group DATAFLOW -expand -group DATAFLOW_INPUT_MUX -radix decimal /tb_data_acquisition/top_data_acquisition_1/iir_cel_ctrlr_v2_1/iir_cel_ctrlr_v2_dataflow_1/alu_output | |
|
139 | add wave -noupdate -group DATAFLOW -expand -group DATAFLOW_INPUT_MUX -radix decimal /tb_data_acquisition/top_data_acquisition_1/iir_cel_ctrlr_v2_1/iir_cel_ctrlr_v2_dataflow_1/ram_output | |
|
140 | add wave -noupdate -group DATAFLOW -expand -group DATAFLOW_INPUT_MUX -radix decimal /tb_data_acquisition/top_data_acquisition_1/iir_cel_ctrlr_v2_1/iir_cel_ctrlr_v2_dataflow_1/sample_in | |
|
141 | add wave -noupdate -group DATAFLOW -expand -group DATAFLOW_INPUT_MUX -radix decimal /tb_data_acquisition/top_data_acquisition_1/iir_cel_ctrlr_v2_1/iir_cel_ctrlr_v2_dataflow_1/reg_sample_in | |
|
142 | add wave -noupdate -group DATAFLOW -group DATAFLOW_INPUT_RAM /tb_data_acquisition/top_data_acquisition_1/iir_cel_ctrlr_v2_1/iir_cel_ctrlr_v2_dataflow_1/waddr_previous | |
|
143 | add wave -noupdate -group DATAFLOW -group DATAFLOW_INPUT_RAM /tb_data_acquisition/top_data_acquisition_1/iir_cel_ctrlr_v2_1/iir_cel_ctrlr_v2_dataflow_1/ram_write | |
|
144 | add wave -noupdate -group DATAFLOW -group DATAFLOW_INPUT_RAM -radix hexadecimal /tb_data_acquisition/top_data_acquisition_1/iir_cel_ctrlr_v2_1/iir_cel_ctrlr_v2_dataflow_1/ram_sel_wdata | |
|
145 | add wave -noupdate -group DATAFLOW -group DATAFLOW_INPUT_RAM -radix decimal /tb_data_acquisition/top_data_acquisition_1/iir_cel_ctrlr_v2_1/iir_cel_ctrlr_v2_dataflow_1/reg_sample_in | |
|
146 | add wave -noupdate -group DATAFLOW -group DATAFLOW_INPUT_RAM -radix decimal /tb_data_acquisition/top_data_acquisition_1/iir_cel_ctrlr_v2_1/iir_cel_ctrlr_v2_dataflow_1/alu_output | |
|
147 | add wave -noupdate -group DATAFLOW -group DATAFLOW_INPUT_RAM -radix decimal /tb_data_acquisition/top_data_acquisition_1/iir_cel_ctrlr_v2_1/iir_cel_ctrlr_v2_dataflow_1/ram_output | |
|
148 | add wave -noupdate -group DATAFLOW -group DATAFLOW_INPUT_RAM -radix decimal /tb_data_acquisition/top_data_acquisition_1/iir_cel_ctrlr_v2_1/iir_cel_ctrlr_v2_dataflow_1/ram_input | |
|
149 | add wave -noupdate -group DATAFLOW -group DATAFLOW_OUTPUT_RAM /tb_data_acquisition/top_data_acquisition_1/iir_cel_ctrlr_v2_1/iir_cel_ctrlr_v2_dataflow_1/ram_read | |
|
150 | add wave -noupdate -group DATAFLOW -group DATAFLOW_OUTPUT_RAM /tb_data_acquisition/top_data_acquisition_1/iir_cel_ctrlr_v2_1/iir_cel_ctrlr_v2_dataflow_1/raddr_rst | |
|
151 | add wave -noupdate -group DATAFLOW -group DATAFLOW_OUTPUT_RAM /tb_data_acquisition/top_data_acquisition_1/iir_cel_ctrlr_v2_1/iir_cel_ctrlr_v2_dataflow_1/raddr_add1 | |
|
152 | add wave -noupdate -group DATAFLOW -group DATAFLOW_OUTPUT_RAM /tb_data_acquisition/top_data_acquisition_1/iir_cel_ctrlr_v2_1/iir_cel_ctrlr_v2_dataflow_1/ram_output | |
|
153 | add wave -noupdate -group DATAFLOW -group DATAFLOW_SELECT_COEFF /tb_data_acquisition/top_data_acquisition_1/iir_cel_ctrlr_v2_1/iir_cel_ctrlr_v2_dataflow_1/arraycoeff | |
|
154 | add wave -noupdate -group DATAFLOW -group DATAFLOW_SELECT_COEFF /tb_data_acquisition/top_data_acquisition_1/iir_cel_ctrlr_v2_1/iir_cel_ctrlr_v2_dataflow_1/alu_coef_s | |
|
155 | add wave -noupdate -group DATAFLOW -group DATAFLOW_SELECT_COEFF -radix decimal /tb_data_acquisition/top_data_acquisition_1/iir_cel_ctrlr_v2_1/iir_cel_ctrlr_v2_dataflow_1/alu_coef | |
|
156 | add wave -noupdate -group DATAFLOW -group DATAFLOW_SELECT_COEFF -radix decimal /tb_data_acquisition/top_data_acquisition_1/iir_cel_ctrlr_v2_1/iir_cel_ctrlr_v2_dataflow_1/alu_sel_coeff | |
|
157 | add wave -noupdate -group DATAFLOW -group DATAFLOW_INPUT_ALU_MUX /tb_data_acquisition/top_data_acquisition_1/iir_cel_ctrlr_v2_1/iir_cel_ctrlr_v2_dataflow_1/alu_sel_input | |
|
158 | add wave -noupdate -group DATAFLOW -group DATAFLOW_INPUT_ALU_MUX -radix decimal /tb_data_acquisition/top_data_acquisition_1/iir_cel_ctrlr_v2_1/iir_cel_ctrlr_v2_dataflow_1/reg_sample_in | |
|
159 | add wave -noupdate -group DATAFLOW -group DATAFLOW_INPUT_ALU_MUX -radix decimal /tb_data_acquisition/top_data_acquisition_1/iir_cel_ctrlr_v2_1/iir_cel_ctrlr_v2_dataflow_1/ram_output | |
|
160 | add wave -noupdate -group DATAFLOW -expand -group DATAFLOW_ALU -radix decimal /tb_data_acquisition/top_data_acquisition_1/iir_cel_ctrlr_v2_1/iir_cel_ctrlr_v2_dataflow_1/alu_ctrl | |
|
161 | add wave -noupdate -group DATAFLOW -expand -group DATAFLOW_ALU -radix decimal /tb_data_acquisition/top_data_acquisition_1/iir_cel_ctrlr_v2_1/iir_cel_ctrlr_v2_dataflow_1/alu_coef | |
|
162 | add wave -noupdate -group DATAFLOW -expand -group DATAFLOW_ALU -radix decimal /tb_data_acquisition/top_data_acquisition_1/iir_cel_ctrlr_v2_1/iir_cel_ctrlr_v2_dataflow_1/alu_sample | |
|
163 | add wave -noupdate -group DATAFLOW -expand -group DATAFLOW_ALU -radix decimal /tb_data_acquisition/top_data_acquisition_1/iir_cel_ctrlr_v2_1/iir_cel_ctrlr_v2_dataflow_1/alu_output_s | |
|
164 | add wave -noupdate -group DATAFLOW -expand -group DATAFLOW_ALU -radix decimal /tb_data_acquisition/top_data_acquisition_1/iir_cel_ctrlr_v2_1/iir_cel_ctrlr_v2_dataflow_1/alu_output | |
|
165 | add wave -noupdate -group DATAFLOW /tb_data_acquisition/top_data_acquisition_1/iir_cel_ctrlr_v2_1/iir_cel_ctrlr_v2_control_1/iir_cel_state | |
|
166 | add wave -noupdate -group DATAFLOW /tb_data_acquisition/top_data_acquisition_1/iir_cel_ctrlr_v2_1/iir_cel_ctrlr_v2_control_1/chanel_ongoing | |
|
167 | add wave -noupdate -group DATAFLOW /tb_data_acquisition/top_data_acquisition_1/iir_cel_ctrlr_v2_1/iir_cel_ctrlr_v2_control_1/cel_ongoing | |
|
168 | add wave -noupdate -group DATAFLOW -radix decimal /tb_data_acquisition/top_data_acquisition_1/iir_cel_ctrlr_v2_1/iir_cel_ctrlr_v2_dataflow_1/sample_out | |
|
169 | add wave -noupdate -group DATAFLOW_RAM /tb_data_acquisition/top_data_acquisition_1/iir_cel_ctrlr_v2_1/iir_cel_ctrlr_v2_dataflow_1/ram_ctrlr_v2_1/rstn | |
|
170 | add wave -noupdate -group DATAFLOW_RAM /tb_data_acquisition/top_data_acquisition_1/iir_cel_ctrlr_v2_1/iir_cel_ctrlr_v2_dataflow_1/ram_ctrlr_v2_1/clk | |
|
171 | add wave -noupdate -group DATAFLOW_RAM -subitemconfig {/tb_data_acquisition/top_data_acquisition_1/iir_cel_ctrlr_v2_1/iir_cel_ctrlr_v2_dataflow_1/ram_ctrlr_v2_1/memcel/ramblk/ramarray(0) {-height 15 -radix decimal} /tb_data_acquisition/top_data_acquisition_1/iir_cel_ctrlr_v2_1/iir_cel_ctrlr_v2_dataflow_1/ram_ctrlr_v2_1/memcel/ramblk/ramarray(1) {-height 15 -radix decimal} /tb_data_acquisition/top_data_acquisition_1/iir_cel_ctrlr_v2_1/iir_cel_ctrlr_v2_dataflow_1/ram_ctrlr_v2_1/memcel/ramblk/ramarray(2) {-height 15 -radix decimal} /tb_data_acquisition/top_data_acquisition_1/iir_cel_ctrlr_v2_1/iir_cel_ctrlr_v2_dataflow_1/ram_ctrlr_v2_1/memcel/ramblk/ramarray(3) {-height 15 -radix decimal} /tb_data_acquisition/top_data_acquisition_1/iir_cel_ctrlr_v2_1/iir_cel_ctrlr_v2_dataflow_1/ram_ctrlr_v2_1/memcel/ramblk/ramarray(4) {-height 15 -radix decimal} /tb_data_acquisition/top_data_acquisition_1/iir_cel_ctrlr_v2_1/iir_cel_ctrlr_v2_dataflow_1/ram_ctrlr_v2_1/memcel/ramblk/ramarray(5) {-height 15 -radix decimal} /tb_data_acquisition/top_data_acquisition_1/iir_cel_ctrlr_v2_1/iir_cel_ctrlr_v2_dataflow_1/ram_ctrlr_v2_1/memcel/ramblk/ramarray(6) {-height 15 -radix decimal} /tb_data_acquisition/top_data_acquisition_1/iir_cel_ctrlr_v2_1/iir_cel_ctrlr_v2_dataflow_1/ram_ctrlr_v2_1/memcel/ramblk/ramarray(7) {-height 15 -radix decimal} /tb_data_acquisition/top_data_acquisition_1/iir_cel_ctrlr_v2_1/iir_cel_ctrlr_v2_dataflow_1/ram_ctrlr_v2_1/memcel/ramblk/ramarray(8) {-height 15 -radix decimal} /tb_data_acquisition/top_data_acquisition_1/iir_cel_ctrlr_v2_1/iir_cel_ctrlr_v2_dataflow_1/ram_ctrlr_v2_1/memcel/ramblk/ramarray(9) {-height 15 -radix decimal} /tb_data_acquisition/top_data_acquisition_1/iir_cel_ctrlr_v2_1/iir_cel_ctrlr_v2_dataflow_1/ram_ctrlr_v2_1/memcel/ramblk/ramarray(10) {-height 15 -radix decimal} /tb_data_acquisition/top_data_acquisition_1/iir_cel_ctrlr_v2_1/iir_cel_ctrlr_v2_dataflow_1/ram_ctrlr_v2_1/memcel/ramblk/ramarray(11) {-height 15 -radix decimal} /tb_data_acquisition/top_data_acquisition_1/iir_cel_ctrlr_v2_1/iir_cel_ctrlr_v2_dataflow_1/ram_ctrlr_v2_1/memcel/ramblk/ramarray(12) {-height 15 -radix decimal} /tb_data_acquisition/top_data_acquisition_1/iir_cel_ctrlr_v2_1/iir_cel_ctrlr_v2_dataflow_1/ram_ctrlr_v2_1/memcel/ramblk/ramarray(13) {-height 15 -radix decimal} /tb_data_acquisition/top_data_acquisition_1/iir_cel_ctrlr_v2_1/iir_cel_ctrlr_v2_dataflow_1/ram_ctrlr_v2_1/memcel/ramblk/ramarray(14) {-height 15 -radix decimal} /tb_data_acquisition/top_data_acquisition_1/iir_cel_ctrlr_v2_1/iir_cel_ctrlr_v2_dataflow_1/ram_ctrlr_v2_1/memcel/ramblk/ramarray(15) {-height 15 -radix decimal} /tb_data_acquisition/top_data_acquisition_1/iir_cel_ctrlr_v2_1/iir_cel_ctrlr_v2_dataflow_1/ram_ctrlr_v2_1/memcel/ramblk/ramarray(16) {-height 15 -radix decimal} /tb_data_acquisition/top_data_acquisition_1/iir_cel_ctrlr_v2_1/iir_cel_ctrlr_v2_dataflow_1/ram_ctrlr_v2_1/memcel/ramblk/ramarray(17) {-height 15 -radix decimal} /tb_data_acquisition/top_data_acquisition_1/iir_cel_ctrlr_v2_1/iir_cel_ctrlr_v2_dataflow_1/ram_ctrlr_v2_1/memcel/ramblk/ramarray(18) {-height 15 -radix decimal} /tb_data_acquisition/top_data_acquisition_1/iir_cel_ctrlr_v2_1/iir_cel_ctrlr_v2_dataflow_1/ram_ctrlr_v2_1/memcel/ramblk/ramarray(19) {-height 15 -radix decimal} /tb_data_acquisition/top_data_acquisition_1/iir_cel_ctrlr_v2_1/iir_cel_ctrlr_v2_dataflow_1/ram_ctrlr_v2_1/memcel/ramblk/ramarray(20) {-height 15 -radix decimal} /tb_data_acquisition/top_data_acquisition_1/iir_cel_ctrlr_v2_1/iir_cel_ctrlr_v2_dataflow_1/ram_ctrlr_v2_1/memcel/ramblk/ramarray(21) {-height 15 -radix decimal} /tb_data_acquisition/top_data_acquisition_1/iir_cel_ctrlr_v2_1/iir_cel_ctrlr_v2_dataflow_1/ram_ctrlr_v2_1/memcel/ramblk/ramarray(22) {-height 15 -radix decimal} /tb_data_acquisition/top_data_acquisition_1/iir_cel_ctrlr_v2_1/iir_cel_ctrlr_v2_dataflow_1/ram_ctrlr_v2_1/memcel/ramblk/ramarray(23) {-height 15 -radix decimal} /tb_data_acquisition/top_data_acquisition_1/iir_cel_ctrlr_v2_1/iir_cel_ctrlr_v2_dataflow_1/ram_ctrlr_v2_1/memcel/ramblk/ramarray(24) {-height 15 -radix decimal} /tb_data_acquisition/top_data_acquisition_1/iir_cel_ctrlr_v2_1/iir_cel_ctrlr_v2_dataflow_1/ram_ctrlr_v2_1/memcel/ramblk/ramarray(25) {-height 15 -radix decimal} /tb_data_acquisition/top_data_acquisition_1/iir_cel_ctrlr_v2_1/iir_cel_ctrlr_v2_dataflow_1/ram_ctrlr_v2_1/memcel/ramblk/ramarray(26) {-height 15 -radix decimal} /tb_data_acquisition/top_data_acquisition_1/iir_cel_ctrlr_v2_1/iir_cel_ctrlr_v2_dataflow_1/ram_ctrlr_v2_1/memcel/ramblk/ramarray(27) {-height 15 -radix decimal} /tb_data_acquisition/top_data_acquisition_1/iir_cel_ctrlr_v2_1/iir_cel_ctrlr_v2_dataflow_1/ram_ctrlr_v2_1/memcel/ramblk/ramarray(28) {-height 15 -radix decimal} /tb_data_acquisition/top_data_acquisition_1/iir_cel_ctrlr_v2_1/iir_cel_ctrlr_v2_dataflow_1/ram_ctrlr_v2_1/memcel/ramblk/ramarray(29) {-height 15 -radix decimal} /tb_data_acquisition/top_data_acquisition_1/iir_cel_ctrlr_v2_1/iir_cel_ctrlr_v2_dataflow_1/ram_ctrlr_v2_1/memcel/ramblk/ramarray(30) {-height 15 -radix decimal} /tb_data_acquisition/top_data_acquisition_1/iir_cel_ctrlr_v2_1/iir_cel_ctrlr_v2_dataflow_1/ram_ctrlr_v2_1/memcel/ramblk/ramarray(31) {-height 15 -radix decimal} /tb_data_acquisition/top_data_acquisition_1/iir_cel_ctrlr_v2_1/iir_cel_ctrlr_v2_dataflow_1/ram_ctrlr_v2_1/memcel/ramblk/ramarray(32) {-height 15 -radix decimal} /tb_data_acquisition/top_data_acquisition_1/iir_cel_ctrlr_v2_1/iir_cel_ctrlr_v2_dataflow_1/ram_ctrlr_v2_1/memcel/ramblk/ramarray(33) {-height 15 -radix decimal} /tb_data_acquisition/top_data_acquisition_1/iir_cel_ctrlr_v2_1/iir_cel_ctrlr_v2_dataflow_1/ram_ctrlr_v2_1/memcel/ramblk/ramarray(34) {-height 15 -radix decimal} /tb_data_acquisition/top_data_acquisition_1/iir_cel_ctrlr_v2_1/iir_cel_ctrlr_v2_dataflow_1/ram_ctrlr_v2_1/memcel/ramblk/ramarray(35) {-height 15 -radix decimal} /tb_data_acquisition/top_data_acquisition_1/iir_cel_ctrlr_v2_1/iir_cel_ctrlr_v2_dataflow_1/ram_ctrlr_v2_1/memcel/ramblk/ramarray(36) {-height 15 -radix decimal} /tb_data_acquisition/top_data_acquisition_1/iir_cel_ctrlr_v2_1/iir_cel_ctrlr_v2_dataflow_1/ram_ctrlr_v2_1/memcel/ramblk/ramarray(37) {-height 15 -radix decimal} /tb_data_acquisition/top_data_acquisition_1/iir_cel_ctrlr_v2_1/iir_cel_ctrlr_v2_dataflow_1/ram_ctrlr_v2_1/memcel/ramblk/ramarray(38) {-height 15 -radix decimal} /tb_data_acquisition/top_data_acquisition_1/iir_cel_ctrlr_v2_1/iir_cel_ctrlr_v2_dataflow_1/ram_ctrlr_v2_1/memcel/ramblk/ramarray(39) {-height 15 -radix decimal} /tb_data_acquisition/top_data_acquisition_1/iir_cel_ctrlr_v2_1/iir_cel_ctrlr_v2_dataflow_1/ram_ctrlr_v2_1/memcel/ramblk/ramarray(40) {-height 15 -radix decimal} /tb_data_acquisition/top_data_acquisition_1/iir_cel_ctrlr_v2_1/iir_cel_ctrlr_v2_dataflow_1/ram_ctrlr_v2_1/memcel/ramblk/ramarray(41) {-height 15 -radix decimal} /tb_data_acquisition/top_data_acquisition_1/iir_cel_ctrlr_v2_1/iir_cel_ctrlr_v2_dataflow_1/ram_ctrlr_v2_1/memcel/ramblk/ramarray(42) {-height 15 -radix decimal} /tb_data_acquisition/top_data_acquisition_1/iir_cel_ctrlr_v2_1/iir_cel_ctrlr_v2_dataflow_1/ram_ctrlr_v2_1/memcel/ramblk/ramarray(43) {-height 15 -radix decimal} /tb_data_acquisition/top_data_acquisition_1/iir_cel_ctrlr_v2_1/iir_cel_ctrlr_v2_dataflow_1/ram_ctrlr_v2_1/memcel/ramblk/ramarray(44) {-height 15 -radix decimal} /tb_data_acquisition/top_data_acquisition_1/iir_cel_ctrlr_v2_1/iir_cel_ctrlr_v2_dataflow_1/ram_ctrlr_v2_1/memcel/ramblk/ramarray(45) {-height 15 -radix decimal} /tb_data_acquisition/top_data_acquisition_1/iir_cel_ctrlr_v2_1/iir_cel_ctrlr_v2_dataflow_1/ram_ctrlr_v2_1/memcel/ramblk/ramarray(46) {-height 15 -radix decimal} /tb_data_acquisition/top_data_acquisition_1/iir_cel_ctrlr_v2_1/iir_cel_ctrlr_v2_dataflow_1/ram_ctrlr_v2_1/memcel/ramblk/ramarray(47) {-height 15 -radix decimal} /tb_data_acquisition/top_data_acquisition_1/iir_cel_ctrlr_v2_1/iir_cel_ctrlr_v2_dataflow_1/ram_ctrlr_v2_1/memcel/ramblk/ramarray(48) {-height 15 -radix decimal} /tb_data_acquisition/top_data_acquisition_1/iir_cel_ctrlr_v2_1/iir_cel_ctrlr_v2_dataflow_1/ram_ctrlr_v2_1/memcel/ramblk/ramarray(49) {-height 15 -radix decimal} /tb_data_acquisition/top_data_acquisition_1/iir_cel_ctrlr_v2_1/iir_cel_ctrlr_v2_dataflow_1/ram_ctrlr_v2_1/memcel/ramblk/ramarray(50) {-height 15 -radix decimal} /tb_data_acquisition/top_data_acquisition_1/iir_cel_ctrlr_v2_1/iir_cel_ctrlr_v2_dataflow_1/ram_ctrlr_v2_1/memcel/ramblk/ramarray(51) {-height 15 -radix decimal} /tb_data_acquisition/top_data_acquisition_1/iir_cel_ctrlr_v2_1/iir_cel_ctrlr_v2_dataflow_1/ram_ctrlr_v2_1/memcel/ramblk/ramarray(52) {-height 15 -radix decimal} /tb_data_acquisition/top_data_acquisition_1/iir_cel_ctrlr_v2_1/iir_cel_ctrlr_v2_dataflow_1/ram_ctrlr_v2_1/memcel/ramblk/ramarray(53) {-height 15 -radix decimal} /tb_data_acquisition/top_data_acquisition_1/iir_cel_ctrlr_v2_1/iir_cel_ctrlr_v2_dataflow_1/ram_ctrlr_v2_1/memcel/ramblk/ramarray(54) {-height 15 -radix decimal} /tb_data_acquisition/top_data_acquisition_1/iir_cel_ctrlr_v2_1/iir_cel_ctrlr_v2_dataflow_1/ram_ctrlr_v2_1/memcel/ramblk/ramarray(55) {-height 15 -radix decimal} /tb_data_acquisition/top_data_acquisition_1/iir_cel_ctrlr_v2_1/iir_cel_ctrlr_v2_dataflow_1/ram_ctrlr_v2_1/memcel/ramblk/ramarray(56) {-height 15 -radix decimal} /tb_data_acquisition/top_data_acquisition_1/iir_cel_ctrlr_v2_1/iir_cel_ctrlr_v2_dataflow_1/ram_ctrlr_v2_1/memcel/ramblk/ramarray(57) {-height 15 -radix decimal} /tb_data_acquisition/top_data_acquisition_1/iir_cel_ctrlr_v2_1/iir_cel_ctrlr_v2_dataflow_1/ram_ctrlr_v2_1/memcel/ramblk/ramarray(58) {-height 15 -radix decimal} /tb_data_acquisition/top_data_acquisition_1/iir_cel_ctrlr_v2_1/iir_cel_ctrlr_v2_dataflow_1/ram_ctrlr_v2_1/memcel/ramblk/ramarray(59) {-height 15 -radix decimal} /tb_data_acquisition/top_data_acquisition_1/iir_cel_ctrlr_v2_1/iir_cel_ctrlr_v2_dataflow_1/ram_ctrlr_v2_1/memcel/ramblk/ramarray(60) {-height 15 -radix decimal} /tb_data_acquisition/top_data_acquisition_1/iir_cel_ctrlr_v2_1/iir_cel_ctrlr_v2_dataflow_1/ram_ctrlr_v2_1/memcel/ramblk/ramarray(61) {-height 15 -radix decimal} /tb_data_acquisition/top_data_acquisition_1/iir_cel_ctrlr_v2_1/iir_cel_ctrlr_v2_dataflow_1/ram_ctrlr_v2_1/memcel/ramblk/ramarray(62) {-height 15 -radix decimal} /tb_data_acquisition/top_data_acquisition_1/iir_cel_ctrlr_v2_1/iir_cel_ctrlr_v2_dataflow_1/ram_ctrlr_v2_1/memcel/ramblk/ramarray(63) {-height 15 -radix decimal} /tb_data_acquisition/top_data_acquisition_1/iir_cel_ctrlr_v2_1/iir_cel_ctrlr_v2_dataflow_1/ram_ctrlr_v2_1/memcel/ramblk/ramarray(64) {-height 15 -radix decimal} /tb_data_acquisition/top_data_acquisition_1/iir_cel_ctrlr_v2_1/iir_cel_ctrlr_v2_dataflow_1/ram_ctrlr_v2_1/memcel/ramblk/ramarray(65) {-height 15 -radix decimal} /tb_data_acquisition/top_data_acquisition_1/iir_cel_ctrlr_v2_1/iir_cel_ctrlr_v2_dataflow_1/ram_ctrlr_v2_1/memcel/ramblk/ramarray(66) {-height 15 -radix decimal} /tb_data_acquisition/top_data_acquisition_1/iir_cel_ctrlr_v2_1/iir_cel_ctrlr_v2_dataflow_1/ram_ctrlr_v2_1/memcel/ramblk/ramarray(67) {-height 15 -radix decimal} /tb_data_acquisition/top_data_acquisition_1/iir_cel_ctrlr_v2_1/iir_cel_ctrlr_v2_dataflow_1/ram_ctrlr_v2_1/memcel/ramblk/ramarray(68) {-height 15 -radix decimal} /tb_data_acquisition/top_data_acquisition_1/iir_cel_ctrlr_v2_1/iir_cel_ctrlr_v2_dataflow_1/ram_ctrlr_v2_1/memcel/ramblk/ramarray(69) {-height 15 -radix decimal} /tb_data_acquisition/top_data_acquisition_1/iir_cel_ctrlr_v2_1/iir_cel_ctrlr_v2_dataflow_1/ram_ctrlr_v2_1/memcel/ramblk/ramarray(70) {-height 15 -radix decimal} /tb_data_acquisition/top_data_acquisition_1/iir_cel_ctrlr_v2_1/iir_cel_ctrlr_v2_dataflow_1/ram_ctrlr_v2_1/memcel/ramblk/ramarray(71) {-height 15 -radix decimal} /tb_data_acquisition/top_data_acquisition_1/iir_cel_ctrlr_v2_1/iir_cel_ctrlr_v2_dataflow_1/ram_ctrlr_v2_1/memcel/ramblk/ramarray(72) {-height 15 -radix decimal} /tb_data_acquisition/top_data_acquisition_1/iir_cel_ctrlr_v2_1/iir_cel_ctrlr_v2_dataflow_1/ram_ctrlr_v2_1/memcel/ramblk/ramarray(73) {-height 15 -radix decimal} /tb_data_acquisition/top_data_acquisition_1/iir_cel_ctrlr_v2_1/iir_cel_ctrlr_v2_dataflow_1/ram_ctrlr_v2_1/memcel/ramblk/ramarray(74) {-height 15 -radix decimal} /tb_data_acquisition/top_data_acquisition_1/iir_cel_ctrlr_v2_1/iir_cel_ctrlr_v2_dataflow_1/ram_ctrlr_v2_1/memcel/ramblk/ramarray(75) {-height 15 -radix decimal} /tb_data_acquisition/top_data_acquisition_1/iir_cel_ctrlr_v2_1/iir_cel_ctrlr_v2_dataflow_1/ram_ctrlr_v2_1/memcel/ramblk/ramarray(76) {-height 15 -radix decimal} /tb_data_acquisition/top_data_acquisition_1/iir_cel_ctrlr_v2_1/iir_cel_ctrlr_v2_dataflow_1/ram_ctrlr_v2_1/memcel/ramblk/ramarray(77) {-height 15 -radix decimal} /tb_data_acquisition/top_data_acquisition_1/iir_cel_ctrlr_v2_1/iir_cel_ctrlr_v2_dataflow_1/ram_ctrlr_v2_1/memcel/ramblk/ramarray(78) {-height 15 -radix decimal} /tb_data_acquisition/top_data_acquisition_1/iir_cel_ctrlr_v2_1/iir_cel_ctrlr_v2_dataflow_1/ram_ctrlr_v2_1/memcel/ramblk/ramarray(79) {-height 15 -radix decimal} /tb_data_acquisition/top_data_acquisition_1/iir_cel_ctrlr_v2_1/iir_cel_ctrlr_v2_dataflow_1/ram_ctrlr_v2_1/memcel/ramblk/ramarray(80) {-height 15 -radix decimal} /tb_data_acquisition/top_data_acquisition_1/iir_cel_ctrlr_v2_1/iir_cel_ctrlr_v2_dataflow_1/ram_ctrlr_v2_1/memcel/ramblk/ramarray(81) {-height 15 -radix decimal} /tb_data_acquisition/top_data_acquisition_1/iir_cel_ctrlr_v2_1/iir_cel_ctrlr_v2_dataflow_1/ram_ctrlr_v2_1/memcel/ramblk/ramarray(82) {-height 15 -radix decimal} /tb_data_acquisition/top_data_acquisition_1/iir_cel_ctrlr_v2_1/iir_cel_ctrlr_v2_dataflow_1/ram_ctrlr_v2_1/memcel/ramblk/ramarray(83) {-height 15 -radix decimal} /tb_data_acquisition/top_data_acquisition_1/iir_cel_ctrlr_v2_1/iir_cel_ctrlr_v2_dataflow_1/ram_ctrlr_v2_1/memcel/ramblk/ramarray(84) {-height 15 -radix decimal} /tb_data_acquisition/top_data_acquisition_1/iir_cel_ctrlr_v2_1/iir_cel_ctrlr_v2_dataflow_1/ram_ctrlr_v2_1/memcel/ramblk/ramarray(85) {-height 15 -radix decimal} /tb_data_acquisition/top_data_acquisition_1/iir_cel_ctrlr_v2_1/iir_cel_ctrlr_v2_dataflow_1/ram_ctrlr_v2_1/memcel/ramblk/ramarray(86) {-height 15 -radix decimal} /tb_data_acquisition/top_data_acquisition_1/iir_cel_ctrlr_v2_1/iir_cel_ctrlr_v2_dataflow_1/ram_ctrlr_v2_1/memcel/ramblk/ramarray(87) {-height 15 -radix decimal} /tb_data_acquisition/top_data_acquisition_1/iir_cel_ctrlr_v2_1/iir_cel_ctrlr_v2_dataflow_1/ram_ctrlr_v2_1/memcel/ramblk/ramarray(88) {-height 15 -radix decimal} /tb_data_acquisition/top_data_acquisition_1/iir_cel_ctrlr_v2_1/iir_cel_ctrlr_v2_dataflow_1/ram_ctrlr_v2_1/memcel/ramblk/ramarray(89) {-height 15 -radix decimal} /tb_data_acquisition/top_data_acquisition_1/iir_cel_ctrlr_v2_1/iir_cel_ctrlr_v2_dataflow_1/ram_ctrlr_v2_1/memcel/ramblk/ramarray(90) {-height 15 -radix decimal} /tb_data_acquisition/top_data_acquisition_1/iir_cel_ctrlr_v2_1/iir_cel_ctrlr_v2_dataflow_1/ram_ctrlr_v2_1/memcel/ramblk/ramarray(91) {-height 15 -radix decimal} /tb_data_acquisition/top_data_acquisition_1/iir_cel_ctrlr_v2_1/iir_cel_ctrlr_v2_dataflow_1/ram_ctrlr_v2_1/memcel/ramblk/ramarray(92) {-height 15 -radix decimal} /tb_data_acquisition/top_data_acquisition_1/iir_cel_ctrlr_v2_1/iir_cel_ctrlr_v2_dataflow_1/ram_ctrlr_v2_1/memcel/ramblk/ramarray(93) {-height 15 -radix decimal} /tb_data_acquisition/top_data_acquisition_1/iir_cel_ctrlr_v2_1/iir_cel_ctrlr_v2_dataflow_1/ram_ctrlr_v2_1/memcel/ramblk/ramarray(94) {-height 15 -radix decimal} /tb_data_acquisition/top_data_acquisition_1/iir_cel_ctrlr_v2_1/iir_cel_ctrlr_v2_dataflow_1/ram_ctrlr_v2_1/memcel/ramblk/ramarray(95) {-height 15 -radix decimal} /tb_data_acquisition/top_data_acquisition_1/iir_cel_ctrlr_v2_1/iir_cel_ctrlr_v2_dataflow_1/ram_ctrlr_v2_1/memcel/ramblk/ramarray(96) {-height 15 -radix decimal} /tb_data_acquisition/top_data_acquisition_1/iir_cel_ctrlr_v2_1/iir_cel_ctrlr_v2_dataflow_1/ram_ctrlr_v2_1/memcel/ramblk/ramarray(97) {-height 15 -radix decimal} /tb_data_acquisition/top_data_acquisition_1/iir_cel_ctrlr_v2_1/iir_cel_ctrlr_v2_dataflow_1/ram_ctrlr_v2_1/memcel/ramblk/ramarray(98) {-height 15 -radix decimal} /tb_data_acquisition/top_data_acquisition_1/iir_cel_ctrlr_v2_1/iir_cel_ctrlr_v2_dataflow_1/ram_ctrlr_v2_1/memcel/ramblk/ramarray(99) {-height 15 -radix decimal} /tb_data_acquisition/top_data_acquisition_1/iir_cel_ctrlr_v2_1/iir_cel_ctrlr_v2_dataflow_1/ram_ctrlr_v2_1/memcel/ramblk/ramarray(100) {-height 15 -radix decimal} /tb_data_acquisition/top_data_acquisition_1/iir_cel_ctrlr_v2_1/iir_cel_ctrlr_v2_dataflow_1/ram_ctrlr_v2_1/memcel/ramblk/ramarray(101) {-height 15 -radix decimal} /tb_data_acquisition/top_data_acquisition_1/iir_cel_ctrlr_v2_1/iir_cel_ctrlr_v2_dataflow_1/ram_ctrlr_v2_1/memcel/ramblk/ramarray(102) {-height 15 -radix decimal} /tb_data_acquisition/top_data_acquisition_1/iir_cel_ctrlr_v2_1/iir_cel_ctrlr_v2_dataflow_1/ram_ctrlr_v2_1/memcel/ramblk/ramarray(103) {-height 15 -radix decimal} /tb_data_acquisition/top_data_acquisition_1/iir_cel_ctrlr_v2_1/iir_cel_ctrlr_v2_dataflow_1/ram_ctrlr_v2_1/memcel/ramblk/ramarray(104) {-height 15 -radix decimal} /tb_data_acquisition/top_data_acquisition_1/iir_cel_ctrlr_v2_1/iir_cel_ctrlr_v2_dataflow_1/ram_ctrlr_v2_1/memcel/ramblk/ramarray(105) {-height 15 -radix decimal} /tb_data_acquisition/top_data_acquisition_1/iir_cel_ctrlr_v2_1/iir_cel_ctrlr_v2_dataflow_1/ram_ctrlr_v2_1/memcel/ramblk/ramarray(106) {-height 15 -radix decimal} /tb_data_acquisition/top_data_acquisition_1/iir_cel_ctrlr_v2_1/iir_cel_ctrlr_v2_dataflow_1/ram_ctrlr_v2_1/memcel/ramblk/ramarray(107) {-height 15 -radix decimal} /tb_data_acquisition/top_data_acquisition_1/iir_cel_ctrlr_v2_1/iir_cel_ctrlr_v2_dataflow_1/ram_ctrlr_v2_1/memcel/ramblk/ramarray(108) {-height 15 -radix decimal} /tb_data_acquisition/top_data_acquisition_1/iir_cel_ctrlr_v2_1/iir_cel_ctrlr_v2_dataflow_1/ram_ctrlr_v2_1/memcel/ramblk/ramarray(109) {-height 15 -radix decimal} /tb_data_acquisition/top_data_acquisition_1/iir_cel_ctrlr_v2_1/iir_cel_ctrlr_v2_dataflow_1/ram_ctrlr_v2_1/memcel/ramblk/ramarray(110) {-height 15 -radix decimal} /tb_data_acquisition/top_data_acquisition_1/iir_cel_ctrlr_v2_1/iir_cel_ctrlr_v2_dataflow_1/ram_ctrlr_v2_1/memcel/ramblk/ramarray(111) {-height 15 -radix decimal} /tb_data_acquisition/top_data_acquisition_1/iir_cel_ctrlr_v2_1/iir_cel_ctrlr_v2_dataflow_1/ram_ctrlr_v2_1/memcel/ramblk/ramarray(112) {-height 15 -radix decimal} /tb_data_acquisition/top_data_acquisition_1/iir_cel_ctrlr_v2_1/iir_cel_ctrlr_v2_dataflow_1/ram_ctrlr_v2_1/memcel/ramblk/ramarray(113) {-height 15 -radix decimal} /tb_data_acquisition/top_data_acquisition_1/iir_cel_ctrlr_v2_1/iir_cel_ctrlr_v2_dataflow_1/ram_ctrlr_v2_1/memcel/ramblk/ramarray(114) {-height 15 -radix decimal} /tb_data_acquisition/top_data_acquisition_1/iir_cel_ctrlr_v2_1/iir_cel_ctrlr_v2_dataflow_1/ram_ctrlr_v2_1/memcel/ramblk/ramarray(115) {-height 15 -radix decimal} /tb_data_acquisition/top_data_acquisition_1/iir_cel_ctrlr_v2_1/iir_cel_ctrlr_v2_dataflow_1/ram_ctrlr_v2_1/memcel/ramblk/ramarray(116) {-height 15 -radix decimal} /tb_data_acquisition/top_data_acquisition_1/iir_cel_ctrlr_v2_1/iir_cel_ctrlr_v2_dataflow_1/ram_ctrlr_v2_1/memcel/ramblk/ramarray(117) {-height 15 -radix decimal} /tb_data_acquisition/top_data_acquisition_1/iir_cel_ctrlr_v2_1/iir_cel_ctrlr_v2_dataflow_1/ram_ctrlr_v2_1/memcel/ramblk/ramarray(118) {-height 15 -radix decimal} /tb_data_acquisition/top_data_acquisition_1/iir_cel_ctrlr_v2_1/iir_cel_ctrlr_v2_dataflow_1/ram_ctrlr_v2_1/memcel/ramblk/ramarray(119) {-height 15 -radix decimal} /tb_data_acquisition/top_data_acquisition_1/iir_cel_ctrlr_v2_1/iir_cel_ctrlr_v2_dataflow_1/ram_ctrlr_v2_1/memcel/ramblk/ramarray(120) {-height 15 -radix decimal} /tb_data_acquisition/top_data_acquisition_1/iir_cel_ctrlr_v2_1/iir_cel_ctrlr_v2_dataflow_1/ram_ctrlr_v2_1/memcel/ramblk/ramarray(121) {-height 15 -radix decimal} /tb_data_acquisition/top_data_acquisition_1/iir_cel_ctrlr_v2_1/iir_cel_ctrlr_v2_dataflow_1/ram_ctrlr_v2_1/memcel/ramblk/ramarray(122) {-height 15 -radix decimal} /tb_data_acquisition/top_data_acquisition_1/iir_cel_ctrlr_v2_1/iir_cel_ctrlr_v2_dataflow_1/ram_ctrlr_v2_1/memcel/ramblk/ramarray(123) {-height 15 -radix decimal} /tb_data_acquisition/top_data_acquisition_1/iir_cel_ctrlr_v2_1/iir_cel_ctrlr_v2_dataflow_1/ram_ctrlr_v2_1/memcel/ramblk/ramarray(124) {-height 15 -radix decimal} /tb_data_acquisition/top_data_acquisition_1/iir_cel_ctrlr_v2_1/iir_cel_ctrlr_v2_dataflow_1/ram_ctrlr_v2_1/memcel/ramblk/ramarray(125) {-height 15 -radix decimal} /tb_data_acquisition/top_data_acquisition_1/iir_cel_ctrlr_v2_1/iir_cel_ctrlr_v2_dataflow_1/ram_ctrlr_v2_1/memcel/ramblk/ramarray(126) {-height 15 -radix decimal} /tb_data_acquisition/top_data_acquisition_1/iir_cel_ctrlr_v2_1/iir_cel_ctrlr_v2_dataflow_1/ram_ctrlr_v2_1/memcel/ramblk/ramarray(127) {-height 15 -radix decimal} /tb_data_acquisition/top_data_acquisition_1/iir_cel_ctrlr_v2_1/iir_cel_ctrlr_v2_dataflow_1/ram_ctrlr_v2_1/memcel/ramblk/ramarray(128) {-height 15 -radix decimal} /tb_data_acquisition/top_data_acquisition_1/iir_cel_ctrlr_v2_1/iir_cel_ctrlr_v2_dataflow_1/ram_ctrlr_v2_1/memcel/ramblk/ramarray(129) {-height 15 -radix decimal} /tb_data_acquisition/top_data_acquisition_1/iir_cel_ctrlr_v2_1/iir_cel_ctrlr_v2_dataflow_1/ram_ctrlr_v2_1/memcel/ramblk/ramarray(130) {-height 15 -radix decimal} /tb_data_acquisition/top_data_acquisition_1/iir_cel_ctrlr_v2_1/iir_cel_ctrlr_v2_dataflow_1/ram_ctrlr_v2_1/memcel/ramblk/ramarray(131) {-height 15 -radix decimal} /tb_data_acquisition/top_data_acquisition_1/iir_cel_ctrlr_v2_1/iir_cel_ctrlr_v2_dataflow_1/ram_ctrlr_v2_1/memcel/ramblk/ramarray(132) {-height 15 -radix decimal} /tb_data_acquisition/top_data_acquisition_1/iir_cel_ctrlr_v2_1/iir_cel_ctrlr_v2_dataflow_1/ram_ctrlr_v2_1/memcel/ramblk/ramarray(133) {-height 15 -radix decimal} /tb_data_acquisition/top_data_acquisition_1/iir_cel_ctrlr_v2_1/iir_cel_ctrlr_v2_dataflow_1/ram_ctrlr_v2_1/memcel/ramblk/ramarray(134) {-height 15 -radix decimal} /tb_data_acquisition/top_data_acquisition_1/iir_cel_ctrlr_v2_1/iir_cel_ctrlr_v2_dataflow_1/ram_ctrlr_v2_1/memcel/ramblk/ramarray(135) {-height 15 -radix decimal} /tb_data_acquisition/top_data_acquisition_1/iir_cel_ctrlr_v2_1/iir_cel_ctrlr_v2_dataflow_1/ram_ctrlr_v2_1/memcel/ramblk/ramarray(136) {-height 15 -radix decimal} /tb_data_acquisition/top_data_acquisition_1/iir_cel_ctrlr_v2_1/iir_cel_ctrlr_v2_dataflow_1/ram_ctrlr_v2_1/memcel/ramblk/ramarray(137) {-height 15 -radix decimal} /tb_data_acquisition/top_data_acquisition_1/iir_cel_ctrlr_v2_1/iir_cel_ctrlr_v2_dataflow_1/ram_ctrlr_v2_1/memcel/ramblk/ramarray(138) {-height 15 -radix decimal} /tb_data_acquisition/top_data_acquisition_1/iir_cel_ctrlr_v2_1/iir_cel_ctrlr_v2_dataflow_1/ram_ctrlr_v2_1/memcel/ramblk/ramarray(139) {-height 15 -radix decimal} /tb_data_acquisition/top_data_acquisition_1/iir_cel_ctrlr_v2_1/iir_cel_ctrlr_v2_dataflow_1/ram_ctrlr_v2_1/memcel/ramblk/ramarray(140) {-height 15 -radix decimal} /tb_data_acquisition/top_data_acquisition_1/iir_cel_ctrlr_v2_1/iir_cel_ctrlr_v2_dataflow_1/ram_ctrlr_v2_1/memcel/ramblk/ramarray(141) {-height 15 -radix decimal} /tb_data_acquisition/top_data_acquisition_1/iir_cel_ctrlr_v2_1/iir_cel_ctrlr_v2_dataflow_1/ram_ctrlr_v2_1/memcel/ramblk/ramarray(142) {-height 15 -radix decimal} /tb_data_acquisition/top_data_acquisition_1/iir_cel_ctrlr_v2_1/iir_cel_ctrlr_v2_dataflow_1/ram_ctrlr_v2_1/memcel/ramblk/ramarray(143) {-height 15 -radix decimal} /tb_data_acquisition/top_data_acquisition_1/iir_cel_ctrlr_v2_1/iir_cel_ctrlr_v2_dataflow_1/ram_ctrlr_v2_1/memcel/ramblk/ramarray(144) {-height 15 -radix decimal} /tb_data_acquisition/top_data_acquisition_1/iir_cel_ctrlr_v2_1/iir_cel_ctrlr_v2_dataflow_1/ram_ctrlr_v2_1/memcel/ramblk/ramarray(145) {-height 15 -radix decimal} /tb_data_acquisition/top_data_acquisition_1/iir_cel_ctrlr_v2_1/iir_cel_ctrlr_v2_dataflow_1/ram_ctrlr_v2_1/memcel/ramblk/ramarray(146) {-height 15 -radix decimal} /tb_data_acquisition/top_data_acquisition_1/iir_cel_ctrlr_v2_1/iir_cel_ctrlr_v2_dataflow_1/ram_ctrlr_v2_1/memcel/ramblk/ramarray(147) {-height 15 -radix decimal} /tb_data_acquisition/top_data_acquisition_1/iir_cel_ctrlr_v2_1/iir_cel_ctrlr_v2_dataflow_1/ram_ctrlr_v2_1/memcel/ramblk/ramarray(148) {-height 15 -radix decimal} /tb_data_acquisition/top_data_acquisition_1/iir_cel_ctrlr_v2_1/iir_cel_ctrlr_v2_dataflow_1/ram_ctrlr_v2_1/memcel/ramblk/ramarray(149) {-height 15 -radix decimal} /tb_data_acquisition/top_data_acquisition_1/iir_cel_ctrlr_v2_1/iir_cel_ctrlr_v2_dataflow_1/ram_ctrlr_v2_1/memcel/ramblk/ramarray(150) {-height 15 -radix decimal} /tb_data_acquisition/top_data_acquisition_1/iir_cel_ctrlr_v2_1/iir_cel_ctrlr_v2_dataflow_1/ram_ctrlr_v2_1/memcel/ramblk/ramarray(151) {-height 15 -radix decimal} /tb_data_acquisition/top_data_acquisition_1/iir_cel_ctrlr_v2_1/iir_cel_ctrlr_v2_dataflow_1/ram_ctrlr_v2_1/memcel/ramblk/ramarray(152) {-height 15 -radix decimal} /tb_data_acquisition/top_data_acquisition_1/iir_cel_ctrlr_v2_1/iir_cel_ctrlr_v2_dataflow_1/ram_ctrlr_v2_1/memcel/ramblk/ramarray(153) {-height 15 -radix decimal} /tb_data_acquisition/top_data_acquisition_1/iir_cel_ctrlr_v2_1/iir_cel_ctrlr_v2_dataflow_1/ram_ctrlr_v2_1/memcel/ramblk/ramarray(154) {-height 15 -radix decimal} /tb_data_acquisition/top_data_acquisition_1/iir_cel_ctrlr_v2_1/iir_cel_ctrlr_v2_dataflow_1/ram_ctrlr_v2_1/memcel/ramblk/ramarray(155) {-height 15 -radix decimal} /tb_data_acquisition/top_data_acquisition_1/iir_cel_ctrlr_v2_1/iir_cel_ctrlr_v2_dataflow_1/ram_ctrlr_v2_1/memcel/ramblk/ramarray(156) {-height 15 -radix decimal} /tb_data_acquisition/top_data_acquisition_1/iir_cel_ctrlr_v2_1/iir_cel_ctrlr_v2_dataflow_1/ram_ctrlr_v2_1/memcel/ramblk/ramarray(157) {-height 15 -radix decimal} /tb_data_acquisition/top_data_acquisition_1/iir_cel_ctrlr_v2_1/iir_cel_ctrlr_v2_dataflow_1/ram_ctrlr_v2_1/memcel/ramblk/ramarray(158) {-height 15 -radix decimal} /tb_data_acquisition/top_data_acquisition_1/iir_cel_ctrlr_v2_1/iir_cel_ctrlr_v2_dataflow_1/ram_ctrlr_v2_1/memcel/ramblk/ramarray(159) {-height 15 -radix decimal} /tb_data_acquisition/top_data_acquisition_1/iir_cel_ctrlr_v2_1/iir_cel_ctrlr_v2_dataflow_1/ram_ctrlr_v2_1/memcel/ramblk/ramarray(160) {-height 15 -radix decimal} /tb_data_acquisition/top_data_acquisition_1/iir_cel_ctrlr_v2_1/iir_cel_ctrlr_v2_dataflow_1/ram_ctrlr_v2_1/memcel/ramblk/ramarray(161) {-height 15 -radix decimal} /tb_data_acquisition/top_data_acquisition_1/iir_cel_ctrlr_v2_1/iir_cel_ctrlr_v2_dataflow_1/ram_ctrlr_v2_1/memcel/ramblk/ramarray(162) {-height 15 -radix decimal} /tb_data_acquisition/top_data_acquisition_1/iir_cel_ctrlr_v2_1/iir_cel_ctrlr_v2_dataflow_1/ram_ctrlr_v2_1/memcel/ramblk/ramarray(163) {-height 15 -radix decimal} /tb_data_acquisition/top_data_acquisition_1/iir_cel_ctrlr_v2_1/iir_cel_ctrlr_v2_dataflow_1/ram_ctrlr_v2_1/memcel/ramblk/ramarray(164) {-height 15 -radix decimal} /tb_data_acquisition/top_data_acquisition_1/iir_cel_ctrlr_v2_1/iir_cel_ctrlr_v2_dataflow_1/ram_ctrlr_v2_1/memcel/ramblk/ramarray(165) {-height 15 -radix decimal} /tb_data_acquisition/top_data_acquisition_1/iir_cel_ctrlr_v2_1/iir_cel_ctrlr_v2_dataflow_1/ram_ctrlr_v2_1/memcel/ramblk/ramarray(166) {-height 15 -radix decimal} /tb_data_acquisition/top_data_acquisition_1/iir_cel_ctrlr_v2_1/iir_cel_ctrlr_v2_dataflow_1/ram_ctrlr_v2_1/memcel/ramblk/ramarray(167) {-height 15 -radix decimal} /tb_data_acquisition/top_data_acquisition_1/iir_cel_ctrlr_v2_1/iir_cel_ctrlr_v2_dataflow_1/ram_ctrlr_v2_1/memcel/ramblk/ramarray(168) {-height 15 -radix decimal} /tb_data_acquisition/top_data_acquisition_1/iir_cel_ctrlr_v2_1/iir_cel_ctrlr_v2_dataflow_1/ram_ctrlr_v2_1/memcel/ramblk/ramarray(169) {-height 15 -radix decimal} /tb_data_acquisition/top_data_acquisition_1/iir_cel_ctrlr_v2_1/iir_cel_ctrlr_v2_dataflow_1/ram_ctrlr_v2_1/memcel/ramblk/ramarray(170) {-height 15 -radix decimal} /tb_data_acquisition/top_data_acquisition_1/iir_cel_ctrlr_v2_1/iir_cel_ctrlr_v2_dataflow_1/ram_ctrlr_v2_1/memcel/ramblk/ramarray(171) {-height 15 -radix decimal} /tb_data_acquisition/top_data_acquisition_1/iir_cel_ctrlr_v2_1/iir_cel_ctrlr_v2_dataflow_1/ram_ctrlr_v2_1/memcel/ramblk/ramarray(172) {-height 15 -radix decimal} /tb_data_acquisition/top_data_acquisition_1/iir_cel_ctrlr_v2_1/iir_cel_ctrlr_v2_dataflow_1/ram_ctrlr_v2_1/memcel/ramblk/ramarray(173) {-height 15 -radix decimal} /tb_data_acquisition/top_data_acquisition_1/iir_cel_ctrlr_v2_1/iir_cel_ctrlr_v2_dataflow_1/ram_ctrlr_v2_1/memcel/ramblk/ramarray(174) {-height 15 -radix decimal} /tb_data_acquisition/top_data_acquisition_1/iir_cel_ctrlr_v2_1/iir_cel_ctrlr_v2_dataflow_1/ram_ctrlr_v2_1/memcel/ramblk/ramarray(175) {-height 15 -radix decimal} /tb_data_acquisition/top_data_acquisition_1/iir_cel_ctrlr_v2_1/iir_cel_ctrlr_v2_dataflow_1/ram_ctrlr_v2_1/memcel/ramblk/ramarray(176) {-height 15 -radix decimal} /tb_data_acquisition/top_data_acquisition_1/iir_cel_ctrlr_v2_1/iir_cel_ctrlr_v2_dataflow_1/ram_ctrlr_v2_1/memcel/ramblk/ramarray(177) {-height 15 -radix decimal} /tb_data_acquisition/top_data_acquisition_1/iir_cel_ctrlr_v2_1/iir_cel_ctrlr_v2_dataflow_1/ram_ctrlr_v2_1/memcel/ramblk/ramarray(178) {-height 15 -radix decimal} /tb_data_acquisition/top_data_acquisition_1/iir_cel_ctrlr_v2_1/iir_cel_ctrlr_v2_dataflow_1/ram_ctrlr_v2_1/memcel/ramblk/ramarray(179) {-height 15 -radix decimal} /tb_data_acquisition/top_data_acquisition_1/iir_cel_ctrlr_v2_1/iir_cel_ctrlr_v2_dataflow_1/ram_ctrlr_v2_1/memcel/ramblk/ramarray(180) {-height 15 -radix decimal} /tb_data_acquisition/top_data_acquisition_1/iir_cel_ctrlr_v2_1/iir_cel_ctrlr_v2_dataflow_1/ram_ctrlr_v2_1/memcel/ramblk/ramarray(181) {-height 15 -radix decimal} /tb_data_acquisition/top_data_acquisition_1/iir_cel_ctrlr_v2_1/iir_cel_ctrlr_v2_dataflow_1/ram_ctrlr_v2_1/memcel/ramblk/ramarray(182) {-height 15 -radix decimal} /tb_data_acquisition/top_data_acquisition_1/iir_cel_ctrlr_v2_1/iir_cel_ctrlr_v2_dataflow_1/ram_ctrlr_v2_1/memcel/ramblk/ramarray(183) {-height 15 -radix decimal} /tb_data_acquisition/top_data_acquisition_1/iir_cel_ctrlr_v2_1/iir_cel_ctrlr_v2_dataflow_1/ram_ctrlr_v2_1/memcel/ramblk/ramarray(184) {-height 15 -radix decimal} /tb_data_acquisition/top_data_acquisition_1/iir_cel_ctrlr_v2_1/iir_cel_ctrlr_v2_dataflow_1/ram_ctrlr_v2_1/memcel/ramblk/ramarray(185) {-height 15 -radix decimal} /tb_data_acquisition/top_data_acquisition_1/iir_cel_ctrlr_v2_1/iir_cel_ctrlr_v2_dataflow_1/ram_ctrlr_v2_1/memcel/ramblk/ramarray(186) {-height 15 -radix decimal} /tb_data_acquisition/top_data_acquisition_1/iir_cel_ctrlr_v2_1/iir_cel_ctrlr_v2_dataflow_1/ram_ctrlr_v2_1/memcel/ramblk/ramarray(187) {-height 15 -radix decimal} /tb_data_acquisition/top_data_acquisition_1/iir_cel_ctrlr_v2_1/iir_cel_ctrlr_v2_dataflow_1/ram_ctrlr_v2_1/memcel/ramblk/ramarray(188) {-height 15 -radix decimal} /tb_data_acquisition/top_data_acquisition_1/iir_cel_ctrlr_v2_1/iir_cel_ctrlr_v2_dataflow_1/ram_ctrlr_v2_1/memcel/ramblk/ramarray(189) {-height 15 -radix decimal} /tb_data_acquisition/top_data_acquisition_1/iir_cel_ctrlr_v2_1/iir_cel_ctrlr_v2_dataflow_1/ram_ctrlr_v2_1/memcel/ramblk/ramarray(190) {-height 15 -radix decimal} /tb_data_acquisition/top_data_acquisition_1/iir_cel_ctrlr_v2_1/iir_cel_ctrlr_v2_dataflow_1/ram_ctrlr_v2_1/memcel/ramblk/ramarray(191) {-height 15 -radix decimal} /tb_data_acquisition/top_data_acquisition_1/iir_cel_ctrlr_v2_1/iir_cel_ctrlr_v2_dataflow_1/ram_ctrlr_v2_1/memcel/ramblk/ramarray(192) {-height 15 -radix decimal} /tb_data_acquisition/top_data_acquisition_1/iir_cel_ctrlr_v2_1/iir_cel_ctrlr_v2_dataflow_1/ram_ctrlr_v2_1/memcel/ramblk/ramarray(193) {-height 15 -radix decimal} /tb_data_acquisition/top_data_acquisition_1/iir_cel_ctrlr_v2_1/iir_cel_ctrlr_v2_dataflow_1/ram_ctrlr_v2_1/memcel/ramblk/ramarray(194) {-height 15 -radix decimal} /tb_data_acquisition/top_data_acquisition_1/iir_cel_ctrlr_v2_1/iir_cel_ctrlr_v2_dataflow_1/ram_ctrlr_v2_1/memcel/ramblk/ramarray(195) {-height 15 -radix decimal} /tb_data_acquisition/top_data_acquisition_1/iir_cel_ctrlr_v2_1/iir_cel_ctrlr_v2_dataflow_1/ram_ctrlr_v2_1/memcel/ramblk/ramarray(196) {-height 15 -radix decimal} /tb_data_acquisition/top_data_acquisition_1/iir_cel_ctrlr_v2_1/iir_cel_ctrlr_v2_dataflow_1/ram_ctrlr_v2_1/memcel/ramblk/ramarray(197) {-height 15 -radix decimal} /tb_data_acquisition/top_data_acquisition_1/iir_cel_ctrlr_v2_1/iir_cel_ctrlr_v2_dataflow_1/ram_ctrlr_v2_1/memcel/ramblk/ramarray(198) {-height 15 -radix decimal} /tb_data_acquisition/top_data_acquisition_1/iir_cel_ctrlr_v2_1/iir_cel_ctrlr_v2_dataflow_1/ram_ctrlr_v2_1/memcel/ramblk/ramarray(199) {-height 15 -radix decimal} /tb_data_acquisition/top_data_acquisition_1/iir_cel_ctrlr_v2_1/iir_cel_ctrlr_v2_dataflow_1/ram_ctrlr_v2_1/memcel/ramblk/ramarray(200) {-height 15 -radix decimal} /tb_data_acquisition/top_data_acquisition_1/iir_cel_ctrlr_v2_1/iir_cel_ctrlr_v2_dataflow_1/ram_ctrlr_v2_1/memcel/ramblk/ramarray(201) {-height 15 -radix decimal} /tb_data_acquisition/top_data_acquisition_1/iir_cel_ctrlr_v2_1/iir_cel_ctrlr_v2_dataflow_1/ram_ctrlr_v2_1/memcel/ramblk/ramarray(202) {-height 15 -radix decimal} /tb_data_acquisition/top_data_acquisition_1/iir_cel_ctrlr_v2_1/iir_cel_ctrlr_v2_dataflow_1/ram_ctrlr_v2_1/memcel/ramblk/ramarray(203) {-height 15 -radix decimal} /tb_data_acquisition/top_data_acquisition_1/iir_cel_ctrlr_v2_1/iir_cel_ctrlr_v2_dataflow_1/ram_ctrlr_v2_1/memcel/ramblk/ramarray(204) {-height 15 -radix decimal} /tb_data_acquisition/top_data_acquisition_1/iir_cel_ctrlr_v2_1/iir_cel_ctrlr_v2_dataflow_1/ram_ctrlr_v2_1/memcel/ramblk/ramarray(205) {-height 15 -radix decimal} /tb_data_acquisition/top_data_acquisition_1/iir_cel_ctrlr_v2_1/iir_cel_ctrlr_v2_dataflow_1/ram_ctrlr_v2_1/memcel/ramblk/ramarray(206) {-height 15 -radix decimal} /tb_data_acquisition/top_data_acquisition_1/iir_cel_ctrlr_v2_1/iir_cel_ctrlr_v2_dataflow_1/ram_ctrlr_v2_1/memcel/ramblk/ramarray(207) {-height 15 -radix decimal} /tb_data_acquisition/top_data_acquisition_1/iir_cel_ctrlr_v2_1/iir_cel_ctrlr_v2_dataflow_1/ram_ctrlr_v2_1/memcel/ramblk/ramarray(208) {-height 15 -radix decimal} /tb_data_acquisition/top_data_acquisition_1/iir_cel_ctrlr_v2_1/iir_cel_ctrlr_v2_dataflow_1/ram_ctrlr_v2_1/memcel/ramblk/ramarray(209) {-height 15 -radix decimal} /tb_data_acquisition/top_data_acquisition_1/iir_cel_ctrlr_v2_1/iir_cel_ctrlr_v2_dataflow_1/ram_ctrlr_v2_1/memcel/ramblk/ramarray(210) {-height 15 -radix decimal} /tb_data_acquisition/top_data_acquisition_1/iir_cel_ctrlr_v2_1/iir_cel_ctrlr_v2_dataflow_1/ram_ctrlr_v2_1/memcel/ramblk/ramarray(211) {-height 15 -radix decimal} /tb_data_acquisition/top_data_acquisition_1/iir_cel_ctrlr_v2_1/iir_cel_ctrlr_v2_dataflow_1/ram_ctrlr_v2_1/memcel/ramblk/ramarray(212) {-height 15 -radix decimal} /tb_data_acquisition/top_data_acquisition_1/iir_cel_ctrlr_v2_1/iir_cel_ctrlr_v2_dataflow_1/ram_ctrlr_v2_1/memcel/ramblk/ramarray(213) {-height 15 -radix decimal} /tb_data_acquisition/top_data_acquisition_1/iir_cel_ctrlr_v2_1/iir_cel_ctrlr_v2_dataflow_1/ram_ctrlr_v2_1/memcel/ramblk/ramarray(214) {-height 15 -radix decimal} /tb_data_acquisition/top_data_acquisition_1/iir_cel_ctrlr_v2_1/iir_cel_ctrlr_v2_dataflow_1/ram_ctrlr_v2_1/memcel/ramblk/ramarray(215) {-height 15 -radix decimal} /tb_data_acquisition/top_data_acquisition_1/iir_cel_ctrlr_v2_1/iir_cel_ctrlr_v2_dataflow_1/ram_ctrlr_v2_1/memcel/ramblk/ramarray(216) {-height 15 -radix decimal} /tb_data_acquisition/top_data_acquisition_1/iir_cel_ctrlr_v2_1/iir_cel_ctrlr_v2_dataflow_1/ram_ctrlr_v2_1/memcel/ramblk/ramarray(217) {-height 15 -radix decimal} /tb_data_acquisition/top_data_acquisition_1/iir_cel_ctrlr_v2_1/iir_cel_ctrlr_v2_dataflow_1/ram_ctrlr_v2_1/memcel/ramblk/ramarray(218) {-height 15 -radix decimal} /tb_data_acquisition/top_data_acquisition_1/iir_cel_ctrlr_v2_1/iir_cel_ctrlr_v2_dataflow_1/ram_ctrlr_v2_1/memcel/ramblk/ramarray(219) {-height 15 -radix decimal} /tb_data_acquisition/top_data_acquisition_1/iir_cel_ctrlr_v2_1/iir_cel_ctrlr_v2_dataflow_1/ram_ctrlr_v2_1/memcel/ramblk/ramarray(220) {-height 15 -radix decimal} /tb_data_acquisition/top_data_acquisition_1/iir_cel_ctrlr_v2_1/iir_cel_ctrlr_v2_dataflow_1/ram_ctrlr_v2_1/memcel/ramblk/ramarray(221) {-height 15 -radix decimal} /tb_data_acquisition/top_data_acquisition_1/iir_cel_ctrlr_v2_1/iir_cel_ctrlr_v2_dataflow_1/ram_ctrlr_v2_1/memcel/ramblk/ramarray(222) {-height 15 -radix decimal} /tb_data_acquisition/top_data_acquisition_1/iir_cel_ctrlr_v2_1/iir_cel_ctrlr_v2_dataflow_1/ram_ctrlr_v2_1/memcel/ramblk/ramarray(223) {-height 15 -radix decimal} /tb_data_acquisition/top_data_acquisition_1/iir_cel_ctrlr_v2_1/iir_cel_ctrlr_v2_dataflow_1/ram_ctrlr_v2_1/memcel/ramblk/ramarray(224) {-height 15 -radix decimal} /tb_data_acquisition/top_data_acquisition_1/iir_cel_ctrlr_v2_1/iir_cel_ctrlr_v2_dataflow_1/ram_ctrlr_v2_1/memcel/ramblk/ramarray(225) {-height 15 -radix decimal} /tb_data_acquisition/top_data_acquisition_1/iir_cel_ctrlr_v2_1/iir_cel_ctrlr_v2_dataflow_1/ram_ctrlr_v2_1/memcel/ramblk/ramarray(226) {-height 15 -radix decimal} /tb_data_acquisition/top_data_acquisition_1/iir_cel_ctrlr_v2_1/iir_cel_ctrlr_v2_dataflow_1/ram_ctrlr_v2_1/memcel/ramblk/ramarray(227) {-height 15 -radix decimal} /tb_data_acquisition/top_data_acquisition_1/iir_cel_ctrlr_v2_1/iir_cel_ctrlr_v2_dataflow_1/ram_ctrlr_v2_1/memcel/ramblk/ramarray(228) {-height 15 -radix decimal} /tb_data_acquisition/top_data_acquisition_1/iir_cel_ctrlr_v2_1/iir_cel_ctrlr_v2_dataflow_1/ram_ctrlr_v2_1/memcel/ramblk/ramarray(229) {-height 15 -radix decimal} /tb_data_acquisition/top_data_acquisition_1/iir_cel_ctrlr_v2_1/iir_cel_ctrlr_v2_dataflow_1/ram_ctrlr_v2_1/memcel/ramblk/ramarray(230) {-height 15 -radix decimal} /tb_data_acquisition/top_data_acquisition_1/iir_cel_ctrlr_v2_1/iir_cel_ctrlr_v2_dataflow_1/ram_ctrlr_v2_1/memcel/ramblk/ramarray(231) {-height 15 -radix decimal} /tb_data_acquisition/top_data_acquisition_1/iir_cel_ctrlr_v2_1/iir_cel_ctrlr_v2_dataflow_1/ram_ctrlr_v2_1/memcel/ramblk/ramarray(232) {-height 15 -radix decimal} /tb_data_acquisition/top_data_acquisition_1/iir_cel_ctrlr_v2_1/iir_cel_ctrlr_v2_dataflow_1/ram_ctrlr_v2_1/memcel/ramblk/ramarray(233) {-height 15 -radix decimal} /tb_data_acquisition/top_data_acquisition_1/iir_cel_ctrlr_v2_1/iir_cel_ctrlr_v2_dataflow_1/ram_ctrlr_v2_1/memcel/ramblk/ramarray(234) {-height 15 -radix decimal} /tb_data_acquisition/top_data_acquisition_1/iir_cel_ctrlr_v2_1/iir_cel_ctrlr_v2_dataflow_1/ram_ctrlr_v2_1/memcel/ramblk/ramarray(235) {-height 15 -radix decimal} /tb_data_acquisition/top_data_acquisition_1/iir_cel_ctrlr_v2_1/iir_cel_ctrlr_v2_dataflow_1/ram_ctrlr_v2_1/memcel/ramblk/ramarray(236) {-height 15 -radix decimal} /tb_data_acquisition/top_data_acquisition_1/iir_cel_ctrlr_v2_1/iir_cel_ctrlr_v2_dataflow_1/ram_ctrlr_v2_1/memcel/ramblk/ramarray(237) {-height 15 -radix decimal} /tb_data_acquisition/top_data_acquisition_1/iir_cel_ctrlr_v2_1/iir_cel_ctrlr_v2_dataflow_1/ram_ctrlr_v2_1/memcel/ramblk/ramarray(238) {-height 15 -radix decimal} /tb_data_acquisition/top_data_acquisition_1/iir_cel_ctrlr_v2_1/iir_cel_ctrlr_v2_dataflow_1/ram_ctrlr_v2_1/memcel/ramblk/ramarray(239) {-height 15 -radix decimal} /tb_data_acquisition/top_data_acquisition_1/iir_cel_ctrlr_v2_1/iir_cel_ctrlr_v2_dataflow_1/ram_ctrlr_v2_1/memcel/ramblk/ramarray(240) {-height 15 -radix decimal} /tb_data_acquisition/top_data_acquisition_1/iir_cel_ctrlr_v2_1/iir_cel_ctrlr_v2_dataflow_1/ram_ctrlr_v2_1/memcel/ramblk/ramarray(241) {-height 15 -radix decimal} /tb_data_acquisition/top_data_acquisition_1/iir_cel_ctrlr_v2_1/iir_cel_ctrlr_v2_dataflow_1/ram_ctrlr_v2_1/memcel/ramblk/ramarray(242) {-height 15 -radix decimal} /tb_data_acquisition/top_data_acquisition_1/iir_cel_ctrlr_v2_1/iir_cel_ctrlr_v2_dataflow_1/ram_ctrlr_v2_1/memcel/ramblk/ramarray(243) {-height 15 -radix decimal} /tb_data_acquisition/top_data_acquisition_1/iir_cel_ctrlr_v2_1/iir_cel_ctrlr_v2_dataflow_1/ram_ctrlr_v2_1/memcel/ramblk/ramarray(244) {-height 15 -radix decimal} /tb_data_acquisition/top_data_acquisition_1/iir_cel_ctrlr_v2_1/iir_cel_ctrlr_v2_dataflow_1/ram_ctrlr_v2_1/memcel/ramblk/ramarray(245) {-height 15 -radix decimal} /tb_data_acquisition/top_data_acquisition_1/iir_cel_ctrlr_v2_1/iir_cel_ctrlr_v2_dataflow_1/ram_ctrlr_v2_1/memcel/ramblk/ramarray(246) {-height 15 -radix decimal} /tb_data_acquisition/top_data_acquisition_1/iir_cel_ctrlr_v2_1/iir_cel_ctrlr_v2_dataflow_1/ram_ctrlr_v2_1/memcel/ramblk/ramarray(247) {-height 15 -radix decimal} /tb_data_acquisition/top_data_acquisition_1/iir_cel_ctrlr_v2_1/iir_cel_ctrlr_v2_dataflow_1/ram_ctrlr_v2_1/memcel/ramblk/ramarray(248) {-height 15 -radix decimal} /tb_data_acquisition/top_data_acquisition_1/iir_cel_ctrlr_v2_1/iir_cel_ctrlr_v2_dataflow_1/ram_ctrlr_v2_1/memcel/ramblk/ramarray(249) {-height 15 -radix decimal} /tb_data_acquisition/top_data_acquisition_1/iir_cel_ctrlr_v2_1/iir_cel_ctrlr_v2_dataflow_1/ram_ctrlr_v2_1/memcel/ramblk/ramarray(250) {-height 15 -radix decimal} /tb_data_acquisition/top_data_acquisition_1/iir_cel_ctrlr_v2_1/iir_cel_ctrlr_v2_dataflow_1/ram_ctrlr_v2_1/memcel/ramblk/ramarray(251) {-height 15 -radix decimal} /tb_data_acquisition/top_data_acquisition_1/iir_cel_ctrlr_v2_1/iir_cel_ctrlr_v2_dataflow_1/ram_ctrlr_v2_1/memcel/ramblk/ramarray(252) {-height 15 -radix decimal} /tb_data_acquisition/top_data_acquisition_1/iir_cel_ctrlr_v2_1/iir_cel_ctrlr_v2_dataflow_1/ram_ctrlr_v2_1/memcel/ramblk/ramarray(253) {-height 15 -radix decimal} /tb_data_acquisition/top_data_acquisition_1/iir_cel_ctrlr_v2_1/iir_cel_ctrlr_v2_dataflow_1/ram_ctrlr_v2_1/memcel/ramblk/ramarray(254) {-height 15 -radix decimal} /tb_data_acquisition/top_data_acquisition_1/iir_cel_ctrlr_v2_1/iir_cel_ctrlr_v2_dataflow_1/ram_ctrlr_v2_1/memcel/ramblk/ramarray(255) {-height 15 -radix decimal}} /tb_data_acquisition/top_data_acquisition_1/iir_cel_ctrlr_v2_1/iir_cel_ctrlr_v2_dataflow_1/ram_ctrlr_v2_1/memcel/ramblk/ramarray | |
|
172 | add wave -noupdate -group DATAFLOW_RAM -group COUNTER -radix decimal /tb_data_acquisition/top_data_acquisition_1/iir_cel_ctrlr_v2_1/iir_cel_ctrlr_v2_dataflow_1/ram_ctrlr_v2_1/counter | |
|
173 | add wave -noupdate -group DATAFLOW_RAM -group COUNTER /tb_data_acquisition/top_data_acquisition_1/iir_cel_ctrlr_v2_1/iir_cel_ctrlr_v2_dataflow_1/ram_ctrlr_v2_1/raddr_rst | |
|
174 | add wave -noupdate -group DATAFLOW_RAM -group COUNTER /tb_data_acquisition/top_data_acquisition_1/iir_cel_ctrlr_v2_1/iir_cel_ctrlr_v2_dataflow_1/ram_ctrlr_v2_1/raddr_add1 | |
|
175 | add wave -noupdate -group DATAFLOW_RAM -group COUNTER /tb_data_acquisition/top_data_acquisition_1/iir_cel_ctrlr_v2_1/iir_cel_ctrlr_v2_dataflow_1/ram_ctrlr_v2_1/waddr_previous | |
|
176 | add wave -noupdate -group DATAFLOW_RAM -group WRITE /tb_data_acquisition/top_data_acquisition_1/iir_cel_ctrlr_v2_1/iir_cel_ctrlr_v2_dataflow_1/ram_ctrlr_v2_1/ram_write | |
|
177 | add wave -noupdate -group DATAFLOW_RAM -group WRITE /tb_data_acquisition/top_data_acquisition_1/iir_cel_ctrlr_v2_1/iir_cel_ctrlr_v2_dataflow_1/ram_ctrlr_v2_1/wen | |
|
178 | add wave -noupdate -group DATAFLOW_RAM -group WRITE -radix decimal /tb_data_acquisition/top_data_acquisition_1/iir_cel_ctrlr_v2_1/iir_cel_ctrlr_v2_dataflow_1/ram_ctrlr_v2_1/waddr | |
|
179 | add wave -noupdate -group DATAFLOW_RAM -group WRITE -radix decimal /tb_data_acquisition/top_data_acquisition_1/iir_cel_ctrlr_v2_1/iir_cel_ctrlr_v2_dataflow_1/ram_ctrlr_v2_1/wd | |
|
180 | add wave -noupdate -group DATAFLOW_RAM -group WRITE -radix decimal /tb_data_acquisition/top_data_acquisition_1/iir_cel_ctrlr_v2_1/iir_cel_ctrlr_v2_dataflow_1/ram_ctrlr_v2_1/sample_in | |
|
181 | add wave -noupdate -group DATAFLOW_RAM -group READ /tb_data_acquisition/top_data_acquisition_1/iir_cel_ctrlr_v2_1/iir_cel_ctrlr_v2_dataflow_1/ram_ctrlr_v2_1/ram_read | |
|
182 | add wave -noupdate -group DATAFLOW_RAM -group READ /tb_data_acquisition/top_data_acquisition_1/iir_cel_ctrlr_v2_1/iir_cel_ctrlr_v2_dataflow_1/ram_ctrlr_v2_1/ren | |
|
183 | add wave -noupdate -group DATAFLOW_RAM -group READ -radix unsigned /tb_data_acquisition/top_data_acquisition_1/iir_cel_ctrlr_v2_1/iir_cel_ctrlr_v2_dataflow_1/ram_ctrlr_v2_1/raddr | |
|
184 | add wave -noupdate -group DATAFLOW_RAM -group READ /tb_data_acquisition/top_data_acquisition_1/iir_cel_ctrlr_v2_1/iir_cel_ctrlr_v2_dataflow_1/ram_ctrlr_v2_1/rd | |
|
185 | add wave -noupdate -group DATAFLOW_RAM -group READ /tb_data_acquisition/top_data_acquisition_1/iir_cel_ctrlr_v2_1/iir_cel_ctrlr_v2_dataflow_1/ram_ctrlr_v2_1/sample_out | |
|
186 | add wave -noupdate -radix decimal /tb_data_acquisition/top_data_acquisition_1/iir_cel_ctrlr_v2_1/sample_in_val | |
|
187 | add wave -noupdate -radix decimal /tb_data_acquisition/top_data_acquisition_1/iir_cel_ctrlr_v2_1/sample_in | |
|
188 | add wave -noupdate -radix decimal /tb_data_acquisition/top_data_acquisition_1/iir_cel_ctrlr_v2_1/sample_out_val | |
|
189 | add wave -noupdate -radix decimal -subitemconfig {/tb_data_acquisition/top_data_acquisition_1/iir_cel_ctrlr_v2_1/sample_out(7) {-height 15 -radix decimal} /tb_data_acquisition/top_data_acquisition_1/iir_cel_ctrlr_v2_1/sample_out(6) {-height 15 -radix decimal} /tb_data_acquisition/top_data_acquisition_1/iir_cel_ctrlr_v2_1/sample_out(5) {-height 15 -radix decimal} /tb_data_acquisition/top_data_acquisition_1/iir_cel_ctrlr_v2_1/sample_out(4) {-height 15 -radix decimal} /tb_data_acquisition/top_data_acquisition_1/iir_cel_ctrlr_v2_1/sample_out(3) {-height 15 -radix decimal} /tb_data_acquisition/top_data_acquisition_1/iir_cel_ctrlr_v2_1/sample_out(2) {-height 15 -radix decimal} /tb_data_acquisition/top_data_acquisition_1/iir_cel_ctrlr_v2_1/sample_out(1) {-height 15 -radix decimal} /tb_data_acquisition/top_data_acquisition_1/iir_cel_ctrlr_v2_1/sample_out(0) {-height 15 -radix decimal}} /tb_data_acquisition/top_data_acquisition_1/iir_cel_ctrlr_v2_1/sample_out | |
|
190 | add wave -noupdate -height 15 -radix decimal /tb_data_acquisition/top_data_acquisition_1/iir_cel_ctrlr_v2_1/sample_out(4) | |
|
191 | add wave -noupdate -group MAC -radix decimal /tb_data_acquisition/top_data_acquisition_1/iir_cel_ctrlr_v2_1/iir_cel_ctrlr_v2_dataflow_1/alu_1/arith/macinst/clk | |
|
192 | add wave -noupdate -group MAC -radix decimal /tb_data_acquisition/top_data_acquisition_1/iir_cel_ctrlr_v2_1/iir_cel_ctrlr_v2_dataflow_1/alu_1/arith/macinst/reset | |
|
193 | add wave -noupdate -group MAC -radix decimal /tb_data_acquisition/top_data_acquisition_1/iir_cel_ctrlr_v2_1/iir_cel_ctrlr_v2_dataflow_1/alu_1/arith/macinst/clr_mac | |
|
194 | add wave -noupdate -group MAC -radix decimal /tb_data_acquisition/top_data_acquisition_1/iir_cel_ctrlr_v2_1/iir_cel_ctrlr_v2_dataflow_1/alu_1/arith/macinst/mac_mul_add | |
|
195 | add wave -noupdate -group MAC -radix decimal /tb_data_acquisition/top_data_acquisition_1/iir_cel_ctrlr_v2_1/iir_cel_ctrlr_v2_dataflow_1/alu_1/arith/macinst/op1 | |
|
196 | add wave -noupdate -group MAC -radix decimal /tb_data_acquisition/top_data_acquisition_1/iir_cel_ctrlr_v2_1/iir_cel_ctrlr_v2_dataflow_1/alu_1/arith/macinst/op2 | |
|
197 | add wave -noupdate -group MAC -radix decimal /tb_data_acquisition/top_data_acquisition_1/iir_cel_ctrlr_v2_1/iir_cel_ctrlr_v2_dataflow_1/alu_1/arith/macinst/res | |
|
198 | add wave -noupdate -group MAC -radix decimal /tb_data_acquisition/top_data_acquisition_1/iir_cel_ctrlr_v2_1/iir_cel_ctrlr_v2_dataflow_1/alu_1/arith/macinst/add | |
|
199 | add wave -noupdate -group MAC -radix decimal /tb_data_acquisition/top_data_acquisition_1/iir_cel_ctrlr_v2_1/iir_cel_ctrlr_v2_dataflow_1/alu_1/arith/macinst/mult | |
|
200 | add wave -noupdate -group MAC -radix decimal /tb_data_acquisition/top_data_acquisition_1/iir_cel_ctrlr_v2_1/iir_cel_ctrlr_v2_dataflow_1/alu_1/arith/macinst/multout | |
|
201 | add wave -noupdate -group MAC -radix decimal /tb_data_acquisition/top_data_acquisition_1/iir_cel_ctrlr_v2_1/iir_cel_ctrlr_v2_dataflow_1/alu_1/arith/macinst/adderina | |
|
202 | add wave -noupdate -group MAC -radix decimal /tb_data_acquisition/top_data_acquisition_1/iir_cel_ctrlr_v2_1/iir_cel_ctrlr_v2_dataflow_1/alu_1/arith/macinst/adderinb | |
|
203 | add wave -noupdate -group MAC -radix decimal /tb_data_acquisition/top_data_acquisition_1/iir_cel_ctrlr_v2_1/iir_cel_ctrlr_v2_dataflow_1/alu_1/arith/macinst/adderout | |
|
204 | add wave -noupdate -group MAC -radix decimal /tb_data_acquisition/top_data_acquisition_1/iir_cel_ctrlr_v2_1/iir_cel_ctrlr_v2_dataflow_1/alu_1/arith/macinst/macmuxsel | |
|
205 | add wave -noupdate -group MAC -radix decimal /tb_data_acquisition/top_data_acquisition_1/iir_cel_ctrlr_v2_1/iir_cel_ctrlr_v2_dataflow_1/alu_1/arith/macinst/op1_d_resz | |
|
206 | add wave -noupdate -group MAC -radix decimal /tb_data_acquisition/top_data_acquisition_1/iir_cel_ctrlr_v2_1/iir_cel_ctrlr_v2_dataflow_1/alu_1/arith/macinst/op2_d_resz | |
|
207 | add wave -noupdate -group MAC -radix decimal /tb_data_acquisition/top_data_acquisition_1/iir_cel_ctrlr_v2_1/iir_cel_ctrlr_v2_dataflow_1/alu_1/arith/macinst/macmux2sel | |
|
208 | add wave -noupdate -group MAC -radix decimal /tb_data_acquisition/top_data_acquisition_1/iir_cel_ctrlr_v2_1/iir_cel_ctrlr_v2_dataflow_1/alu_1/arith/macinst/add_d | |
|
209 | add wave -noupdate -group MAC -radix decimal /tb_data_acquisition/top_data_acquisition_1/iir_cel_ctrlr_v2_1/iir_cel_ctrlr_v2_dataflow_1/alu_1/arith/macinst/op1_d | |
|
210 | add wave -noupdate -group MAC -radix decimal /tb_data_acquisition/top_data_acquisition_1/iir_cel_ctrlr_v2_1/iir_cel_ctrlr_v2_dataflow_1/alu_1/arith/macinst/op2_d | |
|
211 | add wave -noupdate -group MAC -radix decimal /tb_data_acquisition/top_data_acquisition_1/iir_cel_ctrlr_v2_1/iir_cel_ctrlr_v2_dataflow_1/alu_1/arith/macinst/multout_d | |
|
212 | add wave -noupdate -group MAC -radix decimal /tb_data_acquisition/top_data_acquisition_1/iir_cel_ctrlr_v2_1/iir_cel_ctrlr_v2_dataflow_1/alu_1/arith/macinst/macmuxsel_d | |
|
213 | add wave -noupdate -group MAC -radix decimal /tb_data_acquisition/top_data_acquisition_1/iir_cel_ctrlr_v2_1/iir_cel_ctrlr_v2_dataflow_1/alu_1/arith/macinst/macmux2sel_d | |
|
214 | add wave -noupdate -group MAC -radix decimal /tb_data_acquisition/top_data_acquisition_1/iir_cel_ctrlr_v2_1/iir_cel_ctrlr_v2_dataflow_1/alu_1/arith/macinst/macmux2sel_d_d | |
|
215 | add wave -noupdate -group MAC -radix decimal /tb_data_acquisition/top_data_acquisition_1/iir_cel_ctrlr_v2_1/iir_cel_ctrlr_v2_dataflow_1/alu_1/arith/macinst/clr_mac_d | |
|
216 | add wave -noupdate -group MAC -radix decimal /tb_data_acquisition/top_data_acquisition_1/iir_cel_ctrlr_v2_1/iir_cel_ctrlr_v2_dataflow_1/alu_1/arith/macinst/clr_mac_d_d | |
|
217 | add wave -noupdate -expand -group OUTPUT -radix decimal /tb_data_acquisition/top_data_acquisition_1/iir_cel_ctrlr_v2_1/iir_cel_ctrlr_v2_control_1/sample_out_val | |
|
218 | add wave -noupdate -expand -group OUTPUT -radix decimal /tb_data_acquisition/top_data_acquisition_1/iir_cel_ctrlr_v2_1/iir_cel_ctrlr_v2_control_1/sample_out_rot | |
|
219 | add wave -noupdate -expand -group OUTPUT -radix decimal /tb_data_acquisition/top_data_acquisition_1/iir_cel_ctrlr_v2_1/iir_cel_ctrlr_v2_control_1/iir_cel_state | |
|
220 | add wave -noupdate -expand -group OUTPUT -radix decimal /tb_data_acquisition/top_data_acquisition_1/iir_cel_ctrlr_v2_1/iir_cel_ctrlr_v2_dataflow_1/sample_out | |
|
221 | add wave -noupdate -expand -group OUTPUT -radix decimal /tb_data_acquisition/top_data_acquisition_1/iir_cel_ctrlr_v2_1/sample_out_val_s | |
|
222 | add wave -noupdate -expand -group OUTPUT -radix decimal /tb_data_acquisition/top_data_acquisition_1/iir_cel_ctrlr_v2_1/sample_out_val_s2 | |
|
223 | add wave -noupdate -expand -group OUTPUT -radix decimal /tb_data_acquisition/top_data_acquisition_1/iir_cel_ctrlr_v2_1/sample_out_rot_s | |
|
224 | add wave -noupdate -expand -group OUTPUT -radix decimal /tb_data_acquisition/top_data_acquisition_1/iir_cel_ctrlr_v2_1/sample_out_s | |
|
225 | add wave -noupdate -expand -group OUTPUT -radix decimal /tb_data_acquisition/top_data_acquisition_1/iir_cel_ctrlr_v2_1/sample_out_s2 | |
|
226 | TreeUpdate [SetDefaultTree] | |
|
227 | WaveRestoreCursors {{Cursor 1} {4520000 ps} 0} | |
|
228 | configure wave -namecolwidth 677 | |
|
229 | configure wave -valuecolwidth 100 | |
|
230 | configure wave -justifyvalue left | |
|
231 | configure wave -signalnamewidth 0 | |
|
232 | configure wave -snapdistance 10 | |
|
233 | configure wave -datasetprefix 0 | |
|
234 | configure wave -rowmargin 4 | |
|
235 | configure wave -childrowmargin 2 | |
|
236 | configure wave -gridoffset 0 | |
|
237 | configure wave -gridperiod 1 | |
|
238 | configure wave -griddelta 40 | |
|
239 | configure wave -timeline 0 | |
|
240 | configure wave -timelineunits ns | |
|
241 | update | |
|
242 | WaveRestoreZoom {2722930 ps} {6210191 ps} |
@@ -0,0 +1,256 | |||
|
1 | ------------------------------------------------------------------------------ | |
|
2 | -- This file is a part of the LPP VHDL IP LIBRARY | |
|
3 | -- Copyright (C) 2009 - 2010, Laboratory of Plasmas Physic - CNRS | |
|
4 | -- | |
|
5 | -- This program is free software; you can redistribute it and/or modify | |
|
6 | -- it under the terms of the GNU General Public License as published by | |
|
7 | -- the Free Software Foundation; either version 3 of the License, or | |
|
8 | -- (at your option) any later version. | |
|
9 | -- | |
|
10 | -- This program is distributed in the hope that it will be useful, | |
|
11 | -- but WITHOUT ANY WARRANTY; without even the implied warranty of | |
|
12 | -- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |
|
13 | -- GNU General Public License for more details. | |
|
14 | -- | |
|
15 | -- You should have received a copy of the GNU General Public License | |
|
16 | -- along with this program; if not, write to the Free Software | |
|
17 | -- Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA | |
|
18 | ------------------------------------------------------------------------------- | |
|
19 | -- Author : Jean-christophe PELLION | |
|
20 | -- Mail : jean-christophe.pellion@lpp.polytechnique.fr | |
|
21 | ------------------------------------------------------------------------------- | |
|
22 | ||
|
23 | LIBRARY IEEE; | |
|
24 | USE IEEE.numeric_std.ALL; | |
|
25 | USE IEEE.std_logic_1164.ALL; | |
|
26 | ||
|
27 | LIBRARY techmap; | |
|
28 | USE techmap.gencomp.ALL; | |
|
29 | ||
|
30 | LIBRARY lpp; | |
|
31 | USE lpp.iir_filter.ALL; | |
|
32 | USE lpp.general_purpose.ALL; | |
|
33 | ||
|
34 | ENTITY IIR_CEL_CTRLR_v2 IS | |
|
35 | GENERIC ( | |
|
36 | tech : INTEGER := apa3; | |
|
37 | Mem_use : INTEGER := use_RAM; | |
|
38 | Sample_SZ : INTEGER := 18; | |
|
39 | Coef_SZ : INTEGER := 9; | |
|
40 | Coef_Nb : INTEGER := 25; | |
|
41 | Coef_sel_SZ : INTEGER := 5; | |
|
42 | Cels_count : INTEGER := 5; | |
|
43 | ChanelsCount : INTEGER := 8); | |
|
44 | PORT ( | |
|
45 | rstn : IN STD_LOGIC; | |
|
46 | clk : IN STD_LOGIC; | |
|
47 | ||
|
48 | virg_pos : IN INTEGER; | |
|
49 | coefs : IN STD_LOGIC_VECTOR((Coef_SZ*Coef_Nb)-1 DOWNTO 0); | |
|
50 | ||
|
51 | sample_in_val : IN STD_LOGIC; | |
|
52 | sample_in : IN samplT(ChanelsCount-1 DOWNTO 0, Sample_SZ-1 DOWNTO 0); | |
|
53 | ||
|
54 | sample_out_val : OUT STD_LOGIC; | |
|
55 | sample_out : OUT samplT(ChanelsCount-1 DOWNTO 0, Sample_SZ-1 DOWNTO 0)); | |
|
56 | END IIR_CEL_CTRLR_v2; | |
|
57 | ||
|
58 | ARCHITECTURE ar_IIR_CEL_CTRLR_v2 OF IIR_CEL_CTRLR_v2 IS | |
|
59 | ||
|
60 | COMPONENT IIR_CEL_CTRLR_v2_DATAFLOW | |
|
61 | GENERIC ( | |
|
62 | tech : INTEGER; | |
|
63 | Mem_use : INTEGER; | |
|
64 | Sample_SZ : INTEGER; | |
|
65 | Coef_SZ : INTEGER; | |
|
66 | Coef_Nb : INTEGER; | |
|
67 | Coef_sel_SZ : INTEGER); | |
|
68 | PORT ( | |
|
69 | rstn : IN STD_LOGIC; | |
|
70 | clk : IN STD_LOGIC; | |
|
71 | virg_pos : IN INTEGER; | |
|
72 | coefs : IN STD_LOGIC_VECTOR((Coef_SZ*Coef_Nb)-1 DOWNTO 0); | |
|
73 | in_sel_src : IN STD_LOGIC_VECTOR(1 DOWNTO 0); | |
|
74 | ram_sel_Wdata : IN STD_LOGIC_VECTOR(1 DOWNTO 0); | |
|
75 | ram_write : IN STD_LOGIC; | |
|
76 | ram_read : IN STD_LOGIC; | |
|
77 | raddr_rst : IN STD_LOGIC; | |
|
78 | raddr_add1 : IN STD_LOGIC; | |
|
79 | waddr_previous : IN STD_LOGIC_VECTOR(1 DOWNTO 0); | |
|
80 | alu_sel_input : IN STD_LOGIC; | |
|
81 | alu_sel_coeff : IN STD_LOGIC_VECTOR(Coef_sel_SZ-1 DOWNTO 0); | |
|
82 | alu_ctrl : IN STD_LOGIC_VECTOR(3 DOWNTO 0); | |
|
83 | sample_in : IN STD_LOGIC_VECTOR(Sample_SZ-1 DOWNTO 0); | |
|
84 | sample_out : OUT STD_LOGIC_VECTOR(Sample_SZ-1 DOWNTO 0)); | |
|
85 | END COMPONENT; | |
|
86 | ||
|
87 | COMPONENT IIR_CEL_CTRLR_v2_CONTROL | |
|
88 | GENERIC ( | |
|
89 | Coef_sel_SZ : INTEGER; | |
|
90 | Cels_count : INTEGER; | |
|
91 | ChanelsCount : INTEGER); | |
|
92 | PORT ( | |
|
93 | rstn : IN STD_LOGIC; | |
|
94 | clk : IN STD_LOGIC; | |
|
95 | sample_in_val : IN STD_LOGIC; | |
|
96 | sample_in_rot : OUT STD_LOGIC; | |
|
97 | sample_out_val : OUT STD_LOGIC; | |
|
98 | sample_out_rot : OUT STD_LOGIC; | |
|
99 | in_sel_src : OUT STD_LOGIC_VECTOR(1 DOWNTO 0); | |
|
100 | ram_sel_Wdata : OUT STD_LOGIC_VECTOR(1 DOWNTO 0); | |
|
101 | ram_write : OUT STD_LOGIC; | |
|
102 | ram_read : OUT STD_LOGIC; | |
|
103 | raddr_rst : OUT STD_LOGIC; | |
|
104 | raddr_add1 : OUT STD_LOGIC; | |
|
105 | waddr_previous : OUT STD_LOGIC_VECTOR(1 DOWNTO 0); | |
|
106 | alu_sel_input : OUT STD_LOGIC; | |
|
107 | alu_sel_coeff : OUT STD_LOGIC_VECTOR(Coef_sel_SZ-1 DOWNTO 0); | |
|
108 | alu_ctrl : OUT STD_LOGIC_VECTOR(3 DOWNTO 0)); | |
|
109 | END COMPONENT; | |
|
110 | ||
|
111 | SIGNAL in_sel_src : STD_LOGIC_VECTOR(1 DOWNTO 0); | |
|
112 | SIGNAL ram_sel_Wdata : STD_LOGIC_VECTOR(1 DOWNTO 0); | |
|
113 | SIGNAL ram_write : STD_LOGIC; | |
|
114 | SIGNAL ram_read : STD_LOGIC; | |
|
115 | SIGNAL raddr_rst : STD_LOGIC; | |
|
116 | SIGNAL raddr_add1 : STD_LOGIC; | |
|
117 | SIGNAL waddr_previous : STD_LOGIC_VECTOR(1 DOWNTO 0); | |
|
118 | SIGNAL alu_sel_input : STD_LOGIC; | |
|
119 | SIGNAL alu_sel_coeff : STD_LOGIC_VECTOR(Coef_sel_SZ-1 DOWNTO 0); | |
|
120 | SIGNAL alu_ctrl : STD_LOGIC_VECTOR(3 DOWNTO 0); | |
|
121 | ||
|
122 | SIGNAL sample_in_buf : samplT(ChanelsCount-1 DOWNTO 0, Sample_SZ-1 DOWNTO 0); | |
|
123 | SIGNAL sample_in_rotate : STD_LOGIC; | |
|
124 | SIGNAL sample_in_s : STD_LOGIC_VECTOR(Sample_SZ-1 DOWNTO 0); | |
|
125 | SIGNAL sample_out_val_s : STD_LOGIC; | |
|
126 | SIGNAL sample_out_val_s2 : STD_LOGIC; | |
|
127 | SIGNAL sample_out_rot_s : STD_LOGIC; | |
|
128 | SIGNAL sample_out_s : STD_LOGIC_VECTOR(Sample_SZ-1 DOWNTO 0); | |
|
129 | ||
|
130 | SIGNAL sample_out_s2 : samplT(ChanelsCount-1 DOWNTO 0, Sample_SZ-1 DOWNTO 0); | |
|
131 | ||
|
132 | BEGIN | |
|
133 | ||
|
134 | IIR_CEL_CTRLR_v2_DATAFLOW_1 : IIR_CEL_CTRLR_v2_DATAFLOW | |
|
135 | GENERIC MAP ( | |
|
136 | tech => tech, | |
|
137 | Mem_use => Mem_use, | |
|
138 | Sample_SZ => Sample_SZ, | |
|
139 | Coef_SZ => Coef_SZ, | |
|
140 | Coef_Nb => Coef_Nb, | |
|
141 | Coef_sel_SZ => Coef_sel_SZ) | |
|
142 | PORT MAP ( | |
|
143 | rstn => rstn, | |
|
144 | clk => clk, | |
|
145 | virg_pos => virg_pos, | |
|
146 | coefs => coefs, | |
|
147 | --CTRL | |
|
148 | in_sel_src => in_sel_src, | |
|
149 | ram_sel_Wdata => ram_sel_Wdata, | |
|
150 | ram_write => ram_write, | |
|
151 | ram_read => ram_read, | |
|
152 | raddr_rst => raddr_rst, | |
|
153 | raddr_add1 => raddr_add1, | |
|
154 | waddr_previous => waddr_previous, | |
|
155 | alu_sel_input => alu_sel_input, | |
|
156 | alu_sel_coeff => alu_sel_coeff, | |
|
157 | alu_ctrl => alu_ctrl, | |
|
158 | --DATA | |
|
159 | sample_in => sample_in_s, | |
|
160 | sample_out => sample_out_s); | |
|
161 | ||
|
162 | ||
|
163 | IIR_CEL_CTRLR_v2_CONTROL_1 : IIR_CEL_CTRLR_v2_CONTROL | |
|
164 | GENERIC MAP ( | |
|
165 | Coef_sel_SZ => Coef_sel_SZ, | |
|
166 | Cels_count => Cels_count, | |
|
167 | ChanelsCount => ChanelsCount) | |
|
168 | PORT MAP ( | |
|
169 | rstn => rstn, | |
|
170 | clk => clk, | |
|
171 | sample_in_val => sample_in_val, | |
|
172 | sample_in_rot => sample_in_rotate, | |
|
173 | sample_out_val => sample_out_val_s, | |
|
174 | sample_out_rot => sample_out_rot_s, | |
|
175 | ||
|
176 | in_sel_src => in_sel_src, | |
|
177 | ram_sel_Wdata => ram_sel_Wdata, | |
|
178 | ram_write => ram_write, | |
|
179 | ram_read => ram_read, | |
|
180 | raddr_rst => raddr_rst, | |
|
181 | raddr_add1 => raddr_add1, | |
|
182 | waddr_previous => waddr_previous, | |
|
183 | alu_sel_input => alu_sel_input, | |
|
184 | alu_sel_coeff => alu_sel_coeff, | |
|
185 | alu_ctrl => alu_ctrl); | |
|
186 | ||
|
187 | ----------------------------------------------------------------------------- | |
|
188 | -- SAMPLE IN | |
|
189 | ----------------------------------------------------------------------------- | |
|
190 | loop_all_sample : FOR J IN Sample_SZ-1 DOWNTO 0 GENERATE | |
|
191 | ||
|
192 | loop_all_chanel : FOR I IN ChanelsCount-1 DOWNTO 0 GENERATE | |
|
193 | PROCESS (clk, rstn) | |
|
194 | BEGIN -- PROCESS | |
|
195 | IF rstn = '0' THEN -- asynchronous reset (active low) | |
|
196 | sample_in_buf(I, J) <= '0'; | |
|
197 | ELSIF clk'EVENT AND clk = '1' THEN -- rising clock edge | |
|
198 | IF sample_in_val = '1' THEN | |
|
199 | sample_in_buf(I, J) <= sample_in(I, J); | |
|
200 | ELSIF sample_in_rotate = '1' THEN | |
|
201 | sample_in_buf(I, J) <= sample_in_buf((I+1) MOD ChanelsCount, J); | |
|
202 | END IF; | |
|
203 | END IF; | |
|
204 | END PROCESS; | |
|
205 | END GENERATE loop_all_chanel; | |
|
206 | ||
|
207 | sample_in_s(J) <= sample_in(0, J) WHEN sample_in_val = '1' ELSE sample_in_buf(0, J); | |
|
208 | ||
|
209 | END GENERATE loop_all_sample; | |
|
210 | ||
|
211 | ----------------------------------------------------------------------------- | |
|
212 | -- SAMPLE OUT | |
|
213 | ----------------------------------------------------------------------------- | |
|
214 | PROCESS (clk, rstn) | |
|
215 | BEGIN -- PROCESS | |
|
216 | IF rstn = '0' THEN -- asynchronous reset (active low) | |
|
217 | sample_out_val <= '0'; | |
|
218 | sample_out_val_s2 <= '0'; | |
|
219 | ELSIF clk'EVENT AND clk = '1' THEN -- rising clock edge | |
|
220 | sample_out_val <= sample_out_val_s2; | |
|
221 | sample_out_val_s2 <= sample_out_val_s; | |
|
222 | END IF; | |
|
223 | END PROCESS; | |
|
224 | ||
|
225 | chanel_HIGH : FOR I IN Sample_SZ-1 DOWNTO 0 GENERATE | |
|
226 | PROCESS (clk, rstn) | |
|
227 | BEGIN -- PROCESS | |
|
228 | IF rstn = '0' THEN -- asynchronous reset (active low) | |
|
229 | sample_out_s2(ChanelsCount-1, I) <= '0'; | |
|
230 | ELSIF clk'EVENT AND clk = '1' THEN -- rising clock edge | |
|
231 | IF sample_out_rot_s = '1' THEN | |
|
232 | sample_out_s2(ChanelsCount-1, I) <= sample_out_s(I); | |
|
233 | END IF; | |
|
234 | END IF; | |
|
235 | END PROCESS; | |
|
236 | END GENERATE chanel_HIGH; | |
|
237 | ||
|
238 | chanel_more : IF ChanelsCount > 1 GENERATE | |
|
239 | all_chanel : FOR J IN ChanelsCount-1 DOWNTO 1 GENERATE | |
|
240 | all_bit : FOR I IN Sample_SZ-1 DOWNTO 0 GENERATE | |
|
241 | PROCESS (clk, rstn) | |
|
242 | BEGIN -- PROCESS | |
|
243 | IF rstn = '0' THEN -- asynchronous reset (active low) | |
|
244 | sample_out_s2(J-1, I) <= '0'; | |
|
245 | ELSIF clk'EVENT AND clk = '1' THEN -- rising clock edge | |
|
246 | IF sample_out_rot_s = '1' THEN | |
|
247 | sample_out_s2(J-1, I) <= sample_out_s2(J, I); | |
|
248 | END IF; | |
|
249 | END IF; | |
|
250 | END PROCESS; | |
|
251 | END GENERATE all_bit; | |
|
252 | END GENERATE all_chanel; | |
|
253 | END GENERATE chanel_more; | |
|
254 | ||
|
255 | sample_out <= sample_out_s2; | |
|
256 | END ar_IIR_CEL_CTRLR_v2; |
@@ -0,0 +1,313 | |||
|
1 | ------------------------------------------------------------------------------ | |
|
2 | -- This file is a part of the LPP VHDL IP LIBRARY | |
|
3 | -- Copyright (C) 2009 - 2010, Laboratory of Plasmas Physic - CNRS | |
|
4 | -- | |
|
5 | -- This program is free software; you can redistribute it and/or modify | |
|
6 | -- it under the terms of the GNU General Public License as published by | |
|
7 | -- the Free Software Foundation; either version 3 of the License, or | |
|
8 | -- (at your option) any later version. | |
|
9 | -- | |
|
10 | -- This program is distributed in the hope that it will be useful, | |
|
11 | -- but WITHOUT ANY WARRANTY; without even the implied warranty of | |
|
12 | -- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |
|
13 | -- GNU General Public License for more Cdetails. | |
|
14 | -- | |
|
15 | -- You should have received a copy of the GNU General Public License | |
|
16 | -- along with this program; if not, write to the Free Software | |
|
17 | -- Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA | |
|
18 | ------------------------------------------------------------------------------- | |
|
19 | -- Author : Jean-christophe PELLION | |
|
20 | -- Mail : jean-christophe.pellion@lpp.polytechnique.fr | |
|
21 | ------------------------------------------------------------------------------- | |
|
22 | ||
|
23 | LIBRARY IEEE; | |
|
24 | USE IEEE.numeric_std.ALL; | |
|
25 | USE IEEE.std_logic_1164.ALL; | |
|
26 | LIBRARY lpp; | |
|
27 | USE lpp.iir_filter.ALL; | |
|
28 | USE lpp.general_purpose.ALL; | |
|
29 | ||
|
30 | ENTITY IIR_CEL_CTRLR_v2_CONTROL IS | |
|
31 | GENERIC ( | |
|
32 | Coef_sel_SZ : INTEGER; | |
|
33 | Cels_count : INTEGER := 5; | |
|
34 | ChanelsCount : INTEGER := 1); | |
|
35 | PORT ( | |
|
36 | rstn : IN STD_LOGIC; | |
|
37 | clk : IN STD_LOGIC; | |
|
38 | ||
|
39 | sample_in_val : IN STD_LOGIC; | |
|
40 | sample_in_rot : OUT STD_LOGIC; | |
|
41 | sample_out_val : OUT STD_LOGIC; | |
|
42 | sample_out_rot : OUT STD_LOGIC; | |
|
43 | ||
|
44 | in_sel_src : OUT STD_LOGIC_VECTOR(1 DOWNTO 0); | |
|
45 | ram_sel_Wdata : OUT STD_LOGIC_VECTOR(1 DOWNTO 0); | |
|
46 | ram_write : OUT STD_LOGIC; | |
|
47 | ram_read : OUT STD_LOGIC; | |
|
48 | raddr_rst : OUT STD_LOGIC; | |
|
49 | raddr_add1 : OUT STD_LOGIC; | |
|
50 | waddr_previous : OUT STD_LOGIC_VECTOR(1 DOWNTO 0); | |
|
51 | alu_sel_input : OUT STD_LOGIC; | |
|
52 | alu_sel_coeff : OUT STD_LOGIC_VECTOR(Coef_sel_SZ-1 DOWNTO 0); | |
|
53 | alu_ctrl : OUT STD_LOGIC_VECTOR(3 DOWNTO 0) | |
|
54 | ); | |
|
55 | END IIR_CEL_CTRLR_v2_CONTROL; | |
|
56 | ||
|
57 | ARCHITECTURE ar_IIR_CEL_CTRLR_v2_CONTROL OF IIR_CEL_CTRLR_v2_CONTROL IS | |
|
58 | ||
|
59 | TYPE fsmIIR_CEL_T IS (waiting, | |
|
60 | first_read, | |
|
61 | compute_b0, | |
|
62 | compute_b1, | |
|
63 | compute_b2, | |
|
64 | compute_a1, | |
|
65 | compute_a2, | |
|
66 | LAST_CEL, | |
|
67 | wait_valid_last_output, | |
|
68 | wait_valid_last_output_2); | |
|
69 | SIGNAL IIR_CEL_STATE : fsmIIR_CEL_T; | |
|
70 | ||
|
71 | SIGNAL alu_selected_coeff : INTEGER; | |
|
72 | SIGNAL Chanel_ongoing : INTEGER; | |
|
73 | SIGNAL Cel_ongoing : INTEGER; | |
|
74 | ||
|
75 | BEGIN | |
|
76 | ||
|
77 | alu_sel_coeff <= STD_LOGIC_VECTOR(to_unsigned(alu_selected_coeff, Coef_sel_SZ)); | |
|
78 | ||
|
79 | PROCESS (clk, rstn) | |
|
80 | BEGIN -- PROCESS | |
|
81 | IF rstn = '0' THEN -- asynchronous reset (active low) | |
|
82 | --REG ------------------------------------------------------------------- | |
|
83 | in_sel_src <= (OTHERS => '0'); -- | |
|
84 | --RAM_WRitE ------------------------------------------------------------- | |
|
85 | ram_sel_Wdata <= "00"; -- | |
|
86 | ram_write <= '0'; -- | |
|
87 | waddr_previous <= "00"; -- | |
|
88 | --RAM_READ -------------------------------------------------------------- | |
|
89 | ram_read <= '0'; -- | |
|
90 | raddr_rst <= '0'; -- | |
|
91 | raddr_add1 <= '0'; -- | |
|
92 | --ALU ------------------------------------------------------------------- | |
|
93 | alu_selected_coeff <= 0; -- | |
|
94 | alu_sel_input <= '0'; -- | |
|
95 | alu_ctrl <= (OTHERS => '0'); -- | |
|
96 | --OUT | |
|
97 | sample_out_val <= '0'; -- | |
|
98 | sample_out_rot <= '0'; -- | |
|
99 | ||
|
100 | Chanel_ongoing <= 0; -- | |
|
101 | Cel_ongoing <= 0; -- | |
|
102 | sample_in_rot <= '0'; | |
|
103 | ||
|
104 | ELSIF clk'EVENT AND clk = '1' THEN -- rising clock edge | |
|
105 | ||
|
106 | CASE IIR_CEL_STATE IS | |
|
107 | WHEN waiting => | |
|
108 | sample_out_rot <= '0'; | |
|
109 | sample_in_rot <= '0'; | |
|
110 | sample_out_val <= '0'; | |
|
111 | alu_ctrl <= "0100"; | |
|
112 | alu_selected_coeff <= 0; | |
|
113 | in_sel_src <= "01"; | |
|
114 | ram_read <= '0'; | |
|
115 | ram_sel_Wdata <= "00"; | |
|
116 | ram_write <= '0'; | |
|
117 | waddr_previous <= "00"; | |
|
118 | IF sample_in_val = '1' THEN | |
|
119 | raddr_rst <= '0'; | |
|
120 | alu_sel_input <= '1'; | |
|
121 | ram_read <= '1'; | |
|
122 | raddr_add1 <= '1'; | |
|
123 | IIR_CEL_STATE <= first_read; | |
|
124 | Chanel_ongoing <= Chanel_ongoing + 1; | |
|
125 | Cel_ongoing <= 1; | |
|
126 | ELSE | |
|
127 | raddr_add1 <= '0'; | |
|
128 | raddr_rst <= '1'; | |
|
129 | Chanel_ongoing <= 0; | |
|
130 | Cel_ongoing <= 0; | |
|
131 | END IF; | |
|
132 | ||
|
133 | WHEN first_read => | |
|
134 | IIR_CEL_STATE <= compute_b2; | |
|
135 | ram_read <= '1'; | |
|
136 | raddr_add1 <= '1'; | |
|
137 | alu_ctrl <= "0010"; | |
|
138 | alu_sel_input <= '1'; | |
|
139 | in_sel_src <= "01"; | |
|
140 | ||
|
141 | ||
|
142 | WHEN compute_b2 => | |
|
143 | sample_out_rot <= '0'; | |
|
144 | ||
|
145 | sample_in_rot <= '0'; | |
|
146 | sample_out_val <= '0'; | |
|
147 | ||
|
148 | alu_sel_input <= '1'; | |
|
149 | -- | |
|
150 | ram_sel_Wdata <= "10"; | |
|
151 | ram_write <= '1'; | |
|
152 | waddr_previous <= "10"; | |
|
153 | -- | |
|
154 | ram_read <= '1'; | |
|
155 | raddr_rst <= '0'; | |
|
156 | raddr_add1 <= '0'; | |
|
157 | IF Cel_ongoing = 1 THEN | |
|
158 | in_sel_src <= "00"; | |
|
159 | ELSE | |
|
160 | in_sel_src <= "11"; | |
|
161 | END IF; | |
|
162 | alu_selected_coeff <= alu_selected_coeff+1; | |
|
163 | alu_ctrl <= "0001"; | |
|
164 | IIR_CEL_STATE <= compute_b1; | |
|
165 | ||
|
166 | WHEN compute_b1 => | |
|
167 | sample_in_rot <= '0'; | |
|
168 | alu_sel_input <= '0'; | |
|
169 | -- | |
|
170 | ram_sel_Wdata <= "00"; | |
|
171 | ram_write <= '1'; | |
|
172 | waddr_previous <= "01"; | |
|
173 | -- | |
|
174 | ram_read <= '1'; | |
|
175 | raddr_rst <= '0'; | |
|
176 | raddr_add1 <= '1'; | |
|
177 | sample_out_rot <= '0'; | |
|
178 | IF Cel_ongoing = 1 THEN | |
|
179 | in_sel_src <= "10"; | |
|
180 | sample_out_val <= '0'; | |
|
181 | ELSE | |
|
182 | sample_out_val <= '0'; | |
|
183 | in_sel_src <= "00"; | |
|
184 | END IF; | |
|
185 | alu_selected_coeff <= alu_selected_coeff+1; | |
|
186 | alu_ctrl <= "0001"; | |
|
187 | IIR_CEL_STATE <= compute_b0; | |
|
188 | ||
|
189 | WHEN compute_b0 => | |
|
190 | sample_out_rot <= '0'; | |
|
191 | sample_out_val <= '0'; | |
|
192 | sample_in_rot <= '0'; | |
|
193 | alu_sel_input <= '1'; | |
|
194 | ram_sel_Wdata <= "00"; | |
|
195 | ram_write <= '0'; | |
|
196 | waddr_previous <= "01"; | |
|
197 | ram_read <= '1'; | |
|
198 | raddr_rst <= '0'; | |
|
199 | raddr_add1 <= '0'; | |
|
200 | in_sel_src <= "10"; | |
|
201 | alu_selected_coeff <= alu_selected_coeff+1; | |
|
202 | alu_ctrl <= "0001"; | |
|
203 | IIR_CEL_STATE <= compute_a2; | |
|
204 | IF Cel_ongoing = Cels_count THEN | |
|
205 | sample_in_rot <= '1'; | |
|
206 | ELSE | |
|
207 | sample_in_rot <= '0'; | |
|
208 | END IF; | |
|
209 | ||
|
210 | WHEN compute_a2 => | |
|
211 | sample_out_val <= '0'; | |
|
212 | sample_out_rot <= '0'; | |
|
213 | alu_sel_input <= '1'; | |
|
214 | ram_sel_Wdata <= "00"; | |
|
215 | ram_write <= '0'; | |
|
216 | waddr_previous <= "01"; | |
|
217 | ram_read <= '1'; | |
|
218 | raddr_rst <= '0'; | |
|
219 | IF Cel_ongoing = Cels_count THEN | |
|
220 | raddr_add1 <= '1'; | |
|
221 | ELSE | |
|
222 | raddr_add1 <= '0'; | |
|
223 | END IF; | |
|
224 | in_sel_src <= "00"; | |
|
225 | alu_selected_coeff <= alu_selected_coeff+1; | |
|
226 | alu_ctrl <= "0001"; | |
|
227 | IIR_CEL_STATE <= compute_a1; | |
|
228 | sample_in_rot <= '0'; | |
|
229 | ||
|
230 | WHEN compute_a1 => | |
|
231 | sample_out_val <= '0'; | |
|
232 | sample_out_rot <= '0'; | |
|
233 | alu_sel_input <= '0'; | |
|
234 | ram_sel_Wdata <= "00"; | |
|
235 | ram_write <= '0'; | |
|
236 | waddr_previous <= "01"; | |
|
237 | ram_read <= '1'; | |
|
238 | raddr_rst <= '0'; | |
|
239 | alu_ctrl <= "0010"; | |
|
240 | sample_in_rot <= '0'; | |
|
241 | IF Cel_ongoing = Cels_count THEN | |
|
242 | alu_selected_coeff <= 0; | |
|
243 | ||
|
244 | ram_sel_Wdata <= "10"; | |
|
245 | raddr_add1 <= '1'; | |
|
246 | ram_write <= '1'; | |
|
247 | waddr_previous <= "10"; | |
|
248 | ||
|
249 | IF Chanel_ongoing = ChanelsCount THEN | |
|
250 | IIR_CEL_STATE <= wait_valid_last_output; | |
|
251 | ELSE | |
|
252 | Chanel_ongoing <= Chanel_ongoing + 1; | |
|
253 | Cel_ongoing <= 1; | |
|
254 | IIR_CEL_STATE <= LAST_CEL; | |
|
255 | in_sel_src <= "01"; | |
|
256 | END IF; | |
|
257 | ELSE | |
|
258 | raddr_add1 <= '1'; | |
|
259 | alu_selected_coeff <= alu_selected_coeff+1; | |
|
260 | Cel_ongoing <= Cel_ongoing+1; | |
|
261 | IIR_CEL_STATE <= compute_b2; | |
|
262 | END IF; | |
|
263 | ||
|
264 | WHEN LAST_CEL => | |
|
265 | alu_sel_input <= '1'; | |
|
266 | IIR_CEL_STATE <= compute_b2; | |
|
267 | raddr_add1 <= '1'; | |
|
268 | ram_sel_Wdata <= "01"; | |
|
269 | ram_write <= '1'; | |
|
270 | waddr_previous <= "10"; | |
|
271 | sample_out_rot <= '1'; | |
|
272 | ||
|
273 | ||
|
274 | WHEN wait_valid_last_output => | |
|
275 | IIR_CEL_STATE <= wait_valid_last_output_2; | |
|
276 | sample_in_rot <= '0'; | |
|
277 | alu_ctrl <= "0000"; | |
|
278 | alu_selected_coeff <= 0; | |
|
279 | in_sel_src <= "01"; | |
|
280 | ram_read <= '0'; | |
|
281 | raddr_rst <= '1'; | |
|
282 | raddr_add1 <= '1'; | |
|
283 | ram_sel_Wdata <= "01"; | |
|
284 | ram_write <= '1'; | |
|
285 | waddr_previous <= "10"; | |
|
286 | Chanel_ongoing <= 0; | |
|
287 | Cel_ongoing <= 0; | |
|
288 | sample_out_val <= '0'; | |
|
289 | sample_out_rot <= '1'; | |
|
290 | ||
|
291 | WHEN wait_valid_last_output_2 => | |
|
292 | IIR_CEL_STATE <= waiting; | |
|
293 | sample_in_rot <= '0'; | |
|
294 | alu_ctrl <= "0000"; | |
|
295 | alu_selected_coeff <= 0; | |
|
296 | in_sel_src <= "01"; | |
|
297 | ram_read <= '0'; | |
|
298 | raddr_rst <= '1'; | |
|
299 | raddr_add1 <= '1'; | |
|
300 | ram_sel_Wdata <= "10"; | |
|
301 | ram_write <= '1'; | |
|
302 | waddr_previous <= "10"; | |
|
303 | Chanel_ongoing <= 0; | |
|
304 | Cel_ongoing <= 0; | |
|
305 | sample_out_val <= '1'; | |
|
306 | sample_out_rot <= '0'; | |
|
307 | WHEN OTHERS => NULL; | |
|
308 | END CASE; | |
|
309 | ||
|
310 | END IF; | |
|
311 | END PROCESS; | |
|
312 | ||
|
313 | END ar_IIR_CEL_CTRLR_v2_CONTROL; |
@@ -0,0 +1,248 | |||
|
1 | ------------------------------------------------------------------------------ | |
|
2 | -- This file is a part of the LPP VHDL IP LIBRARY | |
|
3 | -- Copyright (C) 2009 - 2010, Laboratory of Plasmas Physic - CNRS | |
|
4 | -- | |
|
5 | -- This program is free software; you can redistribute it and/or modify | |
|
6 | -- it under the terms of the GNU General Public License as published by | |
|
7 | -- the Free Software Foundation; either version 3 of the License, or | |
|
8 | -- (at your option) any later version. | |
|
9 | -- | |
|
10 | -- This program is distributed in the hope that it will be useful, | |
|
11 | -- but WITHOUT ANY WARRANTY; without even the implied warranty of | |
|
12 | -- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |
|
13 | -- GNU General Public License for more details. | |
|
14 | -- | |
|
15 | -- You should have received a copy of the GNU General Public License | |
|
16 | -- along with this program; if not, write to the Free Software | |
|
17 | -- Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA | |
|
18 | ------------------------------------------------------------------------------- | |
|
19 | -- Author : Jean-christophe PELLION | |
|
20 | -- Mail : jean-christophe.pellion@lpp.polytechnique.fr | |
|
21 | ------------------------------------------------------------------------------- | |
|
22 | LIBRARY IEEE; | |
|
23 | USE IEEE.numeric_std.ALL; | |
|
24 | USE IEEE.std_logic_1164.ALL; | |
|
25 | LIBRARY lpp; | |
|
26 | USE lpp.iir_filter.ALL; | |
|
27 | USE lpp.general_purpose.ALL; | |
|
28 | ||
|
29 | ||
|
30 | ||
|
31 | ENTITY IIR_CEL_CTRLR_v2_DATAFLOW IS | |
|
32 | GENERIC( | |
|
33 | tech : INTEGER := 0; | |
|
34 | Mem_use : INTEGER := use_RAM; | |
|
35 | Sample_SZ : INTEGER := 16; | |
|
36 | Coef_SZ : INTEGER := 9; | |
|
37 | Coef_Nb : INTEGER := 30; | |
|
38 | Coef_sel_SZ : INTEGER := 5 | |
|
39 | ); | |
|
40 | PORT( | |
|
41 | rstn : IN STD_LOGIC; | |
|
42 | clk : IN STD_LOGIC; | |
|
43 | -- PARAMETER | |
|
44 | virg_pos : IN INTEGER; | |
|
45 | coefs : IN STD_LOGIC_VECTOR((Coef_SZ*Coef_Nb)-1 DOWNTO 0); | |
|
46 | -- CONTROL | |
|
47 | in_sel_src : IN STD_LOGIC_VECTOR(1 DOWNTO 0); | |
|
48 | -- | |
|
49 | ram_sel_Wdata : IN STD_LOGIC_VECTOR(1 DOWNTO 0); | |
|
50 | ram_write : IN STD_LOGIC; | |
|
51 | ram_read : IN STD_LOGIC; | |
|
52 | raddr_rst : IN STD_LOGIC; | |
|
53 | raddr_add1 : IN STD_LOGIC; | |
|
54 | waddr_previous : IN STD_LOGIC_VECTOR(1 DOWNTO 0); | |
|
55 | -- | |
|
56 | alu_sel_input : IN STD_LOGIC; | |
|
57 | alu_sel_coeff : IN STD_LOGIC_VECTOR(Coef_sel_SZ-1 DOWNTO 0); | |
|
58 | alu_ctrl : IN STD_LOGIC_VECTOR(3 DOWNTO 0);--(MAC_op, MULT_with_clear_ADD, IDLE) | |
|
59 | -- DATA | |
|
60 | sample_in : IN STD_LOGIC_VECTOR(Sample_SZ-1 DOWNTO 0); | |
|
61 | sample_out : OUT STD_LOGIC_VECTOR(Sample_SZ-1 DOWNTO 0) | |
|
62 | ); | |
|
63 | END IIR_CEL_CTRLR_v2_DATAFLOW; | |
|
64 | ||
|
65 | ARCHITECTURE ar_IIR_CEL_CTRLR_v2_DATAFLOW OF IIR_CEL_CTRLR_v2_DATAFLOW IS | |
|
66 | ||
|
67 | COMPONENT RAM_CTRLR_v2 | |
|
68 | GENERIC ( | |
|
69 | tech : INTEGER; | |
|
70 | Input_SZ_1 : INTEGER; | |
|
71 | Mem_use : INTEGER); | |
|
72 | PORT ( | |
|
73 | rstn : IN STD_LOGIC; | |
|
74 | clk : IN STD_LOGIC; | |
|
75 | ram_write : IN STD_LOGIC; | |
|
76 | ram_read : IN STD_LOGIC; | |
|
77 | raddr_rst : IN STD_LOGIC; | |
|
78 | raddr_add1 : IN STD_LOGIC; | |
|
79 | waddr_previous : IN STD_LOGIC_VECTOR(1 DOWNTO 0); | |
|
80 | sample_in : IN STD_LOGIC_VECTOR(Input_SZ_1-1 DOWNTO 0); | |
|
81 | sample_out : OUT STD_LOGIC_VECTOR(Input_SZ_1-1 DOWNTO 0)); | |
|
82 | END COMPONENT; | |
|
83 | ||
|
84 | SIGNAL reg_sample_in : STD_LOGIC_VECTOR(Sample_SZ-1 DOWNTO 0); | |
|
85 | SIGNAL ram_output : STD_LOGIC_VECTOR(Sample_SZ-1 DOWNTO 0); | |
|
86 | SIGNAL alu_output : STD_LOGIC_VECTOR(Sample_SZ-1 DOWNTO 0); | |
|
87 | SIGNAL ram_input : STD_LOGIC_VECTOR(Sample_SZ-1 DOWNTO 0); | |
|
88 | SIGNAL alu_sample : STD_LOGIC_VECTOR(Sample_SZ-1 DOWNTO 0); | |
|
89 | SIGNAL alu_output_s : STD_LOGIC_VECTOR(Sample_SZ+Coef_SZ-1 DOWNTO 0); | |
|
90 | ||
|
91 | SIGNAL arrayCoeff : MUX_INPUT_TYPE(0 TO (2**Coef_sel_SZ)-1,Coef_SZ-1 DOWNTO 0); | |
|
92 | SIGNAL alu_coef_s : MUX_OUTPUT_TYPE(Coef_SZ-1 DOWNTO 0); | |
|
93 | ||
|
94 | SIGNAL alu_coef : STD_LOGIC_VECTOR(Coef_SZ-1 DOWNTO 0); | |
|
95 | ||
|
96 | BEGIN | |
|
97 | ||
|
98 | ----------------------------------------------------------------------------- | |
|
99 | -- INPUT | |
|
100 | ----------------------------------------------------------------------------- | |
|
101 | PROCESS (clk, rstn) | |
|
102 | BEGIN -- PROCESS | |
|
103 | IF rstn = '0' THEN -- asynchronous reset (active low) | |
|
104 | reg_sample_in <= (OTHERS => '0'); | |
|
105 | ELSIF clk'event AND clk = '1' THEN -- rising clock edge | |
|
106 | CASE in_sel_src IS | |
|
107 | WHEN "00" => reg_sample_in <= reg_sample_in; | |
|
108 | WHEN "01" => reg_sample_in <= sample_in; | |
|
109 | WHEN "10" => reg_sample_in <= ram_output; | |
|
110 | WHEN "11" => reg_sample_in <= alu_output; | |
|
111 | WHEN OTHERS => NULL; | |
|
112 | END CASE; | |
|
113 | END IF; | |
|
114 | END PROCESS; | |
|
115 | ||
|
116 | ||
|
117 | ----------------------------------------------------------------------------- | |
|
118 | -- RAM + CTRL | |
|
119 | ----------------------------------------------------------------------------- | |
|
120 | ||
|
121 | ram_input <= reg_sample_in WHEN ram_sel_Wdata = "00" ELSE | |
|
122 | alu_output WHEN ram_sel_Wdata = "01" ELSE | |
|
123 | ram_output; | |
|
124 | ||
|
125 | RAM_CTRLR_v2_1: RAM_CTRLR_v2 | |
|
126 | GENERIC MAP ( | |
|
127 | tech => tech, | |
|
128 | Input_SZ_1 => Sample_SZ, | |
|
129 | Mem_use => Mem_use) | |
|
130 | PORT MAP ( | |
|
131 | clk => clk, | |
|
132 | rstn => rstn, | |
|
133 | ram_write => ram_write, | |
|
134 | ram_read => ram_read, | |
|
135 | raddr_rst => raddr_rst, | |
|
136 | raddr_add1 => raddr_add1, | |
|
137 | waddr_previous => waddr_previous, | |
|
138 | sample_in => ram_input, | |
|
139 | sample_out => ram_output); | |
|
140 | ||
|
141 | ----------------------------------------------------------------------------- | |
|
142 | -- MAC_ACC | |
|
143 | ----------------------------------------------------------------------------- | |
|
144 | -- Control : mac_ctrl (MAC_op, MULT_with_clear_ADD, IDLE) | |
|
145 | -- Data In : mac_sample, mac_coef | |
|
146 | -- Data Out: mac_output | |
|
147 | ||
|
148 | alu_sample <= reg_sample_in WHEN alu_sel_input = '0' ELSE ram_output; | |
|
149 | ||
|
150 | coefftable: FOR I IN 0 TO (2**Coef_sel_SZ)-1 GENERATE | |
|
151 | coeff_in: IF I < Coef_Nb GENERATE | |
|
152 | all_bit: FOR J IN Coef_SZ-1 DOWNTO 0 GENERATE | |
|
153 | arrayCoeff(I,J) <= coefs(Coef_SZ*I+J); | |
|
154 | END GENERATE all_bit; | |
|
155 | END GENERATE coeff_in; | |
|
156 | coeff_null: IF I > (Coef_Nb -1) GENERATE | |
|
157 | all_bit: FOR J IN Coef_SZ-1 DOWNTO 0 GENERATE | |
|
158 | arrayCoeff(I,J) <= '0'; | |
|
159 | END GENERATE all_bit; | |
|
160 | END GENERATE coeff_null; | |
|
161 | END GENERATE coefftable; | |
|
162 | ||
|
163 | Coeff_Mux : MUXN | |
|
164 | GENERIC MAP ( | |
|
165 | Input_SZ => Coef_SZ, | |
|
166 | NbStage => Coef_sel_SZ) | |
|
167 | PORT MAP ( | |
|
168 | sel => alu_sel_coeff, | |
|
169 | INPUT => arrayCoeff, | |
|
170 | RES => alu_coef_s); | |
|
171 | ||
|
172 | ||
|
173 | all_bit: FOR J IN Coef_SZ-1 DOWNTO 0 GENERATE | |
|
174 | alu_coef(J) <= alu_coef_s(J); | |
|
175 | END GENERATE all_bit; | |
|
176 | ||
|
177 | ----------------------------------------------------------------------------- | |
|
178 | -- TODO : just for Synthesis test | |
|
179 | ||
|
180 | --PROCESS (clk, rstn) | |
|
181 | --BEGIN | |
|
182 | -- IF rstn = '0' THEN | |
|
183 | -- alu_coef <= (OTHERS => '0'); | |
|
184 | -- ELSIF clk'event AND clk = '1' THEN | |
|
185 | -- all_bit: FOR J IN Coef_SZ-1 DOWNTO 0 LOOP | |
|
186 | -- alu_coef(J) <= alu_coef_s(J); | |
|
187 | -- END LOOP all_bit; | |
|
188 | -- END IF; | |
|
189 | --END PROCESS; | |
|
190 | ||
|
191 | ----------------------------------------------------------------------------- | |
|
192 | ||
|
193 | ||
|
194 | ALU_1: ALU | |
|
195 | GENERIC MAP ( | |
|
196 | Arith_en => 1, | |
|
197 | Input_SZ_1 => Sample_SZ, | |
|
198 | Input_SZ_2 => Coef_SZ) | |
|
199 | PORT MAP ( | |
|
200 | clk => clk, | |
|
201 | reset => rstn, | |
|
202 | ctrl => alu_ctrl, | |
|
203 | OP1 => alu_sample, | |
|
204 | OP2 => alu_coef, | |
|
205 | RES => alu_output_s); | |
|
206 | ||
|
207 | alu_output <= alu_output_s(Sample_SZ+virg_pos-1 DOWNTO virg_pos); | |
|
208 | ||
|
209 | sample_out <= alu_output; | |
|
210 | ||
|
211 | END ar_IIR_CEL_CTRLR_v2_DATAFLOW; | |
|
212 | ||
|
213 | ||
|
214 | ||
|
215 | ||
|
216 | ||
|
217 | ||
|
218 | ||
|
219 | ||
|
220 | ||
|
221 | ||
|
222 | ||
|
223 | ||
|
224 | ||
|
225 | ||
|
226 | ||
|
227 | ||
|
228 | ||
|
229 | ||
|
230 | ||
|
231 | ||
|
232 | ||
|
233 | ||
|
234 | ||
|
235 | ||
|
236 | ||
|
237 | ||
|
238 | ||
|
239 | ||
|
240 | ||
|
241 | ||
|
242 | ||
|
243 | ||
|
244 | ||
|
245 | ||
|
246 | ||
|
247 | ||
|
248 |
@@ -0,0 +1,120 | |||
|
1 | ------------------------------------------------------------------------------ | |
|
2 | -- This file is a part of the LPP VHDL IP LIBRARY | |
|
3 | -- Copyright (C) 2009 - 2010, Laboratory of Plasmas Physic - CNRS | |
|
4 | -- | |
|
5 | -- This program is free software; you can redistribute it and/or modify | |
|
6 | -- it under the terms of the GNU General Public License as published by | |
|
7 | -- the Free Software Foundation; either version 3 of the License, or | |
|
8 | -- (at your option) any later version. | |
|
9 | -- | |
|
10 | -- This program is distributed in the hope that it will be useful, | |
|
11 | -- but WITHOUT ANY WARRANTY; without even the implied warranty of | |
|
12 | -- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |
|
13 | -- GNU General Public License for more details. | |
|
14 | -- | |
|
15 | -- You should have received a copy of the GNU General Public License | |
|
16 | -- along with this program; if not, write to the Free Software | |
|
17 | -- Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA | |
|
18 | ------------------------------------------------------------------------------- | |
|
19 | -- Author : Alexis Jeandet | |
|
20 | -- Mail : alexis.jeandet@lpp.polytechnique.fr | |
|
21 | ---------------------------------------------------------------------------- | |
|
22 | LIBRARY IEEE; | |
|
23 | USE IEEE.numeric_std.ALL; | |
|
24 | USE IEEE.std_logic_1164.ALL; | |
|
25 | LIBRARY lpp; | |
|
26 | USE lpp.iir_filter.ALL; | |
|
27 | USE lpp.FILTERcfg.ALL; | |
|
28 | USE lpp.general_purpose.ALL; | |
|
29 | LIBRARY techmap; | |
|
30 | USE techmap.gencomp.ALL; | |
|
31 | ||
|
32 | ENTITY RAM_CTRLR_v2 IS | |
|
33 | GENERIC( | |
|
34 | tech : INTEGER := 0; | |
|
35 | Input_SZ_1 : INTEGER := 16; | |
|
36 | Mem_use : INTEGER := use_RAM | |
|
37 | ); | |
|
38 | PORT( | |
|
39 | rstn : IN STD_LOGIC; | |
|
40 | clk : IN STD_LOGIC; | |
|
41 | -- R/W Ctrl | |
|
42 | ram_write : IN STD_LOGIC; | |
|
43 | ram_read : IN STD_LOGIC; | |
|
44 | -- ADDR Ctrl | |
|
45 | raddr_rst : IN STD_LOGIC; | |
|
46 | raddr_add1 : IN STD_LOGIC; | |
|
47 | waddr_previous : IN STD_LOGIC_VECTOR(1 DOWNTO 0); | |
|
48 | -- Data | |
|
49 | sample_in : IN STD_LOGIC_VECTOR(Input_SZ_1-1 DOWNTO 0); | |
|
50 | sample_out : OUT STD_LOGIC_VECTOR(Input_SZ_1-1 DOWNTO 0) | |
|
51 | ); | |
|
52 | END RAM_CTRLR_v2; | |
|
53 | ||
|
54 | ||
|
55 | ARCHITECTURE ar_RAM_CTRLR_v2 OF RAM_CTRLR_v2 IS | |
|
56 | ||
|
57 | SIGNAL WD : STD_LOGIC_VECTOR(Input_SZ_1-1 DOWNTO 0); | |
|
58 | SIGNAL RD : STD_LOGIC_VECTOR(Input_SZ_1-1 DOWNTO 0); | |
|
59 | SIGNAL WEN, REN : STD_LOGIC; | |
|
60 | SIGNAL RADDR : STD_LOGIC_VECTOR(7 DOWNTO 0); | |
|
61 | SIGNAL WADDR : STD_LOGIC_VECTOR(7 DOWNTO 0); | |
|
62 | SIGNAL counter : STD_LOGIC_VECTOR(7 DOWNTO 0); | |
|
63 | ||
|
64 | BEGIN | |
|
65 | ||
|
66 | sample_out <= RD(Input_SZ_1-1 DOWNTO 0); | |
|
67 | WD(Input_SZ_1-1 DOWNTO 0) <= sample_in; | |
|
68 | ----------------------------------------------------------------------------- | |
|
69 | -- RAM | |
|
70 | ----------------------------------------------------------------------------- | |
|
71 | ||
|
72 | memCEL : IF Mem_use = use_CEL GENERATE | |
|
73 | WEN <= NOT ram_write; | |
|
74 | REN <= NOT ram_read; | |
|
75 | RAMblk : RAM_CEL | |
|
76 | GENERIC MAP(Input_SZ_1) | |
|
77 | PORT MAP( | |
|
78 | WD => WD, | |
|
79 | RD => RD, | |
|
80 | WEN => WEN, | |
|
81 | REN => REN, | |
|
82 | WADDR => WADDR, | |
|
83 | RADDR => RADDR, | |
|
84 | RWCLK => clk, | |
|
85 | RESET => rstn | |
|
86 | ) ; | |
|
87 | END GENERATE; | |
|
88 | ||
|
89 | memRAM : IF Mem_use = use_RAM GENERATE | |
|
90 | SRAM : syncram_2p | |
|
91 | GENERIC MAP(tech, 8, Input_SZ_1) | |
|
92 | PORT MAP(clk, ram_read, RADDR, RD, clk, ram_write, WADDR, WD); | |
|
93 | END GENERATE; | |
|
94 | ||
|
95 | ----------------------------------------------------------------------------- | |
|
96 | -- RADDR | |
|
97 | ----------------------------------------------------------------------------- | |
|
98 | PROCESS (clk, rstn) | |
|
99 | BEGIN -- PROCESS | |
|
100 | IF rstn = '0' THEN -- asynchronous reset (active low) | |
|
101 | counter <= (OTHERS => '0'); | |
|
102 | ELSIF clk'EVENT AND clk = '1' THEN -- rising clock edge | |
|
103 | IF raddr_rst = '1' THEN | |
|
104 | counter <= (OTHERS => '0'); | |
|
105 | ELSIF raddr_add1 = '1' THEN | |
|
106 | counter <= STD_LOGIC_VECTOR(UNSIGNED(counter)+1); | |
|
107 | END IF; | |
|
108 | END IF; | |
|
109 | END PROCESS; | |
|
110 | RADDR <= counter; | |
|
111 | ||
|
112 | ----------------------------------------------------------------------------- | |
|
113 | -- WADDR | |
|
114 | ----------------------------------------------------------------------------- | |
|
115 | WADDR <= STD_LOGIC_VECTOR(UNSIGNED(counter)-2) WHEN waddr_previous = "10" ELSE | |
|
116 | STD_LOGIC_VECTOR(UNSIGNED(counter)-1) WHEN waddr_previous = "01" ELSE | |
|
117 | STD_LOGIC_VECTOR(UNSIGNED(counter)); | |
|
118 | ||
|
119 | ||
|
120 | END ar_RAM_CTRLR_v2; |
@@ -0,0 +1,16 | |||
|
1 | APB_IIR_CEL.vhd | |
|
2 | FILTER.vhd | |
|
3 | FILTER_RAM_CTRLR.vhd | |
|
4 | FILTERcfg.vhd | |
|
5 | FilterCTRLR.vhd | |
|
6 | IIR_CEL_CTRLR.vhd | |
|
7 | IIR_CEL_FILTER.vhd | |
|
8 | RAM.vhd | |
|
9 | RAM_CEL.vhd | |
|
10 | RAM_CTRLR2.vhd | |
|
11 | Top_Filtre_IIR.vhd | |
|
12 | RAM_CTRLR_v2.vhd | |
|
13 | IIR_CEL_CTRLR_v2_CONTROL.vhd | |
|
14 | IIR_CEL_CTRLR_v2_DATAFLOW.vhd | |
|
15 | IIR_CEL_CTRLR_v2.vhd | |
|
16 | iir_filter.vhd |
@@ -0,0 +1,52 | |||
|
1 | ENTITY GenericMUX IS | |
|
2 | GENERIC ( | |
|
3 | data_SZ : INTEGER := 8; | |
|
4 | input_NB : INTEGER := 2; | |
|
5 | NB_STAGE : INTEGER := 1); | |
|
6 | PORT ( | |
|
7 | sel : IN STD_LOGIC_VECTOR(NB_STAGE-1 DOWNTO 0); | |
|
8 | input : IN ARRAY(0 TO (input_NB-1)) OF STD_LOGIC_VECTOR(data_SZ-1 DOWNTO 0); | |
|
9 | output : OUT STD_LOGIC_VECTOR(data_SZ-1 DOWNTO 0) | |
|
10 | ); | |
|
11 | END GenericMUX; | |
|
12 | ||
|
13 | ARCHITECTURE beh OF GenericMUX IS | |
|
14 | ||
|
15 | COMPONENT GenericMUX | |
|
16 | GENERIC ( | |
|
17 | data_SZ : INTEGER; | |
|
18 | input_NB : INTEGER; | |
|
19 | NB_STAGE : INTEGER); | |
|
20 | PORT ( | |
|
21 | sel : IN STD_LOGIC_VECTOR(NB_STAGE-1 DOWNTO 0); | |
|
22 | input : IN ARRAY(0 TO (input_NB-1)) OF STD_LOGIC_VECTOR(data_SZ-1 DOWNTO 0); | |
|
23 | output : OUT STD_LOGIC_VECTOR(data_SZ-1 DOWNTO 0)); | |
|
24 | END COMPONENT; | |
|
25 | ||
|
26 | SIGNAL s : ARRAY(0 TO 2**(NB_STAGE-1)-1 ) OF STD_LOGIC_VECTOR(data_SZ-1 DOWNTO 0); | |
|
27 | ||
|
28 | BEGIN -- beh | |
|
29 | ||
|
30 | nb_stage_1: IF NB_STAGE = 1 GENERATE | |
|
31 | input_nb_2: IF input_NB > 1 GENERATE | |
|
32 | output <= input(0) WHEN sel = "0" ELSE input(1); | |
|
33 | END GENERATE input_nb_2; | |
|
34 | input_nb_2: IF input_NB = 1 GENERATE | |
|
35 | output <= input(0) ; | |
|
36 | END GENERATE input_nb_2; | |
|
37 | input_nb_2: IF input_NB < 1 GENERATE | |
|
38 | output <= (OTHERS => '0'); | |
|
39 | END GENERATE input_nb_2; | |
|
40 | END GENERATE nb_stage_1;<label>: IF NERIC MAP ( | |
|
41 | data_SZ => data_SZ, | |
|
42 | input_NB => 2**(NB_STAGE-1), | |
|
43 | NB_STifAGE => NB_STAGE-1) | |
|
44 | PORT MAP ( | |
|
45 | sel => sel(NB_STAGE-2 DOWNTO 0), | |
|
46 | input => s, | |
|
47 | output => output); | |
|
48 | ||
|
49 | ||
|
50 | END GENERATE nb_stages; | |
|
51 | ||
|
52 | END beh; |
@@ -0,0 +1,86 | |||
|
1 | ------------------------------------------------------------------------------ | |
|
2 | -- This file is a part of the LPP VHDL IP LIBRARY | |
|
3 | -- Copyright (C) 2009 - 2010, Laboratory of Plasmas Physic - CNRS | |
|
4 | -- | |
|
5 | -- This program is free software; you can redistribute it and/or modify | |
|
6 | -- it under the terms of the GNU General Public License as published by | |
|
7 | -- the Free Software Foundation; either version 3 of the License, or | |
|
8 | -- (at your option) any later version. | |
|
9 | -- | |
|
10 | -- This program is distributed in the hope that it will be useful, | |
|
11 | -- but WITHOUT ANY WARRANTY; without even the implied warranty of | |
|
12 | -- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |
|
13 | -- GNU General Public License for more details. | |
|
14 | -- | |
|
15 | -- You should have received a copy of the GNU General Public License | |
|
16 | -- along with this program; if not, write to the Free Software | |
|
17 | -- Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA | |
|
18 | ------------------------------------------------------------------------------- | |
|
19 | -- Author : Jean-christophe Pellion | |
|
20 | -- Mail : Jean-christophe.pellion@lpp.polytechnique.fr | |
|
21 | ------------------------------------------------------------------------------- | |
|
22 | LIBRARY IEEE; | |
|
23 | USE IEEE.numeric_std.ALL; | |
|
24 | USE IEEE.std_logic_1164.ALL; | |
|
25 | LIBRARY lpp; | |
|
26 | USE lpp.general_purpose.ALL; | |
|
27 | ||
|
28 | ENTITY MUXN IS | |
|
29 | GENERIC( | |
|
30 | Input_SZ : INTEGER := 16; | |
|
31 | NbStage : INTEGER := 2); | |
|
32 | PORT( | |
|
33 | sel : IN STD_LOGIC_VECTOR(NbStage-1 DOWNTO 0); | |
|
34 | --INPUT : IN ARRAY (0 TO (2**NbStage)-1) OF STD_LOGIC_VECTOR(Input_SZ-1 DOWNTO 0); | |
|
35 | INPUT : IN MUX_INPUT_TYPE(0 TO (2**NbStage)-1,Input_SZ-1 DOWNTO 0); | |
|
36 | RES : OUT MUX_OUTPUT_TYPE(Input_SZ-1 DOWNTO 0)); | |
|
37 | END ENTITY; | |
|
38 | ||
|
39 | ARCHITECTURE ar_MUXN OF MUXN IS | |
|
40 | COMPONENT MUXN | |
|
41 | GENERIC ( | |
|
42 | Input_SZ : INTEGER; | |
|
43 | NbStage : INTEGER); | |
|
44 | PORT ( | |
|
45 | sel : IN STD_LOGIC_VECTOR(NbStage-1 DOWNTO 0); | |
|
46 | INPUT : IN MUX_INPUT_TYPE(0 TO (2**NbStage)-1,Input_SZ-1 DOWNTO 0); | |
|
47 | --INPUT : IN ARRAY (0 TO (2**NbStage)-1) OF STD_LOGIC_VECTOR(Input_SZ-1 DOWNTO 0); | |
|
48 | RES : OUT MUX_OUTPUT_TYPE(Input_SZ-1 DOWNTO 0)); | |
|
49 | END COMPONENT; | |
|
50 | ||
|
51 | --SIGNAL S : ARRAY (0 TO (2**(NbStage-1)-1)) OF STD_LOGIC_VECTOR(Input_SZ-1 DOWNTO 0); | |
|
52 | SIGNAL S: MUX_INPUT_TYPE(0 TO (2**(NbStage-1))-1,Input_SZ-1 DOWNTO 0); | |
|
53 | ||
|
54 | ||
|
55 | BEGIN | |
|
56 | ||
|
57 | all_input : FOR I IN 0 TO (2**(NbStage-1))-1 GENERATE | |
|
58 | all_input: FOR J IN Input_SZ-1 DOWNTO 0 GENERATE | |
|
59 | S(I,J) <= INPUT(2*I,J) WHEN sel(0) = '0' ELSE INPUT(2*I+1,J); | |
|
60 | END GENERATE all_input; | |
|
61 | END GENERATE all_input; | |
|
62 | ||
|
63 | NB_STAGE_1: IF NbStage = 1 GENERATE | |
|
64 | all_input: FOR J IN Input_SZ-1 DOWNTO 0 GENERATE | |
|
65 | RES(J) <= S(0,J); | |
|
66 | END GENERATE all_input; | |
|
67 | END GENERATE NB_STAGE_1; | |
|
68 | ||
|
69 | NB_STAGE_2 : IF NbStage = 2 GENERATE | |
|
70 | all_input: FOR I IN Input_SZ-1 DOWNTO 0 GENERATE | |
|
71 | RES(I) <= S(0,I) WHEN sel(1) = '0' ELSE S(1,I); | |
|
72 | END GENERATE all_input; | |
|
73 | END GENERATE NB_STAGE_2; | |
|
74 | ||
|
75 | NB_STAGE_PLUS : IF NbStage > 2 GENERATE | |
|
76 | MUXN_1 : MUXN | |
|
77 | GENERIC MAP ( | |
|
78 | Input_SZ => Input_SZ, | |
|
79 | NbStage => NbStage-1) | |
|
80 | PORT MAP ( | |
|
81 | sel => sel(NbStage-1 DOWNTO 1), | |
|
82 | INPUT => S, | |
|
83 | RES => RES); | |
|
84 | END GENERATE NB_STAGE_PLUS; | |
|
85 | ||
|
86 | END ar_MUXN; |
@@ -0,0 +1,57 | |||
|
1 | ------------------------------------------------------------------------------ | |
|
2 | -- This file is a part of the LPP VHDL IP LIBRARY | |
|
3 | -- Copyright (C) 2009 - 2010, Laboratory of Plasmas Physic - CNRS | |
|
4 | -- | |
|
5 | -- This program is free software; you can redistribute it and/or modify | |
|
6 | -- it under the terms of the GNU General Public License as published by | |
|
7 | -- the Free Software Foundation; either version 3 of the License, or | |
|
8 | -- (at your option) any later version. | |
|
9 | -- | |
|
10 | -- This program is distributed in the hope that it will be useful, | |
|
11 | -- but WITHOUT ANY WARRANTY; without even the implied warranty of | |
|
12 | -- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |
|
13 | -- GNU General Public License for more details. | |
|
14 | -- | |
|
15 | -- You should have received a copy of the GNU General Public License | |
|
16 | -- along with this program; if not, write to the Free Software | |
|
17 | -- Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA | |
|
18 | ------------------------------------------------------------------------------- | |
|
19 | -- Author : Jean-christophe PELLION | |
|
20 | -- Mail : jean-christophe.pellion@lpp.polytechnique.fr | |
|
21 | ---------------------------------------------------------------------------- | |
|
22 | LIBRARY IEEE; | |
|
23 | USE IEEE.numeric_std.ALL; | |
|
24 | USE IEEE.std_logic_1164.ALL; | |
|
25 | ||
|
26 | ENTITY SYNC_FF IS | |
|
27 | ||
|
28 | GENERIC ( | |
|
29 | NB_FF_OF_SYNC : INTEGER := 2); | |
|
30 | ||
|
31 | PORT ( | |
|
32 | clk : IN STD_LOGIC; | |
|
33 | rstn : IN STD_LOGIC; | |
|
34 | A : IN STD_LOGIC; | |
|
35 | A_sync : OUT STD_LOGIC); | |
|
36 | ||
|
37 | END SYNC_FF; | |
|
38 | ||
|
39 | ARCHITECTURE beh OF SYNC_FF IS | |
|
40 | SIGNAL A_temp : STD_LOGIC_VECTOR(NB_FF_OF_SYNC DOWNTO 0); | |
|
41 | BEGIN -- beh | |
|
42 | ||
|
43 | sync_loop : FOR I IN 0 TO NB_FF_OF_SYNC-1 GENERATE | |
|
44 | PROCESS (clk, rstn) | |
|
45 | BEGIN -- PROCESS | |
|
46 | IF rstn = '0' THEN -- asynchronous reset (active low) | |
|
47 | A_temp(I) <= '0'; | |
|
48 | ELSIF clk'EVENT AND clk = '1' THEN -- rising clock edge | |
|
49 | A_temp(I) <= A_temp(I+1); | |
|
50 | END IF; | |
|
51 | END PROCESS; | |
|
52 | END GENERATE sync_loop; | |
|
53 | ||
|
54 | A_temp(NB_FF_OF_SYNC) <= A; | |
|
55 | A_sync <= A_temp(0); | |
|
56 | ||
|
57 | END beh; |
@@ -0,0 +1,120 | |||
|
1 | LIBRARY ieee; | |
|
2 | USE ieee.std_logic_1164.ALL; | |
|
3 | LIBRARY lpp; | |
|
4 | USE lpp.lpp_ad_conv.ALL; | |
|
5 | USE lpp.general_purpose.SYNC_FF; | |
|
6 | ||
|
7 | ------------------------------------------------------------------------------- | |
|
8 | ||
|
9 | ENTITY ADS7886_drvr_tb IS | |
|
10 | ||
|
11 | END ADS7886_drvr_tb; | |
|
12 | ||
|
13 | ------------------------------------------------------------------------------- | |
|
14 | ||
|
15 | ARCHITECTURE tb OF ADS7886_drvr_tb IS | |
|
16 | ||
|
17 | COMPONENT TestModule_ADS7886 | |
|
18 | GENERIC ( | |
|
19 | freq : INTEGER; | |
|
20 | amplitude : INTEGER); | |
|
21 | PORT ( | |
|
22 | cnv_run : IN STD_LOGIC; | |
|
23 | cnv : IN STD_LOGIC; | |
|
24 | sck : IN STD_LOGIC; | |
|
25 | sdo : OUT STD_LOGIC); | |
|
26 | END COMPONENT; | |
|
27 | ||
|
28 | -- component generics | |
|
29 | CONSTANT ChanelCount : INTEGER := 8; | |
|
30 | CONSTANT ncycle_cnv_high : INTEGER := 79; | |
|
31 | CONSTANT ncycle_cnv : INTEGER := 500; | |
|
32 | ||
|
33 | -- component ports | |
|
34 | SIGNAL cnv_rstn : STD_LOGIC; | |
|
35 | SIGNAL cnv : STD_LOGIC; | |
|
36 | SIGNAL rstn : STD_LOGIC; | |
|
37 | SIGNAL sck : STD_LOGIC; | |
|
38 | SIGNAL sdo : STD_LOGIC_VECTOR(ChanelCount-1 DOWNTO 0); | |
|
39 | SIGNAL sample : Samples(ChanelCount-1 DOWNTO 0); | |
|
40 | SIGNAL sample_val : STD_LOGIC; | |
|
41 | SIGNAL run_cnv : STD_LOGIC; | |
|
42 | ||
|
43 | ||
|
44 | -- clock | |
|
45 | signal Clk : STD_LOGIC := '1'; | |
|
46 | SIGNAL cnv_clk : STD_LOGIC := '1'; | |
|
47 | ||
|
48 | ||
|
49 | BEGIN -- tb | |
|
50 | ||
|
51 | MODULE_ADS7886: FOR I IN 0 TO ChanelCount-1 GENERATE | |
|
52 | TestModule_ADS7886_u: TestModule_ADS7886 | |
|
53 | GENERIC MAP ( | |
|
54 | freq => 256/(I+1), | |
|
55 | amplitude => 300/(I+1)) | |
|
56 | PORT MAP ( | |
|
57 | cnv_run => run_cnv, | |
|
58 | cnv => cnv, | |
|
59 | sck => sck, | |
|
60 | sdo => sdo(I)); | |
|
61 | END GENERATE MODULE_ADS7886; | |
|
62 | ||
|
63 | -- component instantiation | |
|
64 | DUT: ADS7886_drvr | |
|
65 | GENERIC MAP ( | |
|
66 | ChanelCount => ChanelCount, | |
|
67 | ncycle_cnv_high => ncycle_cnv_high, | |
|
68 | ncycle_cnv => ncycle_cnv) | |
|
69 | PORT MAP ( | |
|
70 | cnv_clk => cnv_clk, | |
|
71 | cnv_rstn => cnv_rstn, | |
|
72 | cnv_run => run_cnv, | |
|
73 | cnv => cnv, | |
|
74 | clk => clk, | |
|
75 | rstn => rstn, | |
|
76 | sck => sck, | |
|
77 | sdo => sdo, | |
|
78 | sample => sample, | |
|
79 | sample_val => sample_val); | |
|
80 | ||
|
81 | -- clock generation | |
|
82 | Clk <= not Clk after 20 ns; -- 25 Mhz | |
|
83 | cnv_clk <= not cnv_clk after 10173 ps; -- 49.152 MHz | |
|
84 | ||
|
85 | -- waveform generation | |
|
86 | WaveGen_Proc: process | |
|
87 | begin | |
|
88 | -- insert signal assignments here | |
|
89 | wait until Clk = '1'; | |
|
90 | rstn <= '0'; | |
|
91 | cnv_rstn <= '0'; | |
|
92 | run_cnv <= '0'; | |
|
93 | wait until Clk = '1'; | |
|
94 | wait until Clk = '1'; | |
|
95 | wait until Clk = '1'; | |
|
96 | rstn <= '1'; | |
|
97 | cnv_rstn <= '1'; | |
|
98 | wait until Clk = '1'; | |
|
99 | wait until Clk = '1'; | |
|
100 | wait until Clk = '1'; | |
|
101 | wait until Clk = '1'; | |
|
102 | wait until Clk = '1'; | |
|
103 | wait until Clk = '1'; | |
|
104 | run_cnv <= '1'; | |
|
105 | wait; | |
|
106 | ||
|
107 | end process WaveGen_Proc; | |
|
108 | ||
|
109 | ||
|
110 | ||
|
111 | END tb; | |
|
112 | ||
|
113 | ------------------------------------------------------------------------------- | |
|
114 | ||
|
115 | CONFIGURATION ADS7886_drvr_tb_tb_cfg OF ADS7886_drvr_tb IS | |
|
116 | FOR tb | |
|
117 | END FOR; | |
|
118 | END ADS7886_drvr_tb_tb_cfg; | |
|
119 | ||
|
120 | ------------------------------------------------------------------------------- |
@@ -0,0 +1,70 | |||
|
1 | ------------------------------------------------------------------------------ | |
|
2 | -- This file is a part of the LPP VHDL IP LIBRARY | |
|
3 | -- Copyright (C) 2009 - 2010, Laboratory of Plasmas Physic - CNRS | |
|
4 | -- | |
|
5 | -- This program is free software; you can redistribute it and/or modify | |
|
6 | -- it under the terms of the GNU General Public License as published by | |
|
7 | -- the Free Software Foundation; either version 3 of the License, or | |
|
8 | -- (at your option) any later version. | |
|
9 | -- | |
|
10 | -- This program is distributed in the hope that it will be useful, | |
|
11 | -- but WITHOUT ANY WARRANTY; without even the implied warranty of | |
|
12 | -- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |
|
13 | -- GNU General Public License for more details. | |
|
14 | -- | |
|
15 | -- You should have received a copy of the GNU General Public License | |
|
16 | -- along with this program; if not, write to the Free Software | |
|
17 | -- Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA | |
|
18 | ------------------------------------------------------------------------------- | |
|
19 | -- Author : Jean-christophe PELLION | |
|
20 | -- Mail : jean-christophe.pellion@lpp.polytechnique.fr | |
|
21 | ------------------------------------------------------------------------------- | |
|
22 | LIBRARY IEEE; | |
|
23 | USE IEEE.STD_LOGIC_1164.ALL; | |
|
24 | USE IEEE.std_logic_arith.ALL; | |
|
25 | USE IEEE.std_logic_signed.ALL; | |
|
26 | USE IEEE.MATH_real.ALL; | |
|
27 | ||
|
28 | ENTITY TestModule_ADS7886 IS | |
|
29 | GENERIC ( | |
|
30 | freq : INTEGER := 24; | |
|
31 | amplitude : INTEGER := 3000; | |
|
32 | impulsion : INTEGER := 0 -- 1 => impulsion generation | |
|
33 | ); | |
|
34 | PORT ( | |
|
35 | -- CONV -- | |
|
36 | cnv_run : IN STD_LOGIC; | |
|
37 | cnv : IN STD_LOGIC; | |
|
38 | ||
|
39 | -- DATA -- | |
|
40 | sck : IN STD_LOGIC; | |
|
41 | sdo : OUT STD_LOGIC | |
|
42 | ); | |
|
43 | END TestModule_ADS7886; | |
|
44 | ||
|
45 | ARCHITECTURE beh OF TestModule_ADS7886 IS | |
|
46 | SIGNAL reg : STD_LOGIC_VECTOR(15 DOWNTO 0); | |
|
47 | SIGNAL n : INTEGER := 0; | |
|
48 | BEGIN -- beh | |
|
49 | ||
|
50 | PROCESS (cnv, sck) | |
|
51 | BEGIN -- PROCESS | |
|
52 | IF cnv = '0' AND cnv'EVENT THEN | |
|
53 | n <= n + 1; | |
|
54 | IF impulsion = 1 THEN | |
|
55 | IF n = 1 THEN | |
|
56 | reg <= conv_std_logic_vector(integer(REAL(amplitude)) , 16); | |
|
57 | ELSE | |
|
58 | reg <= conv_std_logic_vector(integer(REAL(0)) , 16); | |
|
59 | END IF; | |
|
60 | ELSE | |
|
61 | reg <= conv_std_logic_vector(integer(REAL(amplitude) * SIN(MATH_2_PI*REAL(n)/REAL(freq))) , 16); | |
|
62 | END IF; | |
|
63 | ELSIF sck'EVENT AND sck = '0' THEN -- rising clock edge | |
|
64 | reg(15) <= 'X'; | |
|
65 | reg(14 DOWNTO 0) <= reg(15 DOWNTO 1); | |
|
66 | END IF; | |
|
67 | END PROCESS; | |
|
68 | sdo <= reg(0); | |
|
69 | ||
|
70 | END beh; |
General Comments 0
You need to be logged in to leave comments.
Login now