Intel® Quartus® Prime Software
Intel® Quartus® Prime Design Software, Design Entry, Synthesis, Simulation, Verification, Timing Analysis, System Design (Platform Designer, formerly Qsys)
16666 Discussions

Error 10346: Formal port or parameter "write" must have a actual or default value

Altera_Forum
Honored Contributor II
9,039 Views

i use quartus ii for vhdl compile work, and met this error message: error 10346: formal port or parameter "write" must have a actual or default value 

as the "write" is the port of a sram, i don't know why this port needs actual or default value. 

please help me to debug this issue, thanks!
0 Kudos
7 Replies
Altera_Forum
Honored Contributor II
4,958 Views

usually this error happens when the component has a generic clause: 

 

entity blablabla... 

generic( width := 8 ) -- default value 

port( 

... 

 

Please, post the code better understanding of the error.
0 Kudos
Altera_Forum
Honored Contributor II
4,958 Views

Thanks for your kindly reply. 

But the "write" is a 1-bit port! this port doesn't have any parameter defination in the design! 

 

As the design shows bellow: 

component syncram 

generic (tech : integer := 0; abits : integer := 6; dbits : integer := 8; 

testen : integer := 0); 

port ( 

clk : in std_ulogic; 

address : in std_logic_vector((abits -1) downto 0); 

datain : in std_logic_vector((dbits -1) downto 0); 

dataout : out std_logic_vector((dbits -1) downto 0); 

enable : in std_ulogic; 

write : in std_ulogic; 

testin : in std_logic_vector(TESTIN_WIDTH-1 downto 0) := testin_none); 

end component;
0 Kudos
Altera_Forum
Honored Contributor II
4,958 Views

When you instantiate the component. Did you connect that port to any signal? 

 

In same line of code you have. 

 

toto_unit : syncram.... 

port map(.... 

 

write => some_signal, -- did you place this connection?
0 Kudos
Altera_Forum
Honored Contributor II
4,958 Views

yes, they are some others signals need to be assign by the write. 

For example: 

xwrite <= write; 

 

Does this cause the error?
0 Kudos
Altera_Forum
Honored Contributor II
4,958 Views

The kind of error suggest that you omitted to connect the input "write" to the circuit. Can you post the code where u instantiated the component?

0 Kudos
Altera_Forum
Honored Contributor II
4,958 Views

It sounds like you forgot to connect the write port. All ports of mode in must be connected to something, even if it is '0' or '1'. They cannot be left open.

0 Kudos
Altera_Forum
Honored Contributor II
4,958 Views

 

--- Quote Start ---  

It sounds like you forgot to connect the write port. All ports of mode in must be connected to something, even if it is '0' or '1'. They cannot be left open. 

--- Quote End ---  

 

 

Problem solved, Thanks!
0 Kudos
Reply