-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathmixer.vhd
More file actions
59 lines (48 loc) · 1.96 KB
/
Copy pathmixer.vhd
File metadata and controls
59 lines (48 loc) · 1.96 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
library IEEE;
use IEEE.STD_LOGIC_1164.ALL;
use IEEE.STD_LOGIC_ARITH.ALL;
use IEEE.STD_LOGIC_UNSIGNED.ALL;
entity mixer is
Port (
clock : in std_logic;
reset : in std_logic;
input_data : in std_logic_vector(7 downto 0);
output_data : out std_logic_vector(7 downto 0)
);
end mixer;
architecture Behavioral of mixer is
component bpsk_mod port (clk,valid_in,reset : in std_logic;
valid_out : out std_logic;
data_in : in std_logic_vector(7 downto 0);
data_out : out std_logic_vector(7 downto 0));
end component;
component spreader port (RF_data,clk,reset : in std_logic;
spread_data : out std_logic);
end component;
component pn_code_gen port (clk,reset : in std_logic;
pn_out : out std_logic);
end component;
signal vin,vout : std_logic;
signal dout,output : std_logic_vector(7 downto 0);
begin
--Instantiate PN code generator
P1 : pn_code_gen port map(clock,reset,dout(0));
P2 : pn_code_gen port map(clock,reset,dout(1));
P3 : pn_code_gen port map(clock,reset,dout(2));
P4 : pn_code_gen port map(clock,reset,dout(3));
P5 : pn_code_gen port map(clock,reset,dout(4));
P6 : pn_code_gen port map(clock,reset,dout(5));
P7 : pn_code_gen port map(clock,reset,dout(6));
P8 : pn_code_gen port map(clock,reset,dout(7));
--Instantiate BPSK modulator
B1 : bpsk_mod port map(clock,vin,reset,vout,input_data,output);
--Instantiate spreader and mixer
S1 : spreader port map(dout(0),clock,reset,output_data(0));
S2 : spreader port map(dout(1),clock,reset,output_data(1));
S3 : spreader port map(dout(2),clock,reset,output_data(2));
S4 : spreader port map(dout(3),clock,reset,output_data(3));
S5 : spreader port map(dout(4),clock,reset,output_data(4));
S6 : spreader port map(dout(5),clock,reset,output_data(5));
S7 : spreader port map(dout(6),clock,reset,output_data(6));
S8 : spreader port map(dout(7),clock,reset,output_data(7));
end Behavioral;