MM模块全局设置General Setting

在SAP系统中,通过SPRO事务代码进行后台配置,包括预定义的国家代码、币种等。可以定义单位,如在 IMG->SAP NetWeaver->General settings->Check Units of Measurement 下,选择单位维度和ISO代码。此外,维护日历功能允许定义假日、假日日历和工厂日历,以规定工作日和非工作日,并应用于不同的组织级别。

我们可以用事务代码SPRO进入后台配置。在SAP中,有很多全局性的配置,一般来说都是预定义的,如国家代码,币种等通常不需要新增。

下图路径下可以定义国家,币种,单位和日历等等。

watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAU0FQ5rGf5rmWIExha2UgWmhhbmc=,size_12,color_FFFFFF,t_70,g_se,x_16

 

 

定义单位 Define Unit

同样SAP中预设了很多常用的单位,如果项目中碰到SAP中没有的单位,则可以进行相关的设置。

IMG->SAP NetWeaver->General settings->Check Units of Measurement

<think> 我们正在使用Quartus II软件,并且目标器件是Cyclone II。要设置In-System Memory Content Editor,我们需要在创建或配置RAM IP核时进行设置,同时确保编译设置正确。 以下是详细步骤: 1. 创建或配置RAM IP核: - 在Quartus II中,通过MegaWizard Plug-In Manager创建一个新的RAM IP核,或者打开一个已有的RAM IP核。 - 在配置过程中,有一个选项是“Enable In-System Memory Content Editor”。我们需要勾选这个选项。 - 同时,我们需要为这个RAM实例指定一个实例ID(Instance ID),这个ID在设计中必须是唯一的,以便在In-System Memory Content Editor中识别。 2. 在顶层设计中实例化RAM IP核,并确保连接正确。 3. 在Quartus II的设置中,确保允许In-System Memory Content Editor捕获和更新内容。 4. 进行全编译。 5. 将编译后的设计下载到FPGA中。 6. 打开In-System Memory Content Editor工具:在Quartus II菜单中,选择“Tools” -> “In-System Memory Content Editor”。 7. 在In-System Memory Content Editor窗口中,确保JTAG链已经正确识别到FPGA。然后,我们需要手动添加要监视的RAM实例:右键单击JTAG链下方的“In-System Memory Content”或类似选项,选择“Add Memory”,然后输入我们在RAM IP核配置中指定的实例ID。 8. 添加成功后,我们就可以使用该工具来读取和修改RAM中的内容了。 下面是一个RAM IP核配置的示例(使用Verilog实例化): 在MegaWizard中配置RAM IP时,关键步骤包括: - 选择内存块类型(Cyclone II使用M4K) - 设置大小(数据宽度、深度) - 在“Regs/Clken/Byte Enable”选项卡中,通常使用默认设置 - 在“Mem init”选项卡中,可以选择初始化文件 - 在“General”选项卡中,勾选“Enable In-System Memory Content Editor”并设置实例ID 在代码中实例化RAM模块的示例(假设模块名为altsyncram_component): ```verilog module top( input wire clk, input wire [7:0] addr, input wire [15:0] data_in, input wire wren, output wire [15:0] data_out ); // 例化RAM模块 altsyncram_component altsyncram_component_inst ( .address(addr), .clock(clk), .data(data_in), .wren(wren), .q(data_out), .aclr(1'b0), .byteena(1'b1) ); // 指定RAM实例的ID,以便In-System Memory Content Editor识别 defparam altsyncram_component_inst.instance_id = "DEBUG_RAM"; // 这个ID必须与MegaWizard中设置的一致 endmodule ``` 注意:在Quartus II中,我们通常使用MegaWizard生成RAM IP核,在生成的过程中设置实例ID。在生成的模块实例化时,我们不需要在代码中再次设置实例ID(因为已经在生成的模块文件中设置了),但需要确保在MegaWizard中设置的那个ID在设计中唯一。 另外,在Quartus II中,我们还需要在设置中开启相关选项,以确保在编译时保留用于In-System Memory Content Editor的必要逻辑。 在Quartus II的设置路径: - 进入"Assignments" -> "Settings" -> "Compiler Settings" -> "Advanced Settings (Synthesis)" - 找到"Preserve registers for In-System Memory Content Editor"选项并设置为"On" 如果一切设置正确,编译并下载到FPGA后,就可以在In-System Memory Content Editor中看到RAM的内容了。 §§相关问题§§: 1. 如何在Quartus II中为SignalTap II逻辑分析仪添加信号? 2. In-System Memory Content Editor可以用于调试双端口RAM吗? 3. 当使用In-System Memory Content Editor时,如何避免干扰正在运行的FPGA系统? 4. 在Quartus Prime中,In-System Memory Content Editor的设置与Quartus II有何不同? </think> # Quartus II 中设置 In-System Memory Content Editor 的完整指南 在 Quartus II 中设置 In-System Memory Content Editor 需要多个环节的配置,以下是详细的设置步骤和位置说明: ## 一、RAM IP 核配置(核心设置位置) ### 1. MegaWizard Plug-In Manager 1. 打开 MegaWizard: - **Tools > IP Catalog** - 或右键点击项目文件 > **New Component...** 2. 选择 RAM 类型: - RAM: 1-PORT / RAM: 2-PORT - 推荐:Simple Dual Port RAM 3. **关键设置页面**: ```plaintext Page 5/7: "Mem Init & Editor Options" ``` - ☑ Enable In-System Memory Content Editor - ☑ Allow In-System Memory Content Editor to capture and update content independently of the system clock - Instance ID: 设置唯一标识符 (如 `DEBUG_RAM`) ![MegaWizard设置界面](mega_wizard_setting.png) ## 二、项目全局设置 ### 1. 编译器设置 **位置**: - Assignments > Settings > Compiler Settings > Advanced Settings (Synthesis) **关键设置**: ```tcl # QSF文件中会自动添加 set_global_assignment -name PRESERVE_REGISTER_IN_MEMORY_CONTENT_EDITOR ON set_global_assignment -name ENABLE_INSTANCE_ID ON ``` ### 2. 增量编译配置 **位置**: - Assignments > Settings > Compiler Settings > Incremental Compilation ```tcl set_global_assignment -name INCREMENTAL_COMPILATION FULL ``` ## 三、RTL 代码设置 ### 在 VHDL 中添加属性声明 ```vhdl -- 在顶层实体中添加 library altera_mf; use altera_mf.altera_mf_components.all; attribute altera_attribute : string; attribute altera_attribute of your_ram_inst : label is "-name INCREMENTAL_SYNTHESIS ON"; ``` ### 在 Verilog 中添加属性声明 ```verilog // 在RAM实例后添加 (* altera_attribute = "-name INCREMENTAL_SYNTHESIS ON" *) your_ram_inst your_ram_component ( .clock(clk), .data(data_in), .address(addr), .wren(wr_en), .q(data_out) ); ``` ## 四、编译前检查 在编译前执行以下检查: 1. **检查 .qip 文件**: ```tcl # 确保包含 set_global_assignment -name ENABLE_INSTANCE_ID ON ``` 2. **检查 RAM 实例化**: - 确认输出端口 `q` 已连接 - 确保时钟信号正确连接 ## 五、调试工具使用步骤 ### 1. 打开 In-System Memory Content Editor **位置**: - Tools > In-System Memory Content Editor ### 2. 添加内存实例 1. 确保 FPGA 已连接 2. 右键点击 JTAG 链选择 **Add Memory** 3. 输入您在 IP 核中设置的 Instance ID 4. 点击 **Read from Memory** 按钮 ![添加内存实例界面](add_memory_instance.png) ### 3. 高级调试功能 1. **实时修改值**: - 双击内存表格中的值 - 点击 **Write to Memory** 保存到 FPGA 2. **导入/导出内存内容**: - File > Export to .mif/.hex - File > Import from .mif/.hex ## 六、常见问题排查 ### 1. 看不到内存实例 **解决方案**: 1. 检查 IP 核设置中的 Instance ID 是否匹配 2. 确认编译时没有优化掉 RAM 模块: ```tcl set_instance_assignment -name PRESERVE_PERIPHERAL_UNUSED_PRESERVE "ON" -to your_ram_inst ``` ### 2. 读取值不稳定 **解决方案**: 1. 降低 JTAG 时钟频率(在 Programmer 中设置) 2. 添加输出寄存器: ```vhdl process(clk) begin if rising_edge(clk) then ram_out_reg <= ram_out; end if; end process; ``` ## 七、Cyclone II 专用设置 对于 Cyclone II 系列: 1. 在 Device 设置中: ```tcl set_global_assignment -name MINIMUM_INTERVAL_BETWEEN_CAPTURES 100ns ``` 2. 使用 M4K 内存块: - 在 MegaWizard 中选择 "M4K" 内存类型 - 避免使用分布式 RAM
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值