J
jadedfox
Guest
バグを私がキャッチPLSのhlpファイルを任意の1 ...コード内の次の...コード:モジュール発振器特性の指標(ref_in、アン、dco_out);
入力ref_in;
入力アン;
出力dco_out;
ワイヤーfed_in;
ワイヤーup_n;
ワイヤーdn_n;
ワイヤーrst_n;
ワイヤー[7:0] DCO_n;
とan_ck(CLKの、アン、ref_in);div_10 DV12は(。アウト(fed_in)。件(dco_out)、(en1))を有効に。
)、PD1は(。U1は(ref_inをので、PFD。U2を(fed_in)。開く(up_n)。dnは(dn_n)、(rst_nリゾート));
コントローラCNTRL(。リセット(rst_n)。CLKを(CLK)は、。開く(up_n)。dnは(dn_n)。DCO_CONTRL(DCO_n));
dig_cntrl_osc DCO1(。イネーブル(EN)。DCO_OUT(dco_out)。DCO_CONTRL(DCO_n));endmodule/////////////////////////////////////////
////////は//////////////////////をので、PFD
/////////////////////////////////
ので、PFD(U1は、U2、上、dnは、リゾート)モジュール、
入力U1の。
入力u2の。
出力を開く。
出力dnに。
出力リゾート。線D = 1;
ワイヤーリゾート。d_ff D1を(。d_in(d)は、。CLKを(U1)は、。リセット(RST)は、。d_out(最大));
d_ff D2に(。d_in(d)は、。CLKを(U2)。リセット(RST)は、。d_out(dnは));
と(リゾート、上、dnに);endmodule
///////////////////////////////////////////////
モジュールd_ff(d_in、CLKを、リセット、d_out);
入力d_in;
入力CLKの。
入力リセット;
出力d_out;d_out regの。常に@(posedgeのリセットまたはposedge CLK)は
始める
場合(リセット)
d_out = 1'b0;
他
d_out = d_in;
終了endmodule////////////////////////////////////////////////// /////////////////
////////////////////////コントローラ///////////////////////// / / / /
////////////////////////////////////////////////// ///////////////
モジュールコントローラ(CLKを、最大リセット、dnは、DCO_CONTRL);
入力リセット、上、dnは、CLKの。
出力[7:0] DCO_CONTRL;spd_cnt regの、freq_acq_mode、ph_acq_mode、ステップ;
レッグ[は7:0] DCO_CONTRL;
線cond1、cond2、cond3、condp1、condp2;
整数cntf1、cntf2、cntp1、cntp2、s_step;
整数ssは。初期の開始
ssは<= 64;
終了
///////////新しい//////////////
//////////のFrrequency集録モード//////////
cond1 = freq_acq_mode&ステップを割り当てる
cond2 = freq_acq_mode&アップ、
cond3 = freq_acq_mode&dnは、condp1 = ph_acq_mode&アップ、
condp2 = ph_acq_mode&dnに。常に@(posedge CLK)は
始める場合(リセット)を開始
DCO_CONTRL <= 8'd127;
s_stepの<= 64;
freq_acq_modeの<= 1;
ph_acq_modeの<= 0;
cntf1 <= 0;
cntf2 <= 0;
ステップ<= 0;
終了場合、他(freq_acq_mode)が開始
(s_step == 1)ステップ<場合= 1;他の<= 0のステップ;ケース((cond1、cond2、cond3))3'b100は:開始
DCO_CONTRL <= DCO_CONTRL;
s_stepの<= ssは。
freq_acq_modeの<= 0;
ph_acq_modeの<= 1;
cntf1 <= 0;
cntf2 <= 0;
終了3'b010は:開始
freq_acq_modeの<= 1;
ph_acq_modeの<= 0;
cntf2 <= 0;
cntf1 <= cntf1 1;
DCO_CONTRL <= DCO_CONTRL 1;
s_stepの<は= s_step;
cntf1 <= 1の)開始(存在する場合
s_stepの<= ssは。
s_stepの<は= s_step / 2;
ssは<= s_step;
終了
終了3'b001は:開始
freq_acq_modeの<= 1;
ph_acq_modeの<= 0;
cntf2 <= cntf2 1;
DCO_CONTRL <は= DCO_CONTRL - 1;
cntf1 <= 0;
s_stepの<は= s_step;
cntf2 <= 1の)開始(存在する場合
s_stepの<= ssは。
s_stepの<は= s_step / 2;
ssは<= s_step;
終了
終了デフォルトでは:開始
DCO_CONTRL <= 0;
s_stepの<は= s_step;
cntf1 <= 0;
cntf2 <= 0;
freq_acq_modeの<= 1;
ph_acq_modeの<= 0;
終了
endcase終了場合、他(ph_acq_mode)が開始ケース((condp1、condp2))
2'b10:
始める
cntp2 <= 0;
cntp1は> 1)を開始(存在する場合
cntp1 <= cntp1 1;
spd_cnt <= spd_cnt 1;
s_stepの<は= s_step;
開始(spd_cnt == 8)場合
s_stepの<= s_step * 2;
spd_cnt <= 0;
cntp1 <= 0;
終了
終了
他の開始
cntp2 <= 0;
s_stepの<は= s_step;
(s_step場合!= 1)s_stepの<= s_step / 2;
cntp1 <= cntp1 1;
spd_cnt <= spd_cnt 1;
終了
終了2'b01は:開始
cntp1 <= 0;
cntp2は> 1)を開始(存在する場合
cntp2 <= cntp2 1;
spd_cnt <= spd_cnt 1;
s_stepの<は= s_step;
開始(spd_cnt == 8)場合
s_stepの<= s_step * 2;
spd_cnt <= 0;
cntp2 <= 0;
終了
終了
他の開始
cntp1 <= 0;
s_stepの<は= s_step;
(s_step場合!= 1)s_stepの<= s_step / 2;
cntp2 <= cntp2 1;
spd_cnt <= spd_cnt 1;
終了
終了
デフォルトでは:開始
cntp1 <= 0;
cntp2 <= 0;
s_stepの<= 0;
spd_cnt <= 0;
終了
endcase終了
終了endmodule////////////////////////////////////////////////// / / /
///////////////////// DCOの////////////////////////////
////////////////////////////////////////////////// /
モジュールdig_cntrl_osc(有効DCO_CONTRL、DCO_OUT);
入力を有効にする。
入力[7:0] DCO_CONTRL;
出力DCO_OUT;
はinvsel0(CONTRL6b、DCO_CONTRL [6]);
はinvsel1(CONTRL7b、DCO_CONTRL [7]);
とandsel0(sel0、CONTRL7b、CONTRL6b);
とandsel1(SEL1側、CONTRL7b、DCO_CONTRL [6]);
とandsel2(sel2、DCO_CONTRL [7]、CONTRL6b);
とandsel3(sel3、DCO_CONTRL [7]、DCO_CONTRL [6]);
NAND型nandout(DCO_OUTB、cell1_out、有効);
はINV1(DCO_OUT1B、DCO_OUTB);
bufif1 buf1(cell1_in、DCO_OUT1B、sel3);
bufif0 buf2(cell1_in、cell2_out、sel3);
bufif1 buf3(cell2_in、DCO_OUTB、sel2);
bufif0 buf4(cell2_in、cell3_out、sel2);
はINV2(DCO_OUT2B、DCO_OUTB);
bufif1 buf5(cell3_in、DCO_OUT2B、SEL1側);
bufif0 buf6(cell3_in、cell4_out、SEL1側);
bufif1 buf7(cell4_in、DCO_OUTB、sel0);
はINV3(DCO_OUT、DCO_OUTB);
DCO_CELL cell1(DCO_CONTRL [5:0]、cell1_in、cell1_out);
DCO_CELLセル2(DCO_CONTRL [5:0]、cell2_in、cell2_out);
DCO_CELL cell3(DCO_CONTRL [5:0]、cell3_in、cell3_out);
DCO_CELL cell4(DCO_CONTRL [5:0]、cell4_in、cell4_out);
endmodule
////////////////////////////////////////////////// ///////////////////////////////////////////モジュールDCO_CELL(続きで、うち、);
入力[5:0]連続。
入力;
出力アウト。指定する
(もし!続き[5]&!続き[4]&!続き[3]&!続き[2]&!続き[1]&!続き[0])(in =>アウト)= 0.988;
(もし!続き[5]&!続き[4]&!続き[3]&!続き[2]&!続き[1]&続き[0])(in =>アウト)= 0.987;
(もし!続き[5]&!続き[4]&!続き[3]&!続き[2]&続き[1]&!続き[0])(中=>アウト)= 0.986;
(もし!続き[5]&!続き[4]&!続き[3]&!続き[2]&続き[1]&続き[0])(in =>アウト)= 0.985;
(もし!続き[5]&!続き[4]&!続き[3]&続き[2]&!続き[1]&!続き[0])(in =>アウト)= 0.984;
(もし!続き[5]&!続き[4]&!続き[3]&続き[2]&!続き[1]&続き[0])(in =>アウト)= 0.983;
(もし!続き[5]&!続き[4]&!続き[3]&続き[2]&続き[1]&!続き[0])(in =>アウト)= 0.982;
(もし!続き[5]&!続き[4]&!続き[3]&続き[2]&続き[1]&続き[0])(中=>アウト)= 0.981;
(もし!続き[5]&!続き[4]&続き[3]&!続き[2]&!続き[1]&!続き[0])(in =>アウト)= 0.980;
(もし!続き[5]&!続き[4]&続き[3]&!続き[2]&!続き[1]&続き[0])(in =>アウト)= 0.979;
(もし!続き[5]&!続き[4]&続き[3]&!続き[2]&続き[1]&!続き[0])(in =>アウト)= 0.978;
(もし!続き[5]&!続き[4]&続き[3]&!続き[2]&続き[1]&続き[0])(in =>アウト)= 0.977;
(もし!続き[5]&!続き[4]&続き[3]&続き[2]&!続き[1]&!続き[0])(in =>アウト)= 0.976;
(もし!続き[5]&!続き[4]&続き[3]&続き[2]&!続き[1]&続き[0])(in =>アウト)= 0.975;
(もし!続き[5]&!続き[4]&続き[3]&続き[2]&続き[1]&!続き[0])(in =>アウト)= 0.974;
(もし!続き[5]&!続き[4]&続き[3]&続き[2]&続き[1]&続き[0])(in =>アウト)= 0.973;
(もし!続き[5]&続き[4]&!続き[3]&!続き[2]&!続き[1]&!続き[0])(中=>アウト)= 0.972;
(もし!続き[5]&続き[4]&!続き[3]&!続き[2]&!続き[1]&続き[0])(in =>アウト)= 0.971;
(もし!続き[5]&続き[4]&!続き[3]&!続き[2]&続き[1]&!続き[0])(in =>アウト)= 0.970;
(もし!続き[5]&続き[4]&!続き[3]&!続き[2]&続き[1]&続き[0])(中=>アウト)= 0.969;
(もし!続き[5]&続き[4]&!続き[3]&続き[2]&!続き[1]&!続き[0])(in =>アウト)= 0.968;
(もし!続き[5>を=に]&続き[4]&!続き[3]&続き[2]&!続き[1]&続き[0])()= 0.967;
(もし!続き[5]&続き[4]&!続き[3]&続き[2]&続き[1]&!続き[0])(in =>アウト)= 0.966;
(もし!続き[5]&続き[4]&!続き[3]&続き[2]&続き[1]&続き[0])(中=>アウト)= 0.965;
(もし!続き[5]&続き[4]&続き[3]&!続き[2]&!続き[1]&!続き[0])(in =>アウト)= 0.964;
(もし!続き[5>を=に]&続き[4]&続き[3]&!続き[2]&!続き[1]&続き[0])()= 0.963;
(もし!続き[5]&続き[4]&続き[3]&!続き[2]&続き[1]&!続き[0])(in =>アウト)= 0.962;
(もし!続き[5]&続き[4]&続き[3]&!続き[2]&続き[1]&続き[0])(in =>アウト)= 0.961;
(もし!続き[5]&続き[4]&続き[3]&続き[2]&!続き[1]&!続き[0])(in =>アウト)= 0.960;
(もし!続き[5]&続き[4]&続き[3]&続き[2]&!続き[1]&続き[0])(in =>アウト)= 0.959;
(もし!続き[5]&続き[4]&続き[3]&続き[2]&続き[1]&!続き[0])(中=>アウト)= 0.958;
(もし!続き[5]&続き[4]&続き[3]&続き[2]&続き[1]&続き[0])(in =>アウト)= 0.957;
(続き[5]&!続き[4]&!続き[3]&!続き[2]&!続き[1]&!続き[0])(in =>アウト)場合= 0.956;
(続き[5]&!続き[4]&!続き[3]&!続き[2]&!続き[1]&続き[0])(in =>アウト)場合= 0.955;
(続き[5]&!続き[4]&!続き[3]&!続き[2]&続き[1]&!続き[0])(in =>アウト)場合= 0.954;
(続き[5]&!続き[4]&!続き[3]&!続き[2]&続き[1]&続き[0])(中=>アウト)場合= 0.953;
(続き[5]&!続き[4]&!続き[3]&続き[2]&!続き[1]&!続き[0])(in =>アウト)場合= 0.952;
(続き[5]&!続き[4]&!続き[3]&続き[2]&!続き[1]&続き[0])(中=>アウト)場合= 0.951;
(続き[5]&!続き[4]&!続き[3]&続き[2]&続き[1]&!続き[0])(in =>アウト)場合= 0.950;
続き[5]&!続き[4]&!続き[3]&続き[2]&続き[1]&続き[0])(in =>出力()= 0.949場合はtrue。
(続き[5]&!続き[4]&続き[3]&!続き[2]&!続き[1]&!続き[0])(in =>アウト)場合= 0.948;
(続き[5]&!続き[4]&続き[3]&!続き[2]&!続き[1]&続き[0])(in =>アウト)場合= 0.947;
(続き[5]&!続き[4]&続き[3]&!続き[2]&続き[1]&!続き[0])(in =>アウト)場合= 0.946;
(続き[5]&!続き[4]&続き[3]&!続き[2]&続き[1]&続き[0])(in =>アウト)場合= 0.945;
(続き[5]&!続き[4]&続き[3]&続き[2]&!続き[1]&!続き[0])(in =>アウト)場合= 0.944;
(続き[5]&!続き[4]&続き[3]&続き[2]&!続き[1]&続き[0])(in =>アウト)場合= 0.943;
(続き[5]&!続き[4]&続き[3]&続き[2]&続き[1]&!続き[0])(in =>アウト)場合= 0.942;
続き[5]&!続き[4]&続き[3]&続き[2]&続き[1]&続き[0])(中=>出力()= 0.941場合はtrue。
(続き[5]&続き[4]&!続き[3]&!続き[2]&!続き[1]&!続き[0])(in =>アウト)= 0.940場合はtrue。
(続き[5]&続き[4]&!続き[3]&!続き[2]&!続き[1]&続き[0])(in =>アウト)= 0.939場合はtrue。
(続き[5]&続き[4]&!続き[3]&!続き[2]&続き[1]&!続き[0])(in =>アウト)= 0.938場合はtrue。
(続き[5]&続き[4]&!続き[3]&!続き[2]&続き[1]&続き[0])(in =>アウト)= 0.937場合はtrue。
(続き[5]&続き[4]&!続き[3]&続き[2]&!続き[1]&!続き[0])(in =>アウト)= 0.936場合はtrue。
(続き[5]&続き[4]&!続き[3]&続き[2]&!続き[1]&続き[0])(in =>アウト)= 0.935場合はtrue。
(続き[5]&続き[4]&!続き[3]&続き[2]&続き[1]&!続き[0])(中=>アウト)= 0.934場合はtrue。
(続き[5]&続き[4]&!続き[3]&続き[2]&続き[1]&続き[0])(in =>アウト)= 0.933場合はtrue。
(続き[5]&続き[4]&続き[3]&!続き[2]&!続き[1]&!続き[0])(in =>アウト)= 0.932場合はtrue。
(続き[5]&続き[4]&続き[3]&!続き[2]&!続き[1]&続き[0])(in =>アウト)= 0.931場合はtrue。
(続き[5]&続き[4]&続き[3]&!続き[2]&続き[1]&!続き[0])(in =>アウト)= 0.930場合はtrue。
(続き[5]&続き[4]&続き[3]&!続き[2]&続き[1]&続き[0])(中=>アウト)= 0.929場合はtrue。
(続き[5]&続き[4]&続き[3]&続き[2]&!続き[1]&!続き[0])(in =>アウト)= 0.928場合はtrue。
(続き[5]&続き[4]&続き[3]&続き[2]&!続き[1]&続き[0])(in =>アウト)= 0.927場合はtrue。
(続き[5]&続き[4]&続き[3]&続き[2]&続き[1]&!続き[0])(in =>アウト)= 0.926場合はtrue。
(続き[5]&続き[4]&続き[3]&続き[2]&続き[1]&続き[0])(中=>アウト)= 0.925場合はtrue。
endspecifyはm1は(アウト、);
endmodule
////////////////////////////////////////////////// //////
////////////////////////////////////////////////// /////
モジュールdiv_10(有効で、アウト);
入力は、を有効;
出力アウト。アウトレッグ。
[3:0]カウンタレッグ。初期
始める
カウンタ= 4'b0000;
終了常に@(negedge有効またはposedge)
始める
)カウンタ<を= 4'b0000有効にする(もし!;
他の場合は(カウンタ== 4'b1010)カウンタ<= 4'b0000;
他のカウンタ<=カウンタ 1;)から<= 1'b0有効にする(もし!;
他の場合は(カウンタ<= 4'b0100)<= 1'b0アウト。
他のアウト<= 1'b1;
終了endmodule
入力ref_in;
入力アン;
出力dco_out;
ワイヤーfed_in;
ワイヤーup_n;
ワイヤーdn_n;
ワイヤーrst_n;
ワイヤー[7:0] DCO_n;
とan_ck(CLKの、アン、ref_in);div_10 DV12は(。アウト(fed_in)。件(dco_out)、(en1))を有効に。
)、PD1は(。U1は(ref_inをので、PFD。U2を(fed_in)。開く(up_n)。dnは(dn_n)、(rst_nリゾート));
コントローラCNTRL(。リセット(rst_n)。CLKを(CLK)は、。開く(up_n)。dnは(dn_n)。DCO_CONTRL(DCO_n));
dig_cntrl_osc DCO1(。イネーブル(EN)。DCO_OUT(dco_out)。DCO_CONTRL(DCO_n));endmodule/////////////////////////////////////////
////////は//////////////////////をので、PFD
/////////////////////////////////
ので、PFD(U1は、U2、上、dnは、リゾート)モジュール、
入力U1の。
入力u2の。
出力を開く。
出力dnに。
出力リゾート。線D = 1;
ワイヤーリゾート。d_ff D1を(。d_in(d)は、。CLKを(U1)は、。リセット(RST)は、。d_out(最大));
d_ff D2に(。d_in(d)は、。CLKを(U2)。リセット(RST)は、。d_out(dnは));
と(リゾート、上、dnに);endmodule
///////////////////////////////////////////////
モジュールd_ff(d_in、CLKを、リセット、d_out);
入力d_in;
入力CLKの。
入力リセット;
出力d_out;d_out regの。常に@(posedgeのリセットまたはposedge CLK)は
始める
場合(リセット)
d_out = 1'b0;
他
d_out = d_in;
終了endmodule////////////////////////////////////////////////// /////////////////
////////////////////////コントローラ///////////////////////// / / / /
////////////////////////////////////////////////// ///////////////
モジュールコントローラ(CLKを、最大リセット、dnは、DCO_CONTRL);
入力リセット、上、dnは、CLKの。
出力[7:0] DCO_CONTRL;spd_cnt regの、freq_acq_mode、ph_acq_mode、ステップ;
レッグ[は7:0] DCO_CONTRL;
線cond1、cond2、cond3、condp1、condp2;
整数cntf1、cntf2、cntp1、cntp2、s_step;
整数ssは。初期の開始
ssは<= 64;
終了
///////////新しい//////////////
//////////のFrrequency集録モード//////////
cond1 = freq_acq_mode&ステップを割り当てる
cond2 = freq_acq_mode&アップ、
cond3 = freq_acq_mode&dnは、condp1 = ph_acq_mode&アップ、
condp2 = ph_acq_mode&dnに。常に@(posedge CLK)は
始める場合(リセット)を開始
DCO_CONTRL <= 8'd127;
s_stepの<= 64;
freq_acq_modeの<= 1;
ph_acq_modeの<= 0;
cntf1 <= 0;
cntf2 <= 0;
ステップ<= 0;
終了場合、他(freq_acq_mode)が開始
(s_step == 1)ステップ<場合= 1;他の<= 0のステップ;ケース((cond1、cond2、cond3))3'b100は:開始
DCO_CONTRL <= DCO_CONTRL;
s_stepの<= ssは。
freq_acq_modeの<= 0;
ph_acq_modeの<= 1;
cntf1 <= 0;
cntf2 <= 0;
終了3'b010は:開始
freq_acq_modeの<= 1;
ph_acq_modeの<= 0;
cntf2 <= 0;
cntf1 <= cntf1 1;
DCO_CONTRL <= DCO_CONTRL 1;
s_stepの<は= s_step;
cntf1 <= 1の)開始(存在する場合
s_stepの<= ssは。
s_stepの<は= s_step / 2;
ssは<= s_step;
終了
終了3'b001は:開始
freq_acq_modeの<= 1;
ph_acq_modeの<= 0;
cntf2 <= cntf2 1;
DCO_CONTRL <は= DCO_CONTRL - 1;
cntf1 <= 0;
s_stepの<は= s_step;
cntf2 <= 1の)開始(存在する場合
s_stepの<= ssは。
s_stepの<は= s_step / 2;
ssは<= s_step;
終了
終了デフォルトでは:開始
DCO_CONTRL <= 0;
s_stepの<は= s_step;
cntf1 <= 0;
cntf2 <= 0;
freq_acq_modeの<= 1;
ph_acq_modeの<= 0;
終了
endcase終了場合、他(ph_acq_mode)が開始ケース((condp1、condp2))
2'b10:
始める
cntp2 <= 0;
cntp1は> 1)を開始(存在する場合
cntp1 <= cntp1 1;
spd_cnt <= spd_cnt 1;
s_stepの<は= s_step;
開始(spd_cnt == 8)場合
s_stepの<= s_step * 2;
spd_cnt <= 0;
cntp1 <= 0;
終了
終了
他の開始
cntp2 <= 0;
s_stepの<は= s_step;
(s_step場合!= 1)s_stepの<= s_step / 2;
cntp1 <= cntp1 1;
spd_cnt <= spd_cnt 1;
終了
終了2'b01は:開始
cntp1 <= 0;
cntp2は> 1)を開始(存在する場合
cntp2 <= cntp2 1;
spd_cnt <= spd_cnt 1;
s_stepの<は= s_step;
開始(spd_cnt == 8)場合
s_stepの<= s_step * 2;
spd_cnt <= 0;
cntp2 <= 0;
終了
終了
他の開始
cntp1 <= 0;
s_stepの<は= s_step;
(s_step場合!= 1)s_stepの<= s_step / 2;
cntp2 <= cntp2 1;
spd_cnt <= spd_cnt 1;
終了
終了
デフォルトでは:開始
cntp1 <= 0;
cntp2 <= 0;
s_stepの<= 0;
spd_cnt <= 0;
終了
endcase終了
終了endmodule////////////////////////////////////////////////// / / /
///////////////////// DCOの////////////////////////////
////////////////////////////////////////////////// /
モジュールdig_cntrl_osc(有効DCO_CONTRL、DCO_OUT);
入力を有効にする。
入力[7:0] DCO_CONTRL;
出力DCO_OUT;
はinvsel0(CONTRL6b、DCO_CONTRL [6]);
はinvsel1(CONTRL7b、DCO_CONTRL [7]);
とandsel0(sel0、CONTRL7b、CONTRL6b);
とandsel1(SEL1側、CONTRL7b、DCO_CONTRL [6]);
とandsel2(sel2、DCO_CONTRL [7]、CONTRL6b);
とandsel3(sel3、DCO_CONTRL [7]、DCO_CONTRL [6]);
NAND型nandout(DCO_OUTB、cell1_out、有効);
はINV1(DCO_OUT1B、DCO_OUTB);
bufif1 buf1(cell1_in、DCO_OUT1B、sel3);
bufif0 buf2(cell1_in、cell2_out、sel3);
bufif1 buf3(cell2_in、DCO_OUTB、sel2);
bufif0 buf4(cell2_in、cell3_out、sel2);
はINV2(DCO_OUT2B、DCO_OUTB);
bufif1 buf5(cell3_in、DCO_OUT2B、SEL1側);
bufif0 buf6(cell3_in、cell4_out、SEL1側);
bufif1 buf7(cell4_in、DCO_OUTB、sel0);
はINV3(DCO_OUT、DCO_OUTB);
DCO_CELL cell1(DCO_CONTRL [5:0]、cell1_in、cell1_out);
DCO_CELLセル2(DCO_CONTRL [5:0]、cell2_in、cell2_out);
DCO_CELL cell3(DCO_CONTRL [5:0]、cell3_in、cell3_out);
DCO_CELL cell4(DCO_CONTRL [5:0]、cell4_in、cell4_out);
endmodule
////////////////////////////////////////////////// ///////////////////////////////////////////モジュールDCO_CELL(続きで、うち、);
入力[5:0]連続。
入力;
出力アウト。指定する
(もし!続き[5]&!続き[4]&!続き[3]&!続き[2]&!続き[1]&!続き[0])(in =>アウト)= 0.988;
(もし!続き[5]&!続き[4]&!続き[3]&!続き[2]&!続き[1]&続き[0])(in =>アウト)= 0.987;
(もし!続き[5]&!続き[4]&!続き[3]&!続き[2]&続き[1]&!続き[0])(中=>アウト)= 0.986;
(もし!続き[5]&!続き[4]&!続き[3]&!続き[2]&続き[1]&続き[0])(in =>アウト)= 0.985;
(もし!続き[5]&!続き[4]&!続き[3]&続き[2]&!続き[1]&!続き[0])(in =>アウト)= 0.984;
(もし!続き[5]&!続き[4]&!続き[3]&続き[2]&!続き[1]&続き[0])(in =>アウト)= 0.983;
(もし!続き[5]&!続き[4]&!続き[3]&続き[2]&続き[1]&!続き[0])(in =>アウト)= 0.982;
(もし!続き[5]&!続き[4]&!続き[3]&続き[2]&続き[1]&続き[0])(中=>アウト)= 0.981;
(もし!続き[5]&!続き[4]&続き[3]&!続き[2]&!続き[1]&!続き[0])(in =>アウト)= 0.980;
(もし!続き[5]&!続き[4]&続き[3]&!続き[2]&!続き[1]&続き[0])(in =>アウト)= 0.979;
(もし!続き[5]&!続き[4]&続き[3]&!続き[2]&続き[1]&!続き[0])(in =>アウト)= 0.978;
(もし!続き[5]&!続き[4]&続き[3]&!続き[2]&続き[1]&続き[0])(in =>アウト)= 0.977;
(もし!続き[5]&!続き[4]&続き[3]&続き[2]&!続き[1]&!続き[0])(in =>アウト)= 0.976;
(もし!続き[5]&!続き[4]&続き[3]&続き[2]&!続き[1]&続き[0])(in =>アウト)= 0.975;
(もし!続き[5]&!続き[4]&続き[3]&続き[2]&続き[1]&!続き[0])(in =>アウト)= 0.974;
(もし!続き[5]&!続き[4]&続き[3]&続き[2]&続き[1]&続き[0])(in =>アウト)= 0.973;
(もし!続き[5]&続き[4]&!続き[3]&!続き[2]&!続き[1]&!続き[0])(中=>アウト)= 0.972;
(もし!続き[5]&続き[4]&!続き[3]&!続き[2]&!続き[1]&続き[0])(in =>アウト)= 0.971;
(もし!続き[5]&続き[4]&!続き[3]&!続き[2]&続き[1]&!続き[0])(in =>アウト)= 0.970;
(もし!続き[5]&続き[4]&!続き[3]&!続き[2]&続き[1]&続き[0])(中=>アウト)= 0.969;
(もし!続き[5]&続き[4]&!続き[3]&続き[2]&!続き[1]&!続き[0])(in =>アウト)= 0.968;
(もし!続き[5>を=に]&続き[4]&!続き[3]&続き[2]&!続き[1]&続き[0])()= 0.967;
(もし!続き[5]&続き[4]&!続き[3]&続き[2]&続き[1]&!続き[0])(in =>アウト)= 0.966;
(もし!続き[5]&続き[4]&!続き[3]&続き[2]&続き[1]&続き[0])(中=>アウト)= 0.965;
(もし!続き[5]&続き[4]&続き[3]&!続き[2]&!続き[1]&!続き[0])(in =>アウト)= 0.964;
(もし!続き[5>を=に]&続き[4]&続き[3]&!続き[2]&!続き[1]&続き[0])()= 0.963;
(もし!続き[5]&続き[4]&続き[3]&!続き[2]&続き[1]&!続き[0])(in =>アウト)= 0.962;
(もし!続き[5]&続き[4]&続き[3]&!続き[2]&続き[1]&続き[0])(in =>アウト)= 0.961;
(もし!続き[5]&続き[4]&続き[3]&続き[2]&!続き[1]&!続き[0])(in =>アウト)= 0.960;
(もし!続き[5]&続き[4]&続き[3]&続き[2]&!続き[1]&続き[0])(in =>アウト)= 0.959;
(もし!続き[5]&続き[4]&続き[3]&続き[2]&続き[1]&!続き[0])(中=>アウト)= 0.958;
(もし!続き[5]&続き[4]&続き[3]&続き[2]&続き[1]&続き[0])(in =>アウト)= 0.957;
(続き[5]&!続き[4]&!続き[3]&!続き[2]&!続き[1]&!続き[0])(in =>アウト)場合= 0.956;
(続き[5]&!続き[4]&!続き[3]&!続き[2]&!続き[1]&続き[0])(in =>アウト)場合= 0.955;
(続き[5]&!続き[4]&!続き[3]&!続き[2]&続き[1]&!続き[0])(in =>アウト)場合= 0.954;
(続き[5]&!続き[4]&!続き[3]&!続き[2]&続き[1]&続き[0])(中=>アウト)場合= 0.953;
(続き[5]&!続き[4]&!続き[3]&続き[2]&!続き[1]&!続き[0])(in =>アウト)場合= 0.952;
(続き[5]&!続き[4]&!続き[3]&続き[2]&!続き[1]&続き[0])(中=>アウト)場合= 0.951;
(続き[5]&!続き[4]&!続き[3]&続き[2]&続き[1]&!続き[0])(in =>アウト)場合= 0.950;
続き[5]&!続き[4]&!続き[3]&続き[2]&続き[1]&続き[0])(in =>出力()= 0.949場合はtrue。
(続き[5]&!続き[4]&続き[3]&!続き[2]&!続き[1]&!続き[0])(in =>アウト)場合= 0.948;
(続き[5]&!続き[4]&続き[3]&!続き[2]&!続き[1]&続き[0])(in =>アウト)場合= 0.947;
(続き[5]&!続き[4]&続き[3]&!続き[2]&続き[1]&!続き[0])(in =>アウト)場合= 0.946;
(続き[5]&!続き[4]&続き[3]&!続き[2]&続き[1]&続き[0])(in =>アウト)場合= 0.945;
(続き[5]&!続き[4]&続き[3]&続き[2]&!続き[1]&!続き[0])(in =>アウト)場合= 0.944;
(続き[5]&!続き[4]&続き[3]&続き[2]&!続き[1]&続き[0])(in =>アウト)場合= 0.943;
(続き[5]&!続き[4]&続き[3]&続き[2]&続き[1]&!続き[0])(in =>アウト)場合= 0.942;
続き[5]&!続き[4]&続き[3]&続き[2]&続き[1]&続き[0])(中=>出力()= 0.941場合はtrue。
(続き[5]&続き[4]&!続き[3]&!続き[2]&!続き[1]&!続き[0])(in =>アウト)= 0.940場合はtrue。
(続き[5]&続き[4]&!続き[3]&!続き[2]&!続き[1]&続き[0])(in =>アウト)= 0.939場合はtrue。
(続き[5]&続き[4]&!続き[3]&!続き[2]&続き[1]&!続き[0])(in =>アウト)= 0.938場合はtrue。
(続き[5]&続き[4]&!続き[3]&!続き[2]&続き[1]&続き[0])(in =>アウト)= 0.937場合はtrue。
(続き[5]&続き[4]&!続き[3]&続き[2]&!続き[1]&!続き[0])(in =>アウト)= 0.936場合はtrue。
(続き[5]&続き[4]&!続き[3]&続き[2]&!続き[1]&続き[0])(in =>アウト)= 0.935場合はtrue。
(続き[5]&続き[4]&!続き[3]&続き[2]&続き[1]&!続き[0])(中=>アウト)= 0.934場合はtrue。
(続き[5]&続き[4]&!続き[3]&続き[2]&続き[1]&続き[0])(in =>アウト)= 0.933場合はtrue。
(続き[5]&続き[4]&続き[3]&!続き[2]&!続き[1]&!続き[0])(in =>アウト)= 0.932場合はtrue。
(続き[5]&続き[4]&続き[3]&!続き[2]&!続き[1]&続き[0])(in =>アウト)= 0.931場合はtrue。
(続き[5]&続き[4]&続き[3]&!続き[2]&続き[1]&!続き[0])(in =>アウト)= 0.930場合はtrue。
(続き[5]&続き[4]&続き[3]&!続き[2]&続き[1]&続き[0])(中=>アウト)= 0.929場合はtrue。
(続き[5]&続き[4]&続き[3]&続き[2]&!続き[1]&!続き[0])(in =>アウト)= 0.928場合はtrue。
(続き[5]&続き[4]&続き[3]&続き[2]&!続き[1]&続き[0])(in =>アウト)= 0.927場合はtrue。
(続き[5]&続き[4]&続き[3]&続き[2]&続き[1]&!続き[0])(in =>アウト)= 0.926場合はtrue。
(続き[5]&続き[4]&続き[3]&続き[2]&続き[1]&続き[0])(中=>アウト)= 0.925場合はtrue。
endspecifyはm1は(アウト、);
endmodule
////////////////////////////////////////////////// //////
////////////////////////////////////////////////// /////
モジュールdiv_10(有効で、アウト);
入力は、を有効;
出力アウト。アウトレッグ。
[3:0]カウンタレッグ。初期
始める
カウンタ= 4'b0000;
終了常に@(negedge有効またはposedge)
始める
)カウンタ<を= 4'b0000有効にする(もし!;
他の場合は(カウンタ== 4'b1010)カウンタ<= 4'b0000;
他のカウンタ<=カウンタ 1;)から<= 1'b0有効にする(もし!;
他の場合は(カウンタ<= 4'b0100)<= 1'b0アウト。
他のアウト<= 1'b1;
終了endmodule