繁体   English   中英

Xilinx,Isim在仿真中处理Verilog整数类型

[英]Xilinx, Isim treatment of Verilog integer types in simulation

我对FPGA和Verilog还是很陌生,但是我无法按我期望的方式在模拟器中运行我的代码。 似乎Isim仿真器未在代码中对整数进行“操作”。 以下是相关代码的片段。 我试图通过在每次到达整数10时切换SCK_gen来划分clk脉冲。当我在Isim中运行此代码时,SCK_gen永远不会更改值。 同样,当我将代码嵌入到FPGA上时,它的行为符合我的预期,我可以观察到时钟频率为1/10的脉冲。 如果有人能指出正确的方向,我将不胜感激。 谢谢

    //signals
//for SCK_clock
reg SCK_gen, SCK_hold;
integer i;
reg en_SCK;
wire neg_edge_SCK;


//SCK_generator
always @(posedge clk, posedge reset)
    if (reset)
        begin 
            SCK_gen <= 0;
        end
    else
        begin
            i <= i+1;
            SCK_hold <= SCK_gen;
                if(i == 10)
                    begin
                        SCK_gen <= ~SCK_gen;
                        i <= 0;
                    end
        end

//detect neg edge of SCK
assign neg_edge_SCK = SCK_hold & SCK_gen;

如果任何操作数为“ x”,则任何算术或逻辑相等运算的结果为“ x”。 由于看起来i尚未初始化,因此语句i <= i+1i无效,因此比较(i == 10)始终为false。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM