Moved spice and verilog netlist folder location
This commit is contained in:
parent
125d7888df
commit
7bfc48b8e4
|
@ -5,15 +5,15 @@
|
||||||
// Coder : Xifan TANG
|
// Coder : Xifan TANG
|
||||||
//-----------------------------------------------------
|
//-----------------------------------------------------
|
||||||
//------ Include defines: preproc flags -----
|
//------ Include defines: preproc flags -----
|
||||||
`include "GENERATED_DIR_KEYWORD/SRC/fpga_defines.v"
|
`include "./SRC/fpga_defines.v"
|
||||||
module static_dff (
|
module static_dff (
|
||||||
/* Global ports go first */
|
/* Global ports go first */
|
||||||
input set, // set input
|
input set, // set input
|
||||||
input reset, // Reset input
|
input reset, // Reset input
|
||||||
input clk, // Clock Input
|
input clk, // Clock Input
|
||||||
/* Local ports follow */
|
/* Local ports follow */
|
||||||
input D, // Data Input
|
input D, // Data Input
|
||||||
output Q // Q output
|
output Q // Q output
|
||||||
);
|
);
|
||||||
//------------Internal Variables--------
|
//------------Internal Variables--------
|
||||||
reg q_reg;
|
reg q_reg;
|
||||||
|
@ -29,7 +29,7 @@ end else begin
|
||||||
end
|
end
|
||||||
|
|
||||||
// Wire q_reg to Q
|
// Wire q_reg to Q
|
||||||
assign Q = q_reg;
|
assign Q = q_reg;
|
||||||
|
|
||||||
endmodule //End Of Module static_dff
|
endmodule //End Of Module static_dff
|
||||||
|
|
||||||
|
@ -42,12 +42,12 @@ endmodule //End Of Module static_dff
|
||||||
module sc_dff (
|
module sc_dff (
|
||||||
/* Global ports go first */
|
/* Global ports go first */
|
||||||
input set, // set input
|
input set, // set input
|
||||||
input reset, // Reset input
|
input reset, // Reset input
|
||||||
input clk, // Clock Input
|
input clk, // Clock Input
|
||||||
/* Local ports follow */
|
/* Local ports follow */
|
||||||
input D, // Data Input
|
input D, // Data Input
|
||||||
output Q, // Q output
|
output Q, // Q output
|
||||||
output Qb // Q output
|
output Qb // Q output
|
||||||
);
|
);
|
||||||
//------------Internal Variables--------
|
//------------Internal Variables--------
|
||||||
reg q_reg;
|
reg q_reg;
|
||||||
|
@ -63,7 +63,7 @@ end else begin
|
||||||
end
|
end
|
||||||
|
|
||||||
// Wire q_reg to Q
|
// Wire q_reg to Q
|
||||||
assign Q = q_reg;
|
assign Q = q_reg;
|
||||||
assign Qb = ~Q;
|
assign Qb = ~Q;
|
||||||
|
|
||||||
endmodule //End Of Module static_dff
|
endmodule //End Of Module static_dff
|
||||||
|
@ -76,13 +76,13 @@ endmodule //End Of Module static_dff
|
||||||
//-----------------------------------------------------
|
//-----------------------------------------------------
|
||||||
module sc_dff_compact (
|
module sc_dff_compact (
|
||||||
/* Global ports go first */
|
/* Global ports go first */
|
||||||
input reset, // Reset input
|
input reset, // Reset input
|
||||||
//input set, // set input
|
//input set, // set input
|
||||||
input clk, // Clock Input
|
input clk, // Clock Input
|
||||||
/* Local ports follow */
|
/* Local ports follow */
|
||||||
input D, // Data Input
|
input D, // Data Input
|
||||||
output Q, // Q output
|
output Q, // Q output
|
||||||
output Qb // Q output
|
output Qb // Q output
|
||||||
);
|
);
|
||||||
//------------Internal Variables--------
|
//------------Internal Variables--------
|
||||||
reg q_reg;
|
reg q_reg;
|
||||||
|
@ -98,16 +98,16 @@ end else begin
|
||||||
end
|
end
|
||||||
/*
|
/*
|
||||||
// Wire q_reg to Q
|
// Wire q_reg to Q
|
||||||
assign Q = q_reg;
|
assign Q = q_reg;
|
||||||
assign Qb = ~Q;
|
assign Qb = ~Q;
|
||||||
*/
|
*/
|
||||||
|
|
||||||
`ifndef ENABLE_FORMAL_VERIFICATION
|
`ifndef ENABLE_FORMAL_VERIFICATION
|
||||||
// Wire q_reg to Q
|
// Wire q_reg to Q
|
||||||
assign Q = q_reg;
|
assign Q = q_reg;
|
||||||
assign Qb = ~q_reg;
|
assign Qb = ~q_reg;
|
||||||
`else
|
`else
|
||||||
assign Q = 1'bZ;
|
assign Q = 1'bZ;
|
||||||
assign Qb = !Q;
|
assign Qb = !Q;
|
||||||
`endif
|
`endif
|
||||||
|
|
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
|
@ -0,0 +1,43 @@
|
||||||
|
python3.5 openfpga_flow/scripts/run_fpga_flow.py \
|
||||||
|
./openfpga_flow/arch/winbond90/k6_N10_rram_memory_bank_SC_winbond90.xml \
|
||||||
|
./openfpga_flow/benchmarks/MCNC_Verilog/s298/s298.v \
|
||||||
|
--top_module s298 \
|
||||||
|
--power \
|
||||||
|
--power_tech ./openfpga_flow/tech/winbond90nm/winbond90nm_power_properties.xml \
|
||||||
|
--min_route_chan_width 1.3 \
|
||||||
|
--vpr_fpga_verilog \
|
||||||
|
--vpr_fpga_verilog_dir ./SRC \
|
||||||
|
--vpr_fpga_x2p_rename_illegal_port \
|
||||||
|
--vpr_fpga_verilog_print_autocheck_top_testbench
|
||||||
|
|
||||||
|
|
||||||
|
# \
|
||||||
|
# --end_flow_with_test \
|
||||||
|
# --vpr_fpga_verilog_print_autocheck_top_testbench \
|
||||||
|
# --vpr_fpga_verilog_include_icarus_simulator \
|
||||||
|
# --vpr_fpga_verilog_formal_verification_top_netlist
|
||||||
|
|
||||||
|
|
||||||
|
# '/research/ece/lnis/USERS/alacchi/Ganesh/OpenFPGA/vpr7_x2p/vpr/vpr',
|
||||||
|
# '/research/ece/lnis/USERS/alacchi/Ganesh/OpenFPGA/tmp/arch/k6_N10_rram_memory_bank_SC_winbond90.xml', 's298_ace_corrected_out.blif'
|
||||||
|
# '--net_file'
|
||||||
|
# 's298_vpr.net'
|
||||||
|
# '--place_file'
|
||||||
|
# 's298_vpr.place'
|
||||||
|
# '--route_file'
|
||||||
|
# 's298_vpr.route'
|
||||||
|
# '--full_stats'
|
||||||
|
# '--nodisp'
|
||||||
|
# '--power'
|
||||||
|
# '--activity_file'
|
||||||
|
# 's298_ace_out.act'
|
||||||
|
# '--tech_properties'
|
||||||
|
# '/research/ece/lnis/USERS/alacchi/Ganesh/OpenFPGA/openfpga_flow/tech/winbond90nm/winbond90nm_power_properties.xml'
|
||||||
|
# '--fpga_verilog'
|
||||||
|
# '--fpga_verilog_dir'
|
||||||
|
# './SRC'
|
||||||
|
# '--fpga_verilog_print_autocheck_top_testbench'
|
||||||
|
# 's298_output_verilog.v'
|
||||||
|
# '--fpga_verilog_print_formal_verification_top_netlist'
|
||||||
|
# '--fpga_verilog_include_icarus_simulator'
|
||||||
|
# '--fpga_x2p_rename_illegal_port'
|
|
@ -1,33 +0,0 @@
|
||||||
#!/bin/bash
|
|
||||||
echo "#################################################"
|
|
||||||
echo "The current shell environment is the following:"
|
|
||||||
echo $0
|
|
||||||
echo "#################################################"
|
|
||||||
|
|
||||||
# Example of how to run vprset circuit_name = pip_add
|
|
||||||
#set circuit_name = pip_add
|
|
||||||
circuit_name=sync_4bits_add
|
|
||||||
circuit_blif=${PWD}/Circuits/${circuit_name}.blif
|
|
||||||
arch_file=${PWD}/ARCH/k6_N10_scan_chain_ptm45nm_TT.xml
|
|
||||||
arch_file_template=${PWD}/ARCH/k6_N10_sram_chain_HC_template.xml
|
|
||||||
circuit_act=${PWD}/Circuits/${circuit_name}.act
|
|
||||||
circuit_verilog=${PWD}/Circuits/${circuit_name}.v
|
|
||||||
spice_output=${PWD}/spice_demo
|
|
||||||
verilog_output=${PWD}/verilog_demo
|
|
||||||
modelsim_ini=/uusoc/facility/cad_tools/Mentor/modelsim10.7b/modeltech/modelsim.ini
|
|
||||||
openfpga_path=${PWD}/../..
|
|
||||||
|
|
||||||
# Make sure a clean start
|
|
||||||
rm -rf ${spice_output}
|
|
||||||
rm -rf ${verilog_output}
|
|
||||||
|
|
||||||
echo "*******************************"
|
|
||||||
echo "THIS SCRIPT NEEDS TO BE SOURCED"
|
|
||||||
echo "source ./go.sh"
|
|
||||||
echo "*******************************"
|
|
||||||
|
|
||||||
sed "s:OPENFPGAPATH:${openfpga_path}:g" ${arch_file_template} > ${arch_file}
|
|
||||||
|
|
||||||
# Pack, place, and route a heterogeneous FPGA
|
|
||||||
# Packing uses the AAPack algorithm
|
|
||||||
./vpr ${arch_file} ${circuit_blif} --full_stats --nodisp --activity_file ${circuit_act} --route_chan_width 30 --fpga_spice --fpga_spice_rename_illegal_port --fpga_spice_dir ${spice_output} --fpga_spice_print_top_testbench
|
|
|
@ -1,41 +0,0 @@
|
||||||
#!/bin/bash
|
|
||||||
# Example of how to run vpr
|
|
||||||
|
|
||||||
# Set variables
|
|
||||||
# For FPGA-Verilog ONLY
|
|
||||||
benchmark="test_modes"
|
|
||||||
OpenFPGA_path="OPENFPGAPATHKEYWORD"
|
|
||||||
verilog_output_dirname="${benchmark}_Verilog"
|
|
||||||
verilog_output_dirpath="$PWD"
|
|
||||||
tech_file="${OpenFPGA_path}/fpga_flow/tech/PTM_45nm/45nm.xml"
|
|
||||||
# VPR critical inputs
|
|
||||||
template_arch_xml_file="${OpenFPGA_path}/fpga_flow/arch/template/k6_N10_sram_chain_HC_template.xml"
|
|
||||||
arch_xml_file="${OpenFPGA_path}/fpga_flow/arch/generated/k6_N10_sram_chain_HC.xml"
|
|
||||||
blif_file="${OpenFPGA_path}/fpga_flow/benchmarks/Blif/Test_Modes/$benchmark.blif"
|
|
||||||
act_file="${OpenFPGA_path}/fpga_flow/benchmarks/Blif/Test_Modes/$benchmark.act "
|
|
||||||
verilog_reference="${OpenFPGA_path}/fpga_flow/benchmarks/Verilog/Test_Modes/$benchmark.v"
|
|
||||||
vpr_route_chan_width="300"
|
|
||||||
fpga_flow_script="${OpenFPGA_path}/fpga_flow/scripts"
|
|
||||||
ff_path="$vpr_path/VerilogNetlists/ff.v"
|
|
||||||
new_ff_path="$verilog_output_dirpath/$verilog_output_dirname/SRC/ff.v"
|
|
||||||
ff_keyword="GENERATED_DIR_KEYWORD"
|
|
||||||
ff_include_path="$verilog_output_dirpath/$verilog_output_dirname"
|
|
||||||
arch_ff_keyword="FFPATHKEYWORD"
|
|
||||||
|
|
||||||
# Remove previous designs
|
|
||||||
rm -rf $verilog_output_dirpath/$verilog_output_dirname
|
|
||||||
|
|
||||||
mkdir -p ${OpenFPGA_path}/fpga_flow/arch/generated
|
|
||||||
|
|
||||||
cd $fpga_flow_scripts
|
|
||||||
perl rewrite_path_in_file.pl -i $template_arch_xml_file -o $arch_xml_file
|
|
||||||
perl rewrite_path_in_file.pl -i $arch_xml_file -k $arch_ff_keyword $new_ff_path
|
|
||||||
cd -
|
|
||||||
|
|
||||||
# Run VPR
|
|
||||||
echo "./vpr $arch_xml_file $blif_file --full_stats --nodisp --activity_file $act_file --fpga_verilog --fpga_verilog_dir $verilog_output_dirpath/$verilog_output_dirname --fpga_x2p_rename_illegal_port --fpga_bitstream_generator --fpga_verilog_print_top_testbench --fpga_verilog_print_input_blif_testbench --fpga_verilog_include_timing --fpga_verilog_include_signal_init --fpga_verilog_print_formal_verification_top_netlist --fpga_verilog_print_autocheck_top_testbench $verilog_reference --fpga_verilog_print_user_defined_template --route_chan_width $vpr_route_chan_width --fpga_verilog_include_icarus_simulator --fpga_verilog_print_report_timing_tcl --power --tech_properties $tech_file --fpga_verilog_print_sdc_pnr --fpga_verilog_print_sdc_analysis --fpga_x2p_compact_routing_hierarchy #--fpga_verilog_explicit_mapping"
|
|
||||||
./vpr $arch_xml_file $blif_file --full_stats --nodisp --activity_file $act_file --fpga_verilog --fpga_verilog_dir $verilog_output_dirpath/$verilog_output_dirname --fpga_x2p_rename_illegal_port --fpga_bitstream_generator --fpga_verilog_print_top_testbench --fpga_verilog_print_input_blif_testbench --fpga_verilog_include_timing --fpga_verilog_include_signal_init --fpga_verilog_print_formal_verification_top_netlist --fpga_verilog_print_autocheck_top_testbench $verilog_reference --fpga_verilog_print_user_defined_template --route_chan_width $vpr_route_chan_width --fpga_verilog_include_icarus_simulator --fpga_verilog_print_report_timing_tcl --power --tech_properties $tech_file --fpga_verilog_print_sdc_pnr --fpga_verilog_print_sdc_analysis --fpga_x2p_compact_routing_hierarchy #--fpga_verilog_explicit_mapping
|
|
||||||
|
|
||||||
cd $fpga_flow_scripts
|
|
||||||
perl rewrite_path_in_file.pl -i $ff_path -o $new_ff_path -k $ff_keyword $ff_include_path
|
|
||||||
cd -
|
|
Loading…
Reference in New Issue