180 likes | 319 Views
Winter 2010. Performed by Greenberg Oleg Kichin Dima. Sub - Nyquist Sampling - System Architecture High-speed digital systems laboratory Midterm presentation. Supervised by Moshe Mishali Inna Rivkin. General Algorithm Scheme.
E N D
Winter 2010 Performed by Greenberg Oleg KichinDima Sub -Nyquist Sampling - System ArchitectureHigh-speed digital systems laboratory Midterm presentation Supervised by Moshe Mishali Inna Rivkin
General Algorithm Scheme • Expand block: Recieves 4 channels from A/D and expands them to 12 channels 2. CTF block: Discovers supports out of 12 channels 3. DSP & Detector block**: Reconstructs the Initial Signal ** Implemented in the same FPGA
Expander BlocksIncluding on Board Memories Block Description • A2D : FIFO on board memory • Coeff. : FIFO on board memory • Main Bus Debug : FIFO on board memory • CTFDebug : FIFO on board memory • A2D Reader : Reads data from A2D, simulates A2D input • Main Debug Writer : Writes data from main bus to on board FIFO • CTF Debug Writer : Writes data from Expander to debug memory • Main Bus Interface : Receives data from Expander & sends with high rate • CTF Bus Interface : Receives data from Expander & sends with high rate • Main Controller : Controls the system operation • Registers : Contain control data received from PCI • Pll : On board Pll , similar to all
Process FlowSimilar to all Units Loading data on board FIFOs from PSI Loading control registers from PSI Transferring data to internal RAMs from external memory Sending Start Loading signal to CTF/DSP/Exp. Units Receiving Ready signal from the CTF/DSP/Exp. Units Sending Ready signal to the main controller. All units ready Main controller Starts the A2D and the system runs
CTF BlocksIncluding on Board Memories Block Description • Iteration Debug : FIFO on board memory • Matrix : FIFO on board memory • Memory Debug : FIFO on board memory • Matrix internal : RAM memory • Main Reader : Reads data from memory, simulates input from Exp. main • Exp.Debug Reader: Reads data from memory, simulates input from Exp. L/R • Matrix Writer : Reads ‘A’ matrix from memory, writes to internal memory • Memory Debug Writer: Writes Debug data to memory • Main Bus Interface : Receives data from main bus & sends with low rate • CTF Bus Interface : Receives data from L/R bus & sends with low rate • Exp. DebugMod. : Simulates Expander in debug mode • Dsp DebugMod : Simulates DSP in debug mode • Main Controller : Controls the system operation • Registers : Contain control data received from PCI
DSP BlocksIncluding on Board Memories Block Description • MainBus : FIFO on board memory • Matrix : FIFO on board memory • Delay : FIFO on board memory • Output : FIFO on board memory • Matrix internal : RAM memory • Main Reader : Reads data from memory, simulates input from Exp. Main • Matrix Writer : Reads ‘A’ matrix from memory, writes to internal memory • Output Writer : Writes outputdata to memory • Fifo Reader : Reads inputdata from delay fifo • Main Bus Interface : Receives data from main bus & sends with low rate • Ctf DebugMod. : Simulates CTF in debug mode • Main Controller : Controls the system operation • Registers : Contain control data received from PCI
Expander Entity Inputs: Clk_60 – 60MHz input data clock Clk_20 – 20MHz main output data clock Clk_2 – 2MHz iteration output data clock Clk_240 – 240MHz processing clock From main controller : rst – reset start_load – memory ready for read num_of_itr – number of wanted slice pause – pause the system From CTF : req_pulse – request of new slice Memory (20[MHz]) : memory_data – data from memory memory_ack – requested data is ready From A/D (60[MHz]) : Data_from_AD – input data for the system Data_in_valid – the input is valid Outputs: ready_to_arch – finished initilization data_to_main – main output to CTF/DSP (20[MHz]) data_to_main_valid – main output is valid data_to_CTF – iteration output (2[MHz]) data_to_CTF_valid – iteration output is valid memory_read_request – request data from memory
CTF Entity Inputs: Clk_20 – 20MHz main input data clock Clk_240 – 240MHz processing clock CLk 160 - 160MHz processing clock or as needed From controller : reset – reset start_load– memory ready for read pause – pause the system N_Frame – Frame Threshhold - OMP stopping cond. Num_Of_Ite r- Number of iterations From Expander : data_from_exp – iterational data data_exp_valid - iterational data valid From DSP : initiate – there has been support change From Matrix RAM: A_data – data from RAM From Main interface: data_main– input data for the expander data_main_valid– the data is valid Outputs: To Controller : ready – ready to begin To Expander : req_pulse – requests next iteration To DSP : support – numbers of support num_of_supports – total number of supports support_valid – support data is valid To Matrix RAM : A_addr – Address for data from RAM A_rd_req – read enable
DSP Entity Inputs: Clk_20 – 20MHz main input data clock Clk_240 – 240MHz processing clock From controller : reset – reset start– memory ready for read pause – pause the system From CTF : support – numbers of support support_num – how many support passed support_valid – support number is valid Internal FIFO: samples_from_fifo– data from fifo samples_fifo_valid– the data is valid From Main interface: samples_from_expander– input data for the expander samples_expander_valid– the data is valid From Matrix memory: memory_get – matrix row Outputs: column_number– number of column digital_signals – data output samples_valid_out– the output data is valid support_changed– support change was detected
Questions Thank You For Listening.