echo -n > fail_patterns.txt
for p in syn_vivado syn_quartus syn_xst syn_yosys rtl; do
for q in syn_vivado syn_quartus syn_xst syn_yosys rtl; do
+ if test -f result.${q}.${p}.txt; then
+ cp result.${q}.${p}.txt result.${p}.${q}.txt
+ continue
+ fi
+
{
echo "read_verilog -DGLBL $p.v"
echo "rename $job ${job}_1"
mkdir -p vivado vivado_temp/$job
cd vivado_temp/$job
+sed 's/^module/(* use_dsp48="no" *) module/;' < ../../rtl/$job.v > rtl.v
cat > $job.tcl <<- EOT
- read_verilog ../../rtl/$job.v
+ read_verilog rtl.v
synth_design -part xc7k70t -top $job
- write_verilog ../../vivado/$job.v
+ write_verilog -force ../../vivado/$job.v
EOT
/opt/Xilinx/Vivado/2013.2/bin/vivado -mode batch -source $job.tcl
assign O = S ? I1 : I0;
endmodule
+module MUXF8(O, I0, I1, S);
+input I0, I1, S;
+output O;
+assign O = S ? I1 : I0;
+endmodule
+
module VCC(P);
output P;
assign P = 1;