Continue to Site

Welcome to EDAboard.com

Welcome to our site! EDAboard.com is an international Electronics Discussion Forum focused on EDA software, circuits, schematics, books, theory, papers, asic, pld, 8051, DSP, Network, RF, Analog Design, PCB, Service Manuals... and a whole lot more! To participate you need to register. Registration is free. Click here to register now.

Some problems due to Altera megafunctions

Status
Not open for further replies.

shenyiliu

Newbie level 2
Joined
Jun 7, 2016
Messages
2
Helped
0
Reputation
0
Reaction score
0
Trophy points
1
Activity points
28
Dear all
I need to instantiate an Altera float-point matrix multiplier megafunction in my design, and plan to implement it with a one-hot state machine.

The problem is that the filed generated by the quartus megafunction wizard have errors, such as in the .v (I use verilog) file there is Error (272006): MGL_INTERNAL_ERROR: Port altfp_matrix_mult|altfp_matrix_mult_aamat inst altfp_matrix_mult_aamat6|dffe inst rowcountff|q is of width 1 but the range indices are (1, 1) CAUSE : The range indices are illegal, either the higher index is more than the width of the port or the lower index is less than 0.
In addition, in the .tdf file,there is Error (287078): Assertion error: Valid clear box generator not found or Errors encountered during clear box generation

I suppose the syntax I used has something wrong cause I am quite a newbie, and the design examples from Altera website are in VHDL. Could someone please help me or just show me some examples written in Verilog?

Thanks a bunch.
 

some more details may be considered,
1 The Quartus is 13.0
2 The two matrix are 2x8 and 8x2 respectively, and data format is 32 bit,
3 . The error location is in the port declaration just like this .vector_m_data ({256{1'b0}}))
4 the design examples from Altera website are in VHDL and not controlled by state machine but by signals input in a testbench, so I donot suppose it is a complete module that could be used in a design.

I'll be appreciate so much if some would give me a kick :)
 

2*8*32 = 2*256 = 512.

I don't think that is the problem though. Verilog doesn't have unconstrained ports, so it probably infers 0 for the other ports during synthesis.

either way, double check that all the ports are the correct size at each point in the design. There is also a chance that a newer/older version of the megafunction would work.
 

Status
Not open for further replies.

Similar threads

Part and Inventory Search

Welcome to EDABoard.com

Sponsor

Back
Top