# HG changeset patch # User pellion # Date 2014-12-19 14:10:53 # Node ID 10ba15a05d8ce0002e13071c2641a8350396eace # Parent b5ecdb4d24bc337508682f7316bc0142233dab09 LFR-em 1.1.35 diff --git a/designs/LFR-em-WFP_MS/LFR-em.vhd b/designs/LFR-em-WFP_MS/LFR-em.vhd --- a/designs/LFR-em-WFP_MS/LFR-em.vhd +++ b/designs/LFR-em-WFP_MS/LFR-em.vhd @@ -364,7 +364,7 @@ BEGIN -- beh pirq_ms => 6, pirq_wfp => 14, hindex => 2, - top_lfr_version => X"010122") -- aa.bb.cc version + top_lfr_version => X"010123") -- aa.bb.cc version -- AA : BOARD NUMBER -- 0 => MINI_LFR -- 1 => EM diff --git a/designs/MINI-LFR_WFP_MS/testbench.vhd b/designs/MINI-LFR_WFP_MS/testbench.vhd --- a/designs/MINI-LFR_WFP_MS/testbench.vhd +++ b/designs/MINI-LFR_WFP_MS/testbench.vhd @@ -16,6 +16,7 @@ USE techmap.gencomp.ALL; LIBRARY lpp; USE lpp.lpp_sim_pkg.ALL; +USE lpp.lpp_lfr_sim_pkg.ALL; USE lpp.lpp_lfr_apbreg_pkg.ALL; USE lpp.lpp_lfr_time_management_apbreg_pkg.ALL; @@ -134,6 +135,9 @@ ARCHITECTURE behav OF testbench IS SIGNAL message_simu : STRING(1 TO 15) := "---------------"; + + SIGNAL data_message : STRING(1 TO 15) := "---------------"; + SIGNAL data_read : STD_LOGIC_VECTOR(31 DOWNTO 0) := (OTHERS => '0'); BEGIN @@ -142,6 +146,7 @@ BEGIN ----------------------------------------------------------------------------- PROCESS CONSTANT txp : TIME := 320 ns; + VARIABLE data_read_v : STD_LOGIC_VECTOR(31 DOWNTO 0); BEGIN -- PROCESS TXD1 <= '1'; reset <= '0'; @@ -155,11 +160,15 @@ BEGIN UART_WRITE(TXD1,txp,ADDR_BASE_GPIO & "000010",X"0000FFFF"); UART_WRITE(TXD1,txp,ADDR_BASE_GPIO & "000001",X"00000A0A"); UART_WRITE(TXD1,txp,ADDR_BASE_GPIO & "000001",X"00000B0B"); - + UART_READ(TXD1,RXD1,txp,ADDR_BASE_GPIO & "000001",data_read_v); + data_read <= data_read_v; + data_message <= "GPIO_data_write"; + -- UNSET the LFR reset message_simu <= "2 - LFR UNRESET"; - UART_WRITE(TXD1,txp,ADDR_BASE_TIME_MANAGMENT & ADDR_LFR_TM_CONTROL , X"00000000"); - UART_WRITE(TXD1,txp,ADDR_BASE_TIME_MANAGMENT & ADDR_LFR_TM_TIME_LOAD , X"00000000"); + UNRESET_LFR(TXD1,txp,ADDR_BASE_TIME_MANAGMENT); + --UART_WRITE(TXD1,txp,ADDR_BASE_TIME_MANAGMENT & ADDR_LFR_TM_CONTROL , X"00000000"); + --UART_WRITE(TXD1,txp,ADDR_BASE_TIME_MANAGMENT & ADDR_LFR_TM_TIME_LOAD , X"00000000"); -- message_simu <= "3 - LFR CONFIG "; UART_WRITE(TXD1,txp,ADDR_BASE_LFR & ADDR_LFR_SM_F0_0_ADDR , X"00000B0B"); diff --git a/lib/lpp/lpp_dma/DMA_SubSystem.vhd b/lib/lpp/lpp_dma/DMA_SubSystem.vhd --- a/lib/lpp/lpp_dma/DMA_SubSystem.vhd +++ b/lib/lpp/lpp_dma/DMA_SubSystem.vhd @@ -7,10 +7,10 @@ USE lpp.lpp_ad_conv.ALL; USE lpp.iir_filter.ALL; USE lpp.FILTERcfg.ALL; USE lpp.lpp_memory.ALL; -USE lpp.lpp_waveform_pkg.ALL; +--USE lpp.lpp_waveform_pkg.ALL; USE lpp.lpp_dma_pkg.ALL; -USE lpp.lpp_top_lfr_pkg.ALL; -USE lpp.lpp_lfr_pkg.ALL; +--USE lpp.lpp_top_lfr_pkg.ALL; +--USE lpp.lpp_lfr_pkg.ALL; USE lpp.general_purpose.ALL; LIBRARY techmap; diff --git a/lib/lpp/lpp_dma/DMA_SubSystem_Arbiter.vhd b/lib/lpp/lpp_dma/DMA_SubSystem_Arbiter.vhd --- a/lib/lpp/lpp_dma/DMA_SubSystem_Arbiter.vhd +++ b/lib/lpp/lpp_dma/DMA_SubSystem_Arbiter.vhd @@ -7,10 +7,10 @@ USE lpp.lpp_ad_conv.ALL; USE lpp.iir_filter.ALL; USE lpp.FILTERcfg.ALL; USE lpp.lpp_memory.ALL; -USE lpp.lpp_waveform_pkg.ALL; +--USE lpp.lpp_waveform_pkg.ALL; USE lpp.lpp_dma_pkg.ALL; -USE lpp.lpp_top_lfr_pkg.ALL; -USE lpp.lpp_lfr_pkg.ALL; +--USE lpp.lpp_top_lfr_pkg.ALL; +--USE lpp.lpp_lfr_pkg.ALL; USE lpp.general_purpose.ALL; LIBRARY techmap; diff --git a/lib/lpp/lpp_dma/DMA_SubSystem_MUX.vhd b/lib/lpp/lpp_dma/DMA_SubSystem_MUX.vhd --- a/lib/lpp/lpp_dma/DMA_SubSystem_MUX.vhd +++ b/lib/lpp/lpp_dma/DMA_SubSystem_MUX.vhd @@ -7,10 +7,10 @@ USE lpp.lpp_ad_conv.ALL; USE lpp.iir_filter.ALL; USE lpp.FILTERcfg.ALL; USE lpp.lpp_memory.ALL; -USE lpp.lpp_waveform_pkg.ALL; +--USE lpp.lpp_waveform_pkg.ALL; USE lpp.lpp_dma_pkg.ALL; -USE lpp.lpp_top_lfr_pkg.ALL; -USE lpp.lpp_lfr_pkg.ALL; +--USE lpp.lpp_top_lfr_pkg.ALL; +--USE lpp.lpp_lfr_pkg.ALL; USE lpp.general_purpose.ALL; LIBRARY techmap; diff --git a/lib/lpp/lpp_dma/lpp_dma_singleOrBurst.vhd b/lib/lpp/lpp_dma/lpp_dma_singleOrBurst.vhd --- a/lib/lpp/lpp_dma/lpp_dma_singleOrBurst.vhd +++ b/lib/lpp/lpp_dma/lpp_dma_singleOrBurst.vhd @@ -37,7 +37,7 @@ USE lpp.lpp_amba.ALL; USE lpp.apb_devices_list.ALL; USE lpp.lpp_memory.ALL; USE lpp.lpp_dma_pkg.ALL; -USE lpp.lpp_waveform_pkg.ALL; +--USE lpp.lpp_waveform_pkg.ALL; LIBRARY techmap; USE techmap.gencomp.ALL; diff --git a/lib/lpp/lpp_sim/lpp_sim_pkg.vhd b/lib/lpp/lpp_sim/lpp_sim_pkg.vhd --- a/lib/lpp/lpp_sim/lpp_sim_pkg.vhd +++ b/lib/lpp/lpp_sim/lpp_sim_pkg.vhd @@ -50,7 +50,15 @@ PACKAGE lpp_sim_pkg IS CONSTANT ADDR : IN STD_LOGIC_VECTOR(31 DOWNTO 2); CONSTANT DATA : IN STD_LOGIC_VECTOR(31 DOWNTO 0) ); - + PROCEDURE UART_READ ( + SIGNAL TX : OUT STD_LOGIC; + SIGNAL RX : IN STD_LOGIC; + CONSTANT tx_period : IN TIME; + CONSTANT ADDR : IN STD_LOGIC_VECTOR(31 DOWNTO 2); + DATA : OUT STD_LOGIC_VECTOR + ); + + END lpp_sim_pkg; PACKAGE BODY lpp_sim_pkg IS @@ -101,4 +109,31 @@ PACKAGE BODY lpp_sim_pkg IS tx_period); END; + PROCEDURE UART_READ ( + SIGNAL TX : OUT STD_LOGIC; + SIGNAL RX : IN STD_LOGIC; + CONSTANT tx_period : IN TIME; + CONSTANT ADDR : IN STD_LOGIC_VECTOR(31 DOWNTO 2); + DATA : OUT STD_LOGIC_VECTOR ) + IS + VARIABLE V_DATA : STD_LOGIC_VECTOR(7 DOWNTO 0); + CONSTANT ADDR_last : STD_LOGIC_VECTOR(7 DOWNTO 0) := ADDR(7 DOWNTO 2) & "00"; + BEGIN + txc(TX, 16#80#, tx_period); + txa(TX, + to_integer(UNSIGNED(ADDR(31 DOWNTO 24))), + to_integer(UNSIGNED(ADDR(23 DOWNTO 16))), + to_integer(UNSIGNED(ADDR(15 DOWNTO 8))), + to_integer(UNSIGNED(ADDR_last)), + tx_period); + rxc(RX,V_DATA,tx_period); + DATA(31 DOWNTO 24) := V_DATA; + rxc(RX,V_DATA,tx_period); + DATA(23 DOWNTO 16) := V_DATA; + rxc(RX,V_DATA,tx_period); + DATA(15 DOWNTO 8) := V_DATA; + rxc(RX,V_DATA,tx_period); + DATA(7 DOWNTO 0) := V_DATA; + END; + END lpp_sim_pkg; diff --git a/lib/lpp/lpp_sim/vhdlsim.txt b/lib/lpp/lpp_sim/vhdlsim.txt --- a/lib/lpp/lpp_sim/vhdlsim.txt +++ b/lib/lpp/lpp_sim/vhdlsim.txt @@ -1,2 +1,3 @@ lpp_sim_pkg.vhd +lpp_lfr_sim_pkg.vhd