Line 95... |
Line 95... |
if ($inputs['clear']=="1") { echo " input " . "clear;" . PHP_EOL; }
|
if ($inputs['clear']=="1") { echo " input " . "clear;" . PHP_EOL; }
|
if ($inputs['set']=="1") { echo " input " . "set;" . PHP_EOL; }
|
if ($inputs['set']=="1") { echo " input " . "set;" . PHP_EOL; }
|
if ($inputs['cke']=="1") { echo " input " . "cke;" . PHP_EOL; }
|
if ($inputs['cke']=="1") { echo " input " . "cke;" . PHP_EOL; }
|
if ($inputs['rew']=="1") { echo " input " . "rew;" . PHP_EOL; }
|
if ($inputs['rew']=="1") { echo " input " . "rew;" . PHP_EOL; }
|
|
|
if ($outputs['q']=="1") { echo " output [length:1] q;" . PHP_EOL; }
|
if ($counter['type']=="GRAY") {
|
|
if ($outputs['q']=="1") { echo " output reg [length:1] q;" . PHP_EOL; }
|
|
} else {
|
|
if ($outputs['q']=="1") { echo " output [length:1] q;" . PHP_EOL; }
|
|
}
|
if ($outputs['q_bin']=="1") { echo " output [length:1] q_bin;" . PHP_EOL; }
|
if ($outputs['q_bin']=="1") { echo " output [length:1] q_bin;" . PHP_EOL; }
|
if ($outputs['z']=="1") { echo " output z;" . PHP_EOL; }
|
if ($outputs['z']=="1") { echo " output z;" . PHP_EOL; }
|
if ($outputs['zq']=="1") { echo " output reg zq;" . PHP_EOL; }
|
if ($outputs['zq']=="1") { echo " output reg zq;" . PHP_EOL; }
|
if ($outputs['level1']=="1") { echo " output reg level1;" . PHP_EOL; }
|
if ($outputs['level1']=="1") { echo " output reg level1;" . PHP_EOL; }
|
if ($outputs['level2']=="1") { echo " output reg level2;" . PHP_EOL; }
|
if ($outputs['level2']=="1") { echo " output reg level2;" . PHP_EOL; }
|
Line 174... |
Line 178... |
|
|
if ($inputs['rew']!=1) { echo " assign q_next = "; } else { echo " assign q_next_fw = "; }
|
if ($inputs['rew']!=1) { echo " assign q_next = "; } else { echo " assign q_next_fw = "; }
|
if ($inputs['clear']==1) { echo " clear ? {length{1'b0}} :";}
|
if ($inputs['clear']==1) { echo " clear ? {length{1'b0}} :";}
|
if ($inputs['set']==1) { echo " set ? set_value :";}
|
if ($inputs['set']==1) { echo " set ? set_value :";}
|
if ($wrap['wrap']==1) { echo "(qi == wrap_value) ? {length{1'b0}} :";}
|
if ($wrap['wrap']==1) { echo "(qi == wrap_value) ? {length{1'b0}} :";}
|
if ($counter['type']=="LFSR") { echo "{qi[length-1:1],lfsr_fb};"; } else { echo "qi + length'd1;"; }
|
if ($counter['type']=="LFSR") { echo "{qi[length-1:1],lfsr_fb};"; } else { echo "qi + 1;"; }
|
echo PHP_EOL;
|
echo PHP_EOL;
|
|
|
if ($inputs['rew']) {
|
if ($inputs['rew']) {
|
if ($counter['type']=="LFSR") {
|
if ($counter['type']=="LFSR") {
|
echo " always @ (qi)" . PHP_EOL;
|
echo " always @ (qi)" . PHP_EOL;
|
Line 230... |
Line 234... |
}
|
}
|
echo " assign q_next_rew = ";
|
echo " assign q_next_rew = ";
|
if ($inputs['clear']==1) { echo " clear ? clear_value :";}
|
if ($inputs['clear']==1) { echo " clear ? clear_value :";}
|
if ($inputs['set']==1) { echo " set ? set_value :";}
|
if ($inputs['set']==1) { echo " set ? set_value :";}
|
if ($wrap['wrap']==1) { echo "(qi == wrap_value) ? {length{1'b0}} :";}
|
if ($wrap['wrap']==1) { echo "(qi == wrap_value) ? {length{1'b0}} :";}
|
if ($counter['type']=="LFSR") { echo "{lfsr_fb_rew,qi[length:2]};"; } else { echo "qi - length'd1;"; }
|
if ($counter['type']=="LFSR") { echo "{lfsr_fb_rew,qi[length:2]};"; } else { echo "qi - 1;"; }
|
echo PHP_EOL;
|
echo PHP_EOL;
|
echo " assign q_next = rew ? q_next_rew : q_next_fw;" . PHP_EOL;
|
echo " assign q_next = rew ? q_next_rew : q_next_fw;" . PHP_EOL;
|
}
|
}
|
|
|
echo "
|
echo "
|
always @ (posedge clk or posedge rst)
|
always @ (posedge clk or posedge rst)
|
if (rst)
|
if (rst)
|
qi <= {length{1'b0}};
|
qi <= {length{1'b0}};
|
else" . PHP_EOL;
|
else" . PHP_EOL;
|
if ($inputs['cke']) { echo " if (cke)" . PHP_EOL;}
|
if ($inputs['cke']) { echo " if (cke)" . PHP_EOL;}
|
echo " qi <= q_next;" . PHP_EOL;
|
echo " qi <= q_next;" . PHP_EOL;
|
echo PHP_EOL;
|
echo PHP_EOL;
|
|
|
if ($outputs['q']) {
|
if ($outputs['q']) {
|
if ($counter['type'] == "GRAY" or $counter['type'] == "gray") {
|
if ($counter['type'] == "GRAY" or $counter['type'] == "gray") {
|
echo "always @ (posedge clk or posedge rst)
|
echo "always @ (posedge clk or posedge rst)
|
if (rst)
|
if (rst)
|
q <= ;
|
q <= (q_next>>1) ^ q_next;
|
else";
|
else" . PHP_EOL;
|
if ($inputs['cke']) { echo " if (cke)" . PHP_EOL; }
|
if ($inputs['cke']) { echo " if (cke)" . PHP_EOL; }
|
|
echo " q <= (q_next>>1) ^ q_next;" . PHP_EOL;
|
} else {
|
} else {
|
echo " assign q = qi;" . PHP_EOL;
|
echo " assign q = qi;" . PHP_EOL;
|
}
|
}
|
}
|
}
|
echo PHP_EOL;
|
echo PHP_EOL;
|