Quartus Prime megafunction creation

Thread Starter


Joined Dec 5, 2019
I can not create and use megafunction in Quartus Prime 18.1 Lite Edition right way.

I create Quartus project; add entry verilog file, testbench, config pins. Compile project with Icarus-verilog, simulate with GTKwave, sinthesize circuit with Quartus - everything is fine. Then try to connect altsqrt megafunction from IP catalog with default settings - get sqrt.v, sqrt_bb.v, sqrt.qip, graybox_tmp/. Use megafunction in entry verilog module - circuit sinthesize successefully. Update testbench, try to compile - get "error: Unknown module type: sqrt". Add `include "sqrt.v" in entry module, try to compile - get "error: Unknown module type: altsqrt". Copy altsqrt.v from C:\intelFPGA_lite\18.1\quartus\eda\fv_lib\verilog to project folder, add `include "altsqrt.v" in sqrt.v. Now simulation run, but result is not correct - I get z on altsqrt module outputs with 25 on input. Now circuit sinthesis fail - "Warning (12090): Entity "altsqrt" obtained from "altsqrt.v" instead of from Quartus Prime megafunction library", "Error (10228): Verilog HDL error at altsqrt.v(14): module "altsqrt" cannot be declared more than once".