首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Machxo 2280 C上的块内存总是读取零

Machxo 2280 C上的块内存总是读取零
EN

Stack Overflow用户
提问于 2020-10-25 06:17:41
回答 1查看 36关注 0票数 0

所以在我的定时生成器项目中,我需要一些SRAM的kB。由于它不起作用,我决定编写一个有大量延迟的专用程序--一个输出字--让我的逻辑分析器捕获(直接连接到RAM_DP块的Q,并沮丧地将其连接如下:DP块

我尝试过为某些mS (甚至只有一个周期)保持写启用(通过断开输出数组并绑定到信号并使用逻辑分析器观察信号来验证它,逻辑分析器的脉冲就像预期的那样)。我还核实了要写的数据是非零的.

无论我做什么,q总是保持为零,我做错了什么?一定是很明显的事让我错过了。代码如下:

代码语言:javascript
复制
Ram_Dq_Buffer Buffer  (sram_address,sram_address,s_write_data,s_writeEnable,osc_clck, 1'b1,1'b0,osc_clck, 1'b1,s_read_data ) ;

总是@(高级osc_clk )开始

代码语言:javascript
复制
    if (sram_state==0)
        begin
            //Initialize
            s_writeEnable<=0;   
            //sram_Clock_EN <=1;
            //sram_reset <=0;
            sram_address<=511;
            delay<=0;
            sram_state<=1;
            counter<=counter+1;
            s_write_data<=counter;
        end
    if (sram_state==1)
        begin
            delay<=delay+1;
            if (delay>20000)
                begin
                    delay<=0;
                    sram_state<=2;                      
                end
        end
    if (sram_state==2)
        begin
            s_writeEnable<=1;
            delay<=delay+1;
            if (delay>20000)
                begin
                    delay<=0;
                    sram_state<=3;
                    
                end
            
        end
    if (sram_state==3)
        begin
            s_writeEnable<=0;
            delay<=delay+1;
            if (delay>20000)
                begin
                    delay<=0;
                    sram_state<=4;
                    
                end
        end
    if (sram_state==4)
        begin
            delay<=delay+1;
            if (delay>20000)
                begin
                    delay<=0;
                    sram_state<=0;
                    mydata<=s_read_data;
                end
        end
        
end

我只是使用内部振荡器进行测试;大约20 the的时钟,但时间似乎很好地在允许的时间。我已经检查了IP express生成的块,这似乎很好。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-10-25 10:40:11

您似乎在一个地方使用osc_clck,在另一个地方使用osc_clk。请注意,默认情况下,Verilog会自动创建未定义的信号--这通常会产生警告,但您可以使用"`default_nettype none“将其变为错误。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/64520901

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档