3538 - Diamond / EBR: Is there an easy way to modify some Embedded Block RAM (EBR) data before running bitgen with encryption enabled?
Solution:
To modify the Embedded Block RAM (EBR) data through command line, use medit command.
User can follow below steps-
1. Load the test project and check the path by using the "pwd" command in Tcl Console. By default, it navigates to the /test directory (for example D:/test; this may differ in various machines).
Change the path to point to the "impl" directory, such as D:/test/test.
As an example, before updating the path, you were in D:/test. After cd test ("impl" directory of project) you will have D:/test/test.
Note: The path changes depending on where you locate the project.
2. Once you are in the implementation directory, use the following command to find out the instance name.
Command syntax: (ncdread [ [-o ]). For example ncdread test_test.ncd -o ncdout.out
Wait for “ncdout.out” to be generated and search for the instance name. (For the procedure on how to find the instance name, check the “Reading NCD files” section of the Diamond Help).
3. Once the instance name is found, use the command below to update the memory content.
Command syntax: medit [-i ] [-o ] [-format ] [] [] []. For example: medit -I <instance name> -o newncd.ncd -format BIN init.mem test_test.ncd t2.lpc
After running the above command, you should be able to see the updated *.ncd file with the “newncd.ncd” file name.
4. With the new updated ncd file, you can generate the bitstream with encryption option.
You can also create a simple batch script and run it with the test project to edit Memory Content, generate an ncd and with the updated ncd, generate an encrypted bitstream *.bat is located in the test project file directory.
Related Articles
1412 - Can I implement Error Check Codes in the Embedded Block Ram (EBR) based memory modules?
IPexpress allows you to implement Error Check Codes (ECC) in the Embedded Block Ram (EBR) based memory modules. There is a checkbox to enable ECC in the configuration tab for the module. If you choose to use ECC, you will have a 2-bit error signal ...
3024 - <span id="lf104285">What are the various ways to produce RAM/ROM in a design? What is the power up state or content of an inferred RAM?</span>
There are two ways to produce RAM and ROM in a design. You can write code for the design so that the synthesis tool infers the memory or you can instantiate predefined IPexpress or PMI (Parametrized Module Instantiation) memory modules.Inferring ...
3626 - LatticeECP2/M/ECP3/ECP5/ECP5-5G: Can we disable the Reset Signal for RAM_DQ, RAM_DP and RAM_DP_TRUE in our design?
The reset signals for the Embedded Block RAM (EBR) based RAM_DQ, RAM_DP, and RAM-DP_TRUE reset only the output registers, not the EBR memory contents. So, if you do not want to reset the output registers of these modules in your design, you can ...
7154 - PMI RAM for Nexus FPGAs: Why is Radiant implementing Large RAM block when using "pmi_ram_dq" and "pmi_family" settings in the design, instead of the EBR block as expected?
If the design requires memory initialization, "pmi_family" parameter should be set to "common". This parameter setting would allow Radiant to build the EBR. For more details, you can refer to Memory Modules User Guide, Chapter 5 (Initializing Memory) ...
6650 - Nexus : Can we monitor the voltage of Block Ram with Nexus ADC?
Description: The voltage of Block Ram is shared with the Vcc power rail. Also, Block Ram has no sub-power rail to access and monitor it.