mirror of
https://github.com/YosysHQ/yosys
synced 2025-08-25 04:26:01 +00:00
Added Altera Cyclon III cell library to xsthammer
This commit is contained in:
parent
a4fd3cde8c
commit
14c84c111b
3 changed files with 115 additions and 14 deletions
|
@ -1,6 +1,7 @@
|
|||
#!/bin/bash
|
||||
|
||||
use_vivado=false
|
||||
use_quartus=false
|
||||
checkdir="check"
|
||||
|
||||
if [ "$1" = "-vivado" ]; then
|
||||
|
@ -9,6 +10,12 @@ if [ "$1" = "-vivado" ]; then
|
|||
shift
|
||||
fi
|
||||
|
||||
if [ "$1" = "-quartus" ]; then
|
||||
use_quartus=true
|
||||
checkdir="check_quartus"
|
||||
shift
|
||||
fi
|
||||
|
||||
if [ $# -eq 0 ]; then
|
||||
echo "Usage: $0 <job_id>" >&2
|
||||
exit 1
|
||||
|
@ -22,21 +29,23 @@ mkdir -p $checkdir check_temp/$job
|
|||
cd check_temp/$job
|
||||
|
||||
{
|
||||
echo "module ${job}_top(a, b, y_rtl, y_xst);"
|
||||
sed -r '/^(input|output) / !d; /output/ { s/ y;/ y_rtl;/; p; }; s/ y_rtl;/ y_xst;/;' ../../rtl/$job.v
|
||||
echo "module ${job}_top(a, b, y_rtl, y_syn);"
|
||||
sed -r '/^(input|output) / !d; /output/ { s/ y;/ y_rtl;/; p; }; s/ y_rtl;/ y_syn;/;' ../../rtl/$job.v
|
||||
echo "${job}_rtl rtl_variant (.a(a), .b(b), .y(y_rtl));"
|
||||
echo "${job}_xst xst_variant (.a(a), .b(b), .y(y_xst));"
|
||||
echo "${job}_syn syn_variant (.a(a), .b(b), .y(y_syn));"
|
||||
echo "endmodule"
|
||||
} > ${job}_top.v
|
||||
|
||||
for mode in nomap techmap; do
|
||||
{
|
||||
if $use_vivado; then
|
||||
if $use_quartus; then
|
||||
echo "read_verilog ../../quartus/$job.v"
|
||||
elif $use_vivado; then
|
||||
echo "read_verilog ../../vivado/$job.v"
|
||||
else
|
||||
echo "read_verilog -DGLBL ../../xst/$job.v"
|
||||
fi
|
||||
echo "rename $job ${job}_xst"
|
||||
echo "rename $job ${job}_syn"
|
||||
|
||||
echo "read_verilog ../../rtl/$job.v"
|
||||
echo "rename $job ${job}_rtl"
|
||||
|
@ -45,18 +54,24 @@ for mode in nomap techmap; do
|
|||
fi
|
||||
|
||||
echo "read_verilog ${job}_top.v"
|
||||
echo "read_verilog ../../xl_cells.v"
|
||||
if $use_quartus; then
|
||||
echo "read_verilog ../../cy_cells.v"
|
||||
else
|
||||
echo "read_verilog ../../xl_cells.v"
|
||||
fi
|
||||
|
||||
echo "hierarchy -top ${job}_top"
|
||||
echo "flatten ${job}_xst"
|
||||
echo "proc"
|
||||
|
||||
echo "flatten ${job}_syn"
|
||||
echo "flatten ${job}_rtl"
|
||||
echo "flatten ${job}_top"
|
||||
echo "opt_clean"
|
||||
|
||||
echo "rename ${job}_xst ${job}_xst_${mode}"
|
||||
echo "rename ${job}_syn ${job}_syn_${mode}"
|
||||
echo "rename ${job}_rtl ${job}_rtl_${mode}"
|
||||
echo "rename ${job}_top ${job}_top_${mode}"
|
||||
echo "dump -outfile ${job}_top_${mode}.il ${job}_xst_${mode} ${job}_rtl_${mode} ${job}_top_${mode}"
|
||||
echo "dump -outfile ${job}_top_${mode}.il ${job}_syn_${mode} ${job}_rtl_${mode} ${job}_top_${mode}"
|
||||
} > ${job}_top_${mode}.ys
|
||||
../../../../yosys -q ${job}_top_${mode}.ys
|
||||
done
|
||||
|
@ -64,11 +79,11 @@ done
|
|||
{
|
||||
echo "read_ilang ${job}_top_nomap.il"
|
||||
echo "read_ilang ${job}_top_techmap.il"
|
||||
echo "sat -timeout 60 -verify-no-timeout -show a,b,y_rtl,y_xst -prove y_rtl y_xst ${job}_top_nomap"
|
||||
echo "sat -timeout 60 -verify-no-timeout -show a,b,y_rtl,y_xst -prove y_rtl y_xst ${job}_top_techmap"
|
||||
echo "sat -timeout 60 -verify-no-timeout -show a,b,y_rtl,y_syn -prove y_rtl y_syn ${job}_top_nomap"
|
||||
echo "sat -timeout 60 -verify-no-timeout -show a,b,y_rtl,y_syn -prove y_rtl y_syn ${job}_top_techmap"
|
||||
if [[ $job != expression_* ]]; then
|
||||
echo "eval -brute_force_equiv_checker ${job}_rtl_nomap ${job}_xst_nomap"
|
||||
echo "eval -brute_force_equiv_checker ${job}_rtl_techmap ${job}_xst_techmap"
|
||||
echo "eval -brute_force_equiv_checker ${job}_rtl_nomap ${job}_syn_nomap"
|
||||
echo "eval -brute_force_equiv_checker ${job}_rtl_techmap ${job}_syn_techmap"
|
||||
fi
|
||||
} > ${job}_cmp.ys
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue