Programmable Devices
CPLDs, FPGAs, SoC FPGAs, Configuration, and Transceivers
Announcements
FPGA community forums and blogs on community.intel.com are migrating to the new Altera Community and are read-only. For urgent support needs during this transition, please visit the FPGA Design Resources page or contact an Altera Authorized Distributor.
21619 Discussions

HELP!! HOW TO WIRE 2 .vhd FILES!!!! IN QUARTUS!

Altera_Forum
Honored Contributor II
2,979 Views

Hey everybody  

 

 

I have designed my own microprocessor (upro.vhd) in VHDL and my own(proper) memory(report) RAM of 256x4bits with QUARTUS II 9.0 (ram256x4.vhd), but I have a problem, I need to connect the DATA BUS and the ADDRESSES BUS of both files .vhd,  

 

In the file up.vhd my ports are: 

 

entity upro is  

port (  

clk: in std_logic; 

Rst: in std_logic; 

R_w: out std_logic; 

dir: out std_logic_vector (7 downto 0);  

dat: inout std_logic_vector (3 downto 0) 

);  

end upro; 

 

signal a: std_logic_vector(3 downto 0); 

signal carga_a: std_logic_vector(3 downto 0); 

signal pc: std_logic_vector(7 downto 0); 

signal carga_pc: std_logic_vector(7 downto 0); 

signal rdat_in: std_logic_vector(3 downto 0); 

signal dat_in: std_logic_vector(3 downto 0); 

signal dat_out: std_logic_vector(3 downto 0); 

signal rwaux: std_logic; 

signal presente: estado:= inicial; 

 

 

----------------------------------------------------- 

In the file ram256x4.vhd my ports are: 

 

entity ram256x4 is  

port (  

Clock: in std_logic; 

OE: in std_logic; 

RW: in std_logic; 

CS: in std_logic; 

RW_Addr: in std_logic_vector (7 downto 0); Data_A: inout std_logic_vector (3 downto 0); 

Data_B: in std_logic_vector (3 downto 0); 

); 

end ram256x4; 

 

 

signal tmp_ram: ram_type;  

 

What I need is to connect (like wire)the ports: 

 

Clk -------- Clock  

RW_Addr ---- dir  

dat -------- DATA_A  

RW --------- r_w  

 

How can I do this wire connection in vhdl? 

 

Somebody told my I need a new .vhd to call both .vhd archives using PORT MAP… BUT I DON’T KNOW HOW IT WORKS!
0 Kudos
5 Replies
Altera_Forum
Honored Contributor II
1,484 Views

Hello, 

 

If I understood, what you have to do is to instantiate your memory from the top file. 

 

 

You can do it in this way: 

 

entity upro is  

port (  

clk: in std_logic; 

Rst: in std_logic; 

R_w: out std_logic; 

dir: out std_logic_vector (7 downto 0);  

dat: inout std_logic_vector (3 downto 0) 

);  

end upro; 

 

signal a: std_logic_vector(3 downto 0); 

signal carga_a: std_logic_vector(3 downto 0); 

signal pc: std_logic_vector(7 downto 0); 

signal carga_pc: std_logic_vector(7 downto 0); 

signal rdat_in: std_logic_vector(3 downto 0); 

signal dat_in: std_logic_vector(3 downto 0); 

signal dat_out: std_logic_vector(3 downto 0); 

signal rwaux: std_logic; 

signal presente: estado:= inicial; 

 

COMPONENT ram256x4 is  

port (  

Clock: in std_logic; 

OE: in std_logic; 

RW: in std_logic; 

CS: in std_logic; 

RW_Addr: in std_logic_vector (7 downto 0); Data_A: inout std_logic_vector (3 downto 0); 

Data_B: in std_logic_vector (3 downto 0); 

 

END COMPONENT; 

 

ARCHITECTURE ... 

 

BEGIN 

 

TEST_ram256x4 : ram256x4 

port map 

(  

 

Clock=>Clk, 

RW_Addr=>dir, 

DATA_A =>dat, 

RW=>r_w, 

... 

); 

 

... 

 

Hope it helps you 

 

DABG 

 

0 Kudos
Altera_Forum
Honored Contributor II
1,484 Views

Hey! thanks for your help, but what I want to know is how i can connect(wire) my 2 .vhd files!! I did what you answered to me but I got some mistakes. 

 

I would like to share my information in this link, and also the password to your private mail in ALTERA FORUM!!! (and also for those who want to help me)  

 

this is the link http://www.megaupload.com/?d=4z882uc9 

 

thanks and I hope you understand me.
0 Kudos
Altera_Forum
Honored Contributor II
1,484 Views

You can also connect both components by wire signals. But if no external signals are generated by them, they are simply discarded  

during Quartus synthesis. You have to use a VHDL simulator (e.g. ModelSim Altera Edition) to compile and simulate a design that  

doesn't generate output signals. 

 

Furthermore, I see that your RAM component has only inputs but no outputs. Something is obviously wrong with it. 

 

If you want to show example designs, you should them upload as attachment with your posts.
0 Kudos
Altera_Forum
Honored Contributor II
1,484 Views

hi!!! FvM 

 

If you want I post A link, but I have already sent to you the files link and also the correct password, I have to lock the project because it is and academic proyect, so I need to develop it fine in order to share in my blog 

 

I hope you could understand me. 

 

Anpinilla89
0 Kudos
Altera_Forum
Honored Contributor II
1,484 Views

hi 

 

I apprecite any help I could recieve in this forum, remember that the pw is example1
0 Kudos
Reply