所以在我的定时生成器项目中,我需要一些SRAM的kB。由于它不起作用,我决定编写一个有大量延迟的专用程序--一个输出字--让我的逻辑分析器捕获(直接连接到RAM_DP块的Q,并沮丧地将其连接如下:DP块
我尝试过为某些mS (甚至只有一个周期)保持写启用(通过断开输出数组并绑定到信号并使用逻辑分析器观察信号来验证它,逻辑分析器的脉冲就像预期的那样)。我还核实了要写的数据是非零的.
无论我做什么,q总是保持为零,我做错了什么?一定是很明显的事让我错过了。代码如下:
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 )开始
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生成的块,这似乎很好。
发布于 2020-10-25 10:40:11
您似乎在一个地方使用osc_clck,在另一个地方使用osc_clk。请注意,默认情况下,Verilog会自动创建未定义的信号--这通常会产生警告,但您可以使用"`default_nettype none“将其变为错误。
https://stackoverflow.com/questions/64520901
复制相似问题