[英]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+1
對i
無效,因此比較(i == 10)
始終為false。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.