微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 微电子和IC设计 > 微电子学习交流 > 问个如何在code里面定义ram或rom的问题

问个如何在code里面定义ram或rom的问题

时间:12-12 整理:3721RD 点击:
前端不灵,问题超级肤浅,大牛勿插。
在做综合前需要把该设计的rom和ram都compile出来,我的疑问是怎么在未综合的code里面找到要compile的memory,宽度如何,深度如何。这样的代码通常有什么风格?

RAM ROM 都是开始设计的时候选择一定的仿真Model
深度都是 你自己定义的,
综合的他们是Link Lib 是不做综合的
再替换成 Memory Compiler 生成Model
DC只能把它们看出Black Box, 实现的Model上面有时序信息

RAM ROM这样处理的流程知道,因为我搞后端的。
我的疑问是前段 综合以前 的代码中,怎么去定义RAM rom?
如果是FPGA的话得看FPGA的型号和参数,
如果是ASIC呢?memory的粒度都是自己控制,也就是说前端设计人员控制,我就是想知道这个控制原则,另外也想知道他们的代码风格是怎样的(也就是说如何定义和调用这些memory)。
我现在手上有个开源的MCU,想做做综合,结果自己分辨不出memory的size,唉,汗颜

我们开始都是拿仿真的Model 做开始的设计的,
反正都是可调的参数,
随着工程的进行, ROM RAM的宽度都慢慢确定下来,
当然ROM的大小是Boot的程序有关系,还有部分测试的代码,都是可变的
也许到最后的一个阶段才能完全确定,RAM跟系统有关系,
Simulation Model可以变化, 到了实现的时候定义ASIC Model,
然后用Memory Compile 生成 特定大小的Lib

没错,行家。非常感谢。
--Simulation Model可以变化, 到了实现的时候定义ASIC Model,  
这个model指什么?是用module定义? 后面说的ASIC model又是什么?
--然后用Memory Compile 生成 特定大小的Lib
这个“特定大小”是直接来源于之前的ASIC model?
我贴个搜到的ram 读写操作时候的代码,你之前说的simulation model是这种么?
always@(posedge bus2ip_clk)
        if(CS == IDLE)
                mem_a <= 1'b0;
        else
                if((CS == RD_LATCH)||(CS == WR_LATCH))
                        mem_a <= bus2ip_addr;
                else
                        mem_a <= mem_a;
always@(posedge bus2ip_clk)
        if(CS == IDLE)
                mem_dout <= 1'b0;
        else
                if(CS == WR_LATCH)
                        mem_dout <= bus2ip_data;
                else
                        mem_dout <= mem_dout;
                        
always@(posedge bus2ip_clk)
        if(CS == IDLE)
                ip2bus_data <= 1'b0;
        else
                if(CS == RD_FINISH)
                        ip2bus_data <= mem_din;
                else
                        ip2bus_data <= ip2bus_data;
always@(posedge bus2ip_clk)
        if(CS == IDLE)
                ip2bus_rdack <= 1'b0;
        else
                if(CS == RD_FINISH)
                        ip2bus_rdack <= 1'b1;
                else
                        ip2bus_rdack <= 1'b0;

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top