Visible to Intel only — GUID: mwh1409960002980
Ixiasoft
1.1. About Precision RTL Synthesis Support
1.2. Design Flow
1.3. Intel Device Family Support
1.4. Precision Synthesis Generated Files
1.5. Creating and Compiling a Project in the Precision Synthesis Software
1.6. Mapping the Precision Synthesis Design
1.7. Synthesizing the Design and Evaluating the Results
1.8. Guidelines for Intel FPGA IP Cores and Architecture-Specific Features
1.9. Mentor Graphics Precision* Synthesis Support Revision History
1.8.1. Instantiating IP Cores With IP Catalog-Generated Verilog HDL Files
1.8.2. Instantiating IP Cores With IP Catalog-Generated VHDL Files
1.8.3. Instantiating Intellectual Property With the IP Catalog and Parameter Editor
1.8.4. Instantiating Black Box IP Functions With Generated Verilog HDL Files
1.8.5. Instantiating Black Box IP Functions With Generated VHDL Files
1.8.6. Inferring Intel FPGA IP Cores from HDL Code
2.1. About Synplify Support
2.2. Design Flow
2.3. Hardware Description Language Support
2.4. Intel Device Family Support
2.5. Tool Setup
2.6. Synplify Software Generated Files
2.7. Design Constraints Support
2.8. Simulation and Formal Verification
2.9. Synplify Optimization Strategies
2.10. Guidelines for Intel FPGA IP Cores and Architecture-Specific Features
2.11. Synopsys Synplify* Support Revision History
2.12. Intel Quartus Prime Pro Edition User Guide: Third-Party Synthesis Archives
2.10.1.1. Instantiating Intel FPGA IP Cores with IP Catalog Generated Verilog HDL Files
2.10.1.2. Instantiating Intel FPGA IP Cores with IP Catalog Generated VHDL Files
2.10.1.3. Changing Synplify’s Default Behavior for Instantiated Intel FPGA IP Cores
2.10.1.4. Instantiating Intellectual Property with the IP Catalog and Parameter Editor
2.10.1.5. Instantiating Black Box IP Cores with Generated Verilog HDL Files
2.10.1.6. Instantiating Black Box IP Cores with Generated VHDL Files
2.10.1.7. Other Synplify Software Attributes for Creating Black Boxes
Visible to Intel only — GUID: mwh1409960002980
Ixiasoft
2.10.3.3. RAM Initialization
Use the Verilog HDL $readmemb or $readmemh system tasks in your HDL code to initialize RAM memories. The Synplify compiler forward-annotates the initialization values in the .srs (technology-independent RTL netlist) file and the mapper generates the corresponding hexadecimal memory initialization (.hex) file. One .hex file is created for each of the altsyncram IP cores that are inferred in the design. The .hex file is associated with the altsyncram instance in the .vqm file using the init_file attribute.
The examples show how RAM can be initialized through HDL code, and how the corresponding .hex file is generated using Verilog HDL.
Using $readmemb System Task to Initialize an Inferred RAM in Verilog HDL Code
initial begin $readmemb("mem.ini", mem); end always @(posedge clk) begin raddr_reg <= raddr; if(we) mem[waddr] <= data; end
Sample of .vqm Instance Containing Memory Initialization File
altsyncram mem_hex( .wren_a(we),.wren_b(GND),...); defparam mem_hex.lpm_type = "altsyncram"; defparam mem_hex.operation_mode = "Dual_Port"; ... defparam mem_hex.init_file = "mem_hex.hex";