@@ -0,0 +1,58 | |||||
|
1 | VHDLIB=../.. | |||
|
2 | SCRIPTSDIR=$(VHDLIB)/scripts/ | |||
|
3 | GRLIB := $(shell sh $(VHDLIB)/scripts/lpp_relpath.sh) | |||
|
4 | TOP=UT8ER1M32_test_board_top | |||
|
5 | BOARD=UT8ER1M32-test-board | |||
|
6 | include $(VHDLIB)/boards/$(BOARD)/Makefile.inc | |||
|
7 | DEVICE=$(PART)-$(PACKAGE)$(SPEED) | |||
|
8 | UCF=$(VHDLIB)/boards/$(BOARD)/$(TOP).ucf | |||
|
9 | QSF=$(VHDLIB)/boards/$(BOARD)/$(TOP).qsf | |||
|
10 | EFFORT=high | |||
|
11 | XSTOPT= | |||
|
12 | SYNPOPT="set_option -pipe 0; set_option -retiming 0; set_option -write_apr_constraint 0" | |||
|
13 | VHDLSYNFILES= UT8ER1M32-test-board_top.vhd | |||
|
14 | ||||
|
15 | PDC=$(VHDLIB)/boards/$(BOARD)/default.pdc | |||
|
16 | BITGEN=$(VHDLIB)/boards/$(BOARD)/default.ut | |||
|
17 | CLEAN=soft-clean | |||
|
18 | ||||
|
19 | TECHLIBS = proasic3e | |||
|
20 | ||||
|
21 | LIBSKIP = core1553bbc core1553brm core1553brt gr1553 corePCIF \ | |||
|
22 | tmtc openchip hynix ihp gleichmann micron usbhc | |||
|
23 | ||||
|
24 | DIRSKIP = b1553 pcif leon2 leon2ft crypto satcan ddr usb ata i2c \ | |||
|
25 | pci grusbhc haps slink ascs pwm coremp7 spi ac97 \ | |||
|
26 | ./amba_lcd_16x2_ctrlr \ | |||
|
27 | ./general_purpose/lpp_AMR \ | |||
|
28 | ./general_purpose/lpp_balise \ | |||
|
29 | ./general_purpose/lpp_delay \ | |||
|
30 | ./dsp/lpp_fft \ | |||
|
31 | ./lpp_bootloader \ | |||
|
32 | ./lpp_cna \ | |||
|
33 | ./lpp_demux \ | |||
|
34 | ./lpp_matrix \ | |||
|
35 | ./lpp_uart \ | |||
|
36 | ./lpp_usb \ | |||
|
37 | ./lpp_Header \ | |||
|
38 | ./lpp_sim \ | |||
|
39 | ./lpp_lfr_pkg \ | |||
|
40 | ./lpp_debug_lfr_pkg \ | |||
|
41 | ./lpp_top_lfr | |||
|
42 | ||||
|
43 | FILESKIP =lpp_lfr_ms.vhd \ | |||
|
44 | i2cmst.vhd \ | |||
|
45 | APB_MULTI_DIODE.vhd \ | |||
|
46 | APB_SIMPLE_DIODE.vhd \ | |||
|
47 | Top_MatrixSpec.vhd \ | |||
|
48 | APB_FFT.vhd \ | |||
|
49 | async_1Mx16.vhd \ | |||
|
50 | CY7C1061DV33.vhd | |||
|
51 | ||||
|
52 | ||||
|
53 | ||||
|
54 | include $(GRLIB)/bin/Makefile | |||
|
55 | include $(GRLIB)/software/leon3/Makefile | |||
|
56 | ||||
|
57 | ################## project specific targets ########################## | |||
|
58 |
@@ -0,0 +1,199 | |||||
|
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 grlib; | |||
|
26 | USE grlib.amba.ALL; | |||
|
27 | USE grlib.stdlib.ALL; | |||
|
28 | LIBRARY techmap; | |||
|
29 | USE techmap.gencomp.ALL; | |||
|
30 | LIBRARY gaisler; | |||
|
31 | USE gaisler.memctrl.ALL; | |||
|
32 | USE gaisler.leon3.ALL; | |||
|
33 | USE gaisler.uart.ALL; | |||
|
34 | USE gaisler.misc.ALL; | |||
|
35 | USE gaisler.spacewire.ALL; -- PLE | |||
|
36 | LIBRARY esa; | |||
|
37 | USE esa.memoryctrl.ALL; | |||
|
38 | LIBRARY lpp; | |||
|
39 | USE lpp.lpp_memory.ALL; | |||
|
40 | USE lpp.lpp_ad_conv.ALL; | |||
|
41 | USE lpp.lpp_lfr_pkg.ALL; | |||
|
42 | USE lpp.iir_filter.ALL; | |||
|
43 | USE lpp.general_purpose.ALL; | |||
|
44 | USE lpp.lpp_lfr_time_management.ALL; | |||
|
45 | USE lpp.lpp_leon3_soc_pkg.ALL; | |||
|
46 | ||||
|
47 | ENTITY UT8ER1M32_test_board_top IS | |||
|
48 | ||||
|
49 | PORT ( | |||
|
50 | clk_50 : IN STD_LOGIC; | |||
|
51 | clk_49 : IN STD_LOGIC; | |||
|
52 | reset : IN STD_LOGIC; | |||
|
53 | --BPs | |||
|
54 | BP0 : IN STD_LOGIC; | |||
|
55 | BP1 : IN STD_LOGIC; | |||
|
56 | --LEDs | |||
|
57 | LED0 : OUT STD_LOGIC; | |||
|
58 | LED1 : OUT STD_LOGIC; | |||
|
59 | LED2 : OUT STD_LOGIC; | |||
|
60 | --UARTs | |||
|
61 | TXD1 : IN STD_LOGIC; | |||
|
62 | RXD1 : OUT STD_LOGIC; | |||
|
63 | nCTS1 : OUT STD_LOGIC; | |||
|
64 | nRTS1 : IN STD_LOGIC; | |||
|
65 | ||||
|
66 | TXD2 : IN STD_LOGIC; | |||
|
67 | RXD2 : OUT STD_LOGIC; | |||
|
68 | ||||
|
69 | -- SRAM | |||
|
70 | SRAM_nWE : OUT STD_LOGIC; | |||
|
71 | SRAM_nCE1 : OUT STD_LOGIC; | |||
|
72 | SRAM_nCE2 : OUT STD_LOGIC; | |||
|
73 | SRAM_nOE : OUT STD_LOGIC; | |||
|
74 | SRAM_MBE : INOUT STD_LOGIC; | |||
|
75 | SRAM_nBUSY : IN STD_LOGIC; | |||
|
76 | --SRAM_nSCRUB : IN STD_LOGIC; | |||
|
77 | SRAM_A : OUT STD_LOGIC_VECTOR(18 DOWNTO 0); | |||
|
78 | SRAM_DQ : INOUT STD_LOGIC_VECTOR(31 DOWNTO 0) | |||
|
79 | ); | |||
|
80 | ||||
|
81 | END UT8ER1M32_test_board_top; | |||
|
82 | ||||
|
83 | ||||
|
84 | ARCHITECTURE beh OF UT8ER1M32_test_board_top IS | |||
|
85 | SIGNAL clk_25 : STD_LOGIC := '0'; | |||
|
86 | ----------------------------------------------------------------------------- | |||
|
87 | SIGNAL coarse_time : STD_LOGIC_VECTOR(31 DOWNTO 0); | |||
|
88 | SIGNAL fine_time : STD_LOGIC_VECTOR(15 DOWNTO 0); | |||
|
89 | -- | |||
|
90 | SIGNAL errorn : STD_LOGIC; | |||
|
91 | -- UART AHB --------------------------------------------------------------- | |||
|
92 | SIGNAL ahbrxd : STD_ULOGIC; -- DSU rx data | |||
|
93 | SIGNAL ahbtxd : STD_ULOGIC; -- DSU tx data | |||
|
94 | ||||
|
95 | -- UART APB --------------------------------------------------------------- | |||
|
96 | SIGNAL urxd1 : STD_ULOGIC; -- UART1 rx data | |||
|
97 | SIGNAL utxd1 : STD_ULOGIC; -- UART1 tx data | |||
|
98 | -- | |||
|
99 | SIGNAL I00_s : STD_LOGIC; | |||
|
100 | -- | |||
|
101 | CONSTANT NB_APB_SLAVE : INTEGER := 1; | |||
|
102 | CONSTANT NB_AHB_SLAVE : INTEGER := 1; | |||
|
103 | CONSTANT NB_AHB_MASTER : INTEGER := 1; | |||
|
104 | ||||
|
105 | SIGNAL apbi_ext : apb_slv_in_type; | |||
|
106 | SIGNAL apbo_ext : soc_apb_slv_out_vector(NB_APB_SLAVE-1+5 DOWNTO 5):= (OTHERS => apb_none); | |||
|
107 | SIGNAL ahbi_s_ext : ahb_slv_in_type; | |||
|
108 | SIGNAL ahbo_s_ext : soc_ahb_slv_out_vector(NB_AHB_SLAVE-1+3 DOWNTO 3):= (OTHERS => ahbs_none); | |||
|
109 | SIGNAL ahbi_m_ext : AHB_Mst_In_Type; | |||
|
110 | SIGNAL ahbo_m_ext : soc_ahb_mst_out_vector(NB_AHB_MASTER-1+1 DOWNTO 1):= (OTHERS => ahbm_none); | |||
|
111 | --SRAM----------------------------------------------------------------------- | |||
|
112 | SIGNAL SRAM_CE : STD_LOGIC_VECTOR(1 downto 0); | |||
|
113 | ||||
|
114 | BEGIN -- beh | |||
|
115 | ||||
|
116 | ----------------------------------------------------------------------------- | |||
|
117 | -- CLK | |||
|
118 | ----------------------------------------------------------------------------- | |||
|
119 | ||||
|
120 | ||||
|
121 | PROCESS(clk_50) | |||
|
122 | BEGIN | |||
|
123 | IF clk_50'EVENT AND clk_50 = '1' THEN | |||
|
124 | clk_25 <= NOT clk_25; | |||
|
125 | END IF; | |||
|
126 | END PROCESS; | |||
|
127 | ||||
|
128 | ----------------------------------------------------------------------------- | |||
|
129 | ||||
|
130 | ||||
|
131 | PROCESS (clk_49, reset) | |||
|
132 | BEGIN -- PROCESS | |||
|
133 | IF reset = '0' THEN -- asynchronous reset (active low) | |||
|
134 | I00_s <= '0'; | |||
|
135 | ELSIF clk_49'event AND clk_49 = '1' THEN -- rising clock edge | |||
|
136 | I00_s <= NOT I00_s; | |||
|
137 | END IF; | |||
|
138 | END PROCESS; | |||
|
139 | ||||
|
140 | nCTS1 <= '1'; | |||
|
141 | ||||
|
142 | SRAM_nCE1 <= SRAM_CE(0); | |||
|
143 | SRAM_nCE2 <= SRAM_CE(1); | |||
|
144 | ||||
|
145 | ||||
|
146 | ||||
|
147 | leon3_soc_1 : leon3_soc | |||
|
148 | GENERIC MAP ( | |||
|
149 | fabtech => apa3e, | |||
|
150 | memtech => apa3e, | |||
|
151 | padtech => inferred, | |||
|
152 | clktech => inferred, | |||
|
153 | disas => 0, | |||
|
154 | dbguart => 0, | |||
|
155 | pclow => 2, | |||
|
156 | clk_freq => 25000, | |||
|
157 | NB_CPU => 1, | |||
|
158 | ENABLE_FPU => 0, | |||
|
159 | FPU_NETLIST => 0, | |||
|
160 | ENABLE_DSU => 1, | |||
|
161 | ENABLE_AHB_UART => 1, | |||
|
162 | ENABLE_APB_UART => 1, | |||
|
163 | ENABLE_IRQMP => 1, | |||
|
164 | ENABLE_GPT => 1, | |||
|
165 | NB_AHB_MASTER => NB_AHB_MASTER, | |||
|
166 | NB_AHB_SLAVE => NB_AHB_SLAVE, | |||
|
167 | NB_APB_SLAVE => NB_APB_SLAVE, | |||
|
168 | ADDRESS_SIZE => 19, | |||
|
169 | USES_IAP_MEMCTRLR => 1) | |||
|
170 | PORT MAP ( | |||
|
171 | clk => clk_25, | |||
|
172 | reset => reset, | |||
|
173 | errorn => errorn, | |||
|
174 | ahbrxd => TXD1, | |||
|
175 | ahbtxd => RXD1, | |||
|
176 | urxd1 => TXD2, | |||
|
177 | utxd1 => RXD2, | |||
|
178 | address => SRAM_A, | |||
|
179 | data => SRAM_DQ, | |||
|
180 | nSRAM_BE0 => LED0, | |||
|
181 | nSRAM_BE1 => LED1, | |||
|
182 | nSRAM_BE2 => LED2, | |||
|
183 | nSRAM_BE3 => open, | |||
|
184 | nSRAM_WE => SRAM_nWE, | |||
|
185 | nSRAM_CE => SRAM_CE, | |||
|
186 | nSRAM_OE => SRAM_nOE, | |||
|
187 | nSRAM_READY => SRAM_nBUSY, | |||
|
188 | SRAM_MBE => SRAM_MBE, | |||
|
189 | ||||
|
190 | apbi_ext => apbi_ext, | |||
|
191 | apbo_ext => apbo_ext, | |||
|
192 | ahbi_s_ext => ahbi_s_ext, | |||
|
193 | ahbo_s_ext => ahbo_s_ext, | |||
|
194 | ahbi_m_ext => ahbi_m_ext, | |||
|
195 | ahbo_m_ext => ahbo_m_ext); | |||
|
196 | ||||
|
197 | ||||
|
198 | ||||
|
199 | END beh; No newline at end of file |
General Comments 0
You need to be logged in to leave comments.
Login now