- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
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!
Link Copied
7 Replies
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
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.- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
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;- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
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?- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
yes, they are some others signals need to be assign by the write.
For example: xwrite <= write; Does this cause the error?- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
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?
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
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.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
--- 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!
Reply
Topic Options
- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page