我對FPGA和Verilog非常陌生,但我遇到了讓我的代碼在模擬器中以我期望的方式運行的問題。看來Isim模擬器並不是在我的代碼中對整數進行「操作」。以下是相關代碼的一部分。我試圖通過在每次達到10的整數時切換SCK_gen來分割clk脈衝。當我在Isim中運行此代碼時,SCK_gen永遠不會更改值。另外,當我在FPGA上實現代碼時,它的行爲與我所期望的相同,我可以觀察到時鐘頻率爲1/10的脈衝。如果任何人都能指出我的方向,我會很感激。謝謝Xilinx,Isim處理Verilog整數類型的仿真
//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;
你對我有重置價值嗎? – 2012-03-19 18:29:55