Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fix/interface fix #314

Merged
merged 13 commits into from
Apr 13, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
29 changes: 29 additions & 0 deletions etc/clang_plugin/plugin_ASTAnalyzer.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -892,6 +892,7 @@ class DataflowHLSPragmaHandler : public HLSPragmaAnalyzer, public HLSPragmaParse
if(!hasModule)
{
ReportError(FD->getLocation(), "Dataflow function has no valid submodule");
return;
}
}
}
Expand Down Expand Up @@ -932,48 +933,55 @@ class CacheHLSPragmaHandler : public HLSPragmaAnalyzer, public HLSPragmaParser
if(bus_size < 32 || bus_size > 1024 || (bus_size & (bus_size - 1)) != 0)
{
ReportError(attr.first.loc, "Invalid cache bus size");
continue;
}
}
else if(iequals(attr.first.id, "ways"))
{
if(std::stoi(attr.second) <= 0)
{
ReportError(attr.first.loc, "Invalid cache way count");
continue;
}
}
else if(iequals(attr.first.id, "line_count"))
{
if(std::stoi(attr.second) <= 0)
{
ReportError(attr.first.loc, "Invalid cache line count");
continue;
}
}
else if(iequals(attr.first.id, "line_size"))
{
if(std::stoi(attr.second) <= 0)
{
ReportError(attr.first.loc, "Invalid cache line size");
continue;
}
}
else if(iequals(attr.first.id, "num_write_outstanding"))
{
if(std::stoi(attr.second) <= 0)
{
ReportError(attr.first.loc, "Invalid number of outstanding write operations");
continue;
}
}
else if(iequals(attr.first.id, "rep_policy"))
{
if(attr.second != "lru" && attr.second != "tree")
{
ReportError(attr.first.loc, "Invalid cache replacement policy");
continue;
}
}
else if(iequals(attr.first.id, "write_policy"))
{
if(attr.second != "wb" && attr.second != "wt")
{
ReportError(attr.first.loc, "Invalid cache write policy");
continue;
}
}
else
Expand All @@ -991,10 +999,12 @@ class CacheHLSPragmaHandler : public HLSPragmaAnalyzer, public HLSPragmaParser
if(iface.find(key_loc_t("cache_line_count", SourceLocation())) == iface.end())
{
ReportError(p.loc, "Missing cache line count attribute");
return;
}
if(iface.find(key_loc_t("cache_line_size", SourceLocation())) == iface.end())
{
ReportError(p.loc, "Missing cache line size attribute");
return;
}
}

Expand All @@ -1008,6 +1018,8 @@ class InterfaceHLSPragmaHandler : public HLSPragmaAnalyzer, public HLSPragmaPars
SourceManager& _SM;
int _parseAction;

static const std::map<std::string, std::string> _ifMapper;

const NamedDecl* getBaseTypeDecl(const QualType& qt) const
{
const clang::Type* ty = qt.getTypePtr();
Expand Down Expand Up @@ -1192,6 +1204,7 @@ class InterfaceHLSPragmaHandler : public HLSPragmaAnalyzer, public HLSPragmaPars
if(isUnsupportedInterface(FD))
{
ReportError(p.loc, "HLS pragma not supported on variadic function declarations");
return;
}
auto portName = p.attrs.find(key_loc_t("port", SourceLocation()));
if(portName == p.attrs.end())
Expand Down Expand Up @@ -1258,6 +1271,15 @@ class InterfaceHLSPragmaHandler : public HLSPragmaAnalyzer, public HLSPragmaPars

const auto argType = parmDecl->getType();
auto& ifaceMode = bundle_attrs.insert(*ifaceModeReq).first->second;
if(_ifMapper.find(ifaceMode) != _ifMapper.end())
{
ifaceMode = _ifMapper.at(ifaceMode);
if(ifaceMode.empty())
{
ReportError(ifaceModeReq->first.loc, "Interface mode not supported.");
return;
}
}
auto& parmTypename = parm_attrs[key_loc_t("typename", SourceLocation())];
auto& parmSizeInBytes = parm_attrs[key_loc_t("size_in_bytes", SourceLocation())];
auto& parmOriginalTypename = parm_attrs[key_loc_t("original_typename", SourceLocation())];
Expand Down Expand Up @@ -1324,6 +1346,7 @@ class InterfaceHLSPragmaHandler : public HLSPragmaAnalyzer, public HLSPragmaPars
ifaceMode != "m_axi" && ifaceMode != "axis")
{
ReportError(ifaceModeReq->first.loc, "Invalid HLS interface mode");
return;
}
}
}
Expand Down Expand Up @@ -1353,6 +1376,7 @@ class InterfaceHLSPragmaHandler : public HLSPragmaAnalyzer, public HLSPragmaPars
(is_channel_if && ifaceMode != "fifo" && ifaceMode != "axis"))
{
ReportError(ifaceModeReq->first.loc, "Invalid HLS interface mode");
return;
}
}
else
Expand All @@ -1373,6 +1397,7 @@ class InterfaceHLSPragmaHandler : public HLSPragmaAnalyzer, public HLSPragmaPars
ifaceMode != "ovalid" && ifaceMode != "acknowledge")
{
ReportError(ifaceModeReq->first.loc, "Invalid HLS interface mode");
return;
}
if((argType->isBuiltinType() || argType->isEnumeralType()) && ifaceMode == "none")
{
Expand All @@ -1388,6 +1413,7 @@ class InterfaceHLSPragmaHandler : public HLSPragmaAnalyzer, public HLSPragmaPars
if(ifaceMode == "array" && parm_attrs.find(key_loc_t("elem_count", SourceLocation())) == parm_attrs.end())
{
ReportError(ifaceModeReq->first.loc, "HLS interface array element count missing");
return;
}

parmTypename = removeSpaces(parmTypename);
Expand Down Expand Up @@ -1503,6 +1529,9 @@ class InterfaceHLSPragmaHandler : public HLSPragmaAnalyzer, public HLSPragmaPars
}
static const char* PragmaKeyword;
};
const std::map<std::string, std::string> InterfaceHLSPragmaHandler::_ifMapper = {
{"ap_fifo", "fifo"}, {"ap_none", "none"}, {"ap_vld", "valid"}, {"ap_ovld", "ovalid"},
{"ap_ack", "acknowledge"}, {"ap_hs", "handshake"}, {"ap_memory", "array"}, {"bram", ""}};
const char* InterfaceHLSPragmaHandler::PragmaKeyword = "interface";

class HLSASTConsumer : public ASTConsumer
Expand Down
44 changes: 29 additions & 15 deletions etc/lib/technology/NC_MEM_IPs.xml
Original file line number Diff line number Diff line change
Expand Up @@ -3058,12 +3058,16 @@ function [n_byte_on_databus*2-1:0] CONV;
input [n_byte_on_databus*2-1:0] po2;
begin
case (po2)
1:CONV=(1&lt;&lt;1)-1;
2:CONV=(1&lt;&lt;2)-1;
4:CONV=(1&lt;&lt;4)-1;
8:CONV=(1&lt;&lt;8)-1;
16:CONV=(1&lt;&lt;16)-1;
32:CONV=(1&lt;&lt;32)-1;
1:CONV=({{n_byte_on_databus*2-1{1&apos;b0}},1&apos;b1}&lt;&lt;1)-1;
2:CONV=({{n_byte_on_databus*2-1{1&apos;b0}},1&apos;b1}&lt;&lt;2)-1;
4:CONV=({{n_byte_on_databus*2-1{1&apos;b0}},1&apos;b1}&lt;&lt;4)-1;
8:CONV=({{n_byte_on_databus*2-1{1&apos;b0}},1&apos;b1}&lt;&lt;8)-1;
16:CONV=({{n_byte_on_databus*2-1{1&apos;b0}},1&apos;b1}&lt;&lt;16)-1;
32:CONV=({{n_byte_on_databus*2-1{1&apos;b0}},1&apos;b1}&lt;&lt;32)-1;
64:CONV=({{n_byte_on_databus*2-1{1&apos;b0}},1&apos;b1}&lt;&lt;64)-1;
128:CONV=({{n_byte_on_databus*2-1{1&apos;b0}},1&apos;b1}&lt;&lt;128)-1;
256:CONV=({{n_byte_on_databus*2-1{1&apos;b0}},1&apos;b1}&lt;&lt;256)-1;
512:CONV=({{n_byte_on_databus*2-1{1&apos;b0}},1&apos;b1}&lt;&lt;512)-1;
default:CONV=-1;
endcase
end
Expand Down Expand Up @@ -3719,12 +3723,16 @@ function [n_byte_on_databus*max_n_writes-1:0] CONV;
input [n_byte_on_databus*max_n_writes-1:0] po2;
begin
case (po2)
1:CONV=(1&lt;&lt;1)-1;
2:CONV=(1&lt;&lt;2)-1;
4:CONV=(1&lt;&lt;4)-1;
8:CONV=(1&lt;&lt;8)-1;
16:CONV=(1&lt;&lt;16)-1;
32:CONV=(1&lt;&lt;32)-1;
1:CONV=({{n_byte_on_databus*2-1{1&apos;b0}},1&apos;b1}&lt;&lt;1)-1;
2:CONV=({{n_byte_on_databus*2-1{1&apos;b0}},1&apos;b1}&lt;&lt;2)-1;
4:CONV=({{n_byte_on_databus*2-1{1&apos;b0}},1&apos;b1}&lt;&lt;4)-1;
8:CONV=({{n_byte_on_databus*2-1{1&apos;b0}},1&apos;b1}&lt;&lt;8)-1;
16:CONV=({{n_byte_on_databus*2-1{1&apos;b0}},1&apos;b1}&lt;&lt;16)-1;
32:CONV=({{n_byte_on_databus*2-1{1&apos;b0}},1&apos;b1}&lt;&lt;32)-1;
64:CONV=({{n_byte_on_databus*2-1{1&apos;b0}},1&apos;b1}&lt;&lt;64)-1;
128:CONV=({{n_byte_on_databus*2-1{1&apos;b0}},1&apos;b1}&lt;&lt;128)-1;
256:CONV=({{n_byte_on_databus*2-1{1&apos;b0}},1&apos;b1}&lt;&lt;256)-1;
512:CONV=({{n_byte_on_databus*2-1{1&apos;b0}},1&apos;b1}&lt;&lt;512)-1;
default:CONV=-1;
endcase
end
Expand Down Expand Up @@ -13405,10 +13413,16 @@ endgenerate"/>
wire [(n_byte_on_databus/2)*8-1:0] dina;
wire [(n_byte_on_databus/2)*8-1:0] dinb;
wire [n_byte_on_databus*8-1:0] din;
wire [n_byte_on_databus/2-1:0] be0;
wire [n_byte_on_databus/2-1:0] be1;
wire [n_byte_on_databus-1:0] beTot;

assign dina = din_value_aggregated_swapped[memory_offset+:(n_byte_on_databus/2)*8];
assign dinb = din_value_aggregated_swapped[2*BRAM_BITSIZE+memory_offset+:(n_byte_on_databus/2)*8];
assign din = {dinb,dina};
assign be0 = be_swapped[n_byte_on_databus_offset+:n_byte_on_databus/2];
assign be1 = be_swapped[n_byte_on_databus+n_byte_on_databus_offset+:n_byte_on_databus/2];
assign beTot = {be1,be0};

generate
if(n_elements == 1)
Expand All @@ -13432,7 +13446,7 @@ begin
.bram_write(bram_write),
.memory_addr_a(memory_addr_a),
.din_value_aggregated(din),
.be({be_swapped[n_byte_on_databus+n_byte_on_databus_offset+:n_byte_on_databus/2],be_swapped[n_byte_on_databus_offset+:n_byte_on_databus/2]}),
.be(beTot),
.dout_a(dout_a));
end
else
Expand All @@ -13458,8 +13472,8 @@ begin
.memory_addr_b(memory_addr_a[2*BITSIZE_memory_addr_a-1:BITSIZE_memory_addr_a]),
.din_value_aggregated_a(dina),
.din_value_aggregated_b(dinb),
.be_a(be_swapped[n_byte_on_databus_offset+:n_byte_on_databus/2]),
.be_b(be_swapped[n_byte_on_databus+n_byte_on_databus_offset+:n_byte_on_databus/2]),
.be_a(be0),
.be_b(be1),
.dout_a(dout_a[BRAM_BITSIZE-1:0]),
.dout_b(dout_a[2*BRAM_BITSIZE-1:BRAM_BITSIZE])
);
Expand Down
5 changes: 2 additions & 3 deletions etc/lib/technology/NC_STD_IPs.xml
Original file line number Diff line number Diff line change
Expand Up @@ -3035,8 +3035,7 @@ generate
end
if(done_port &amp; ~ack_check_next)
begin
$display(&quot;Acknowledge signal never asserted on interface %0d.&quot;, index);
$finish;
$display(&quot;WARNING: Acknowledge signal never asserted on interface %0d.&quot;, index);
end
end
end
Expand Down Expand Up @@ -6001,4 +6000,4 @@ generate if (VALUE_PARAMETER != 0) assign out1[VALUE_PARAMETER-1:0] = 0; endgene
</circuit>
</cell>
</library>
</technology>
</technology>
3 changes: 2 additions & 1 deletion etc/libbambu/ac_types/include/ac_channel.h
Original file line number Diff line number Diff line change
Expand Up @@ -677,7 +677,8 @@ class ac_channel
__FORCE_INLINE bool nb_read(T& t)
{
bool res;
t = _read(res);
T temp = _read(res);
t = res ? temp : t;
return res;
}

Expand Down
10 changes: 7 additions & 3 deletions etc/libbambu/libmdpi/include/mdpi/mdpi_driver.h
Original file line number Diff line number Diff line change
Expand Up @@ -132,8 +132,12 @@ class channel_interface : public interface
{
if(!_read_size())
{
if_error("Read on empty channel.\n");
return IF_EMPTY;
if(shift)
{
if_error("Read on empty channel.\n");
return IF_EMPTY;
}
return 0;
}
if(shift)
{
Expand Down Expand Up @@ -188,4 +192,4 @@ void __m_interface_channel(uint8_t id, ac_channel<T>& chan, unsigned int max_siz
void __m_interface_set(uint8_t id, interface* if_manager);
#endif

#endif // __MDPI_DRIVER_H
#endif // __MDPI_DRIVER_H
14 changes: 2 additions & 12 deletions etc/libbambu/libmdpi/mdpi.c
Original file line number Diff line number Diff line change
Expand Up @@ -149,12 +149,7 @@ int m_read(uint8_t id, svLogicVecVal* data, uint16_t bitsize, ptr_t addr, uint8_
retval = __m_ipc_operation.payload.interface.info;
debug("Interface %u read state -> %d.\n", id, retval);

if(retval < 0)
{
error("Read operation error on interface %u: %u.\n", id, retval);
abort();
}
else if(__m_ipc_operation.payload.interface.id == id)
if(__m_ipc_operation.payload.interface.id == id)
{
uint16_t i, size = bitsize / 8 + ((bitsize % 8) != 0);
#pragma unroll(4)
Expand Down Expand Up @@ -221,12 +216,7 @@ int m_write(uint8_t id, CONSTARG svLogicVecVal* data, uint16_t bitsize, ptr_t ad
retval = __m_ipc_operation.payload.interface.info;
debug("Interface %u write state -> %d.\n", id, retval);

if(retval < 0)
{
error("Write operation error on interface %u: %u.\n", id, retval);
abort();
}
else if(__m_ipc_operation.payload.interface.id == MDPI_IF_IDX_EMPTY)
if(__m_ipc_operation.payload.interface.id == MDPI_IF_IDX_EMPTY)
{
debug("Fake pipelined write operation on interface %u.\n", id);
}
Expand Down
8 changes: 6 additions & 2 deletions etc/libbambu/libmdpi/mdpi_driver.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -406,8 +406,12 @@ class fifo_interface : public interface
assert(bitsize == _bitsize && "Bitsize mismatch");
if(_base == _end)
{
if_error("Read on empty FIFO.\n");
return IF_EMPTY;
if(shift)
{
if_error("Read on empty FIFO.\n");
return IF_EMPTY;
}
return 0;
}
if(shift)
{
Expand Down
2 changes: 1 addition & 1 deletion examples/crypto_designs/multi-keccak/configure.ac
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,6 @@ m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES([yes])])
LT_INIT([disable-shared])
AC_PROG_CC
AC_PROG_INSTALL
CFLAGS=' -O3'
CFLAGS=' -O3 --compiler=I386_GCC49'
CC=tree-panda-gcc
AC_OUTPUT(Makefile include/Makefile src/Makefile src/chi/Makefile src/iota/Makefile src/pi/Makefile src/rho/Makefile src/theta/Makefile)
2 changes: 1 addition & 1 deletion examples/crypto_designs/multi.sh
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@ return_value=$?
if test $return_value != 0; then
exit $return_value
fi
timeout 2h bambu --simulator=MODELSIM --use-raw --top-fname=keccak_coproc --channels-type=MEM_ACC_11 --device-name=LFE335EA8FN484C src/keccak -I./include --simulate --generate-tb=$root_dir/multi-keccak/tb_keccak.c --print-dot "$@"
timeout 2h bambu --simulator=MODELSIM --use-raw --top-fname=keccak_coproc --channels-type=MEM_ACC_11 --compiler=I386_GCC49 --device-name=LFE335EA8FN484C src/keccak -I./include --simulate --generate-tb=$root_dir/multi-keccak/tb_keccak.c --print-dot "$@"
return_value=$?
if test $return_value != 0; then
exit $return_value
Expand Down
2 changes: 1 addition & 1 deletion examples/panda_bench_altera.sh
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
#!/bin/bash
script_dir="$(dirname $(readlink -e $0))"
BATCH_ARGS=("--evaluation")
BATCH_ARGS=("--evaluation" "--compiler=I386_GCC49")
OUT_SUFFIX="pb_altera"

python3 $script_dir/../etc/scripts/test_panda.py --tool=bambu \
Expand Down
8 changes: 4 additions & 4 deletions examples/panda_bench_hw_list
Original file line number Diff line number Diff line change
@@ -1,11 +1,11 @@
--configuration-name=breakout breakout/main.c --top-fname=main --compiler=I386_CLANG11 -Os --device-name=xc7a100t-1csg324-VVD --backend-sdc-extensions=BENCHMARKS_ROOT/breakout/Nexys4_Master.sdc --clock-period=10 breakout/constraints_STD.xml breakout/IPs.xml --C-no-parse=BENCHMARKS_ROOT/breakout/plot.c,BENCHMARKS_ROOT/breakout/sevensegments_ctrl.c,BENCHMARKS_ROOT/breakout/btn_ctrl.c,BENCHMARKS_ROOT/breakout/get_ticks.c --file-input-data=BENCHMARKS_ROOT/breakout/plot.v,BENCHMARKS_ROOT/breakout/sevensegments_ctrl.v,BENCHMARKS_ROOT/breakout/btn_ctrl.v,BENCHMARKS_ROOT/breakout/get_ticks.v --speculative-sdc-scheduling --enable-function-proxy

--configuration-name=led_example led_example/led_example.c --top-fname=led_example -O3 --device-name=xc7a100t-1csg324-VVD --backend-sdc-extensions=BENCHMARKS_ROOT/led_example/Nexys4_Master.sdc --clock-period=10 led_example/constraints_STD.xml led_example/IPs.xml --C-no-parse=BENCHMARKS_ROOT/led_example/sw_ctrl.c,BENCHMARKS_ROOT/led_example/leds_ctrl.c,BENCHMARKS_ROOT/led_example/btn_ctrl.c,BENCHMARKS_ROOT/led_example/sevensegments_ctrl.c --file-input-data=BENCHMARKS_ROOT/led_example/leds_ctrl.v,BENCHMARKS_ROOT/led_example/sw_ctrl.v,BENCHMARKS_ROOT/led_example/btn_ctrl.v,BENCHMARKS_ROOT/led_example/sevensegments_ctrl.v --enable-function-proxy
--configuration-name=led_example led_example/led_example.c --top-fname=led_example -O3 --device-name=xc7a100t-1csg324-VVD --backend-sdc-extensions=BENCHMARKS_ROOT/led_example/Nexys4_Master.sdc --clock-period=10 led_example/constraints_STD.xml led_example/IPs.xml --C-no-parse=BENCHMARKS_ROOT/led_example/sw_ctrl.c,BENCHMARKS_ROOT/led_example/leds_ctrl.c,BENCHMARKS_ROOT/led_example/btn_ctrl.c,BENCHMARKS_ROOT/led_example/sevensegments_ctrl.c --file-input-data=BENCHMARKS_ROOT/led_example/leds_ctrl.v,BENCHMARKS_ROOT/led_example/sw_ctrl.v,BENCHMARKS_ROOT/led_example/btn_ctrl.v,BENCHMARKS_ROOT/led_example/sevensegments_ctrl.v --enable-function-proxy --compiler=I386_GCC49

--configuration-name=pong pong/main.c --top-fname=main --compiler=I386_CLANG11 -Os --device-name=xc7a100t-1csg324-VVD --backend-sdc-extensions=BENCHMARKS_ROOT/pong/Nexys4_Master.sdc --clock-period=10 pong/constraints_STD.xml pong/IPs.xml --C-no-parse=BENCHMARKS_ROOT/pong/plot.c,BENCHMARKS_ROOT/pong/sevensegments_ctrl.c,BENCHMARKS_ROOT/pong/btn_ctrl.c,BENCHMARKS_ROOT/pong/get_ticks.c --file-input-data=BENCHMARKS_ROOT/pong/plot.v,BENCHMARKS_ROOT/pong/sevensegments_ctrl.v,BENCHMARKS_ROOT/pong/btn_ctrl.v,BENCHMARKS_ROOT/pong/get_ticks.v --speculative-sdc-scheduling --enable-function-proxy

--configuration-name=taste taste/InterfaceView.aadl --top-fname=first_function,second_function
--configuration-name=taste taste/InterfaceView.aadl --top-fname=first_function,second_function --compiler=I386_GCC49

--configuration-name=VGA VGA/delay.c VGA/vgatest.c --top-fname=main --clock-period=20 -O3 --target-file=BENCHMARKS_ROOT/VGA/DE1-characterization-file.xml --backend-script-extensions=BENCHMARKS_ROOT/VGA/DE1_pin_assignments.qsf --backend-sdc-extensions=BENCHMARKS_ROOT/VGA/DE1_design.sdc VGA/constraints_STD.xml VGA/PLOT_IPs.xml --C-no-parse=BENCHMARKS_ROOT/VGA/plot.c,BENCHMARKS_ROOT/VGA/leds_ctrl.c -DC_SIMULATION --file-input-data=BENCHMARKS_ROOT/VGA/leds_ctrl.v,BENCHMARKS_ROOT/VGA/plot.v --enable-function-proxy
--configuration-name=VGA VGA/delay.c VGA/vgatest.c --top-fname=main --clock-period=20 -O3 --target-file=BENCHMARKS_ROOT/VGA/DE1-characterization-file.xml --backend-script-extensions=BENCHMARKS_ROOT/VGA/DE1_pin_assignments.qsf --backend-sdc-extensions=BENCHMARKS_ROOT/VGA/DE1_design.sdc VGA/constraints_STD.xml VGA/PLOT_IPs.xml --C-no-parse=BENCHMARKS_ROOT/VGA/plot.c,BENCHMARKS_ROOT/VGA/leds_ctrl.c -DC_SIMULATION --file-input-data=BENCHMARKS_ROOT/VGA/leds_ctrl.v,BENCHMARKS_ROOT/VGA/plot.v --enable-function-proxy --compiler=I386_GCC49

--configuration-name=VGA_Nexys4 VGA_Nexys4/vgatest.c --top-fname=main --device-name=xc7a100t-1csg324-VVD --clock-period=10 -O3 --backend-sdc-extensions=BENCHMARKS_ROOT/VGA_Nexys4/Nexys4_Master.sdc VGA_Nexys4/constraints_STD.xml VGA_Nexys4/IPs.xml --C-no-parse=BENCHMARKS_ROOT/VGA_Nexys4/plot.c,BENCHMARKS_ROOT/VGA_Nexys4/leds_ctrl.c,BENCHMARKS_ROOT/VGA_Nexys4/btn_ctrl.c,BENCHMARKS_ROOT/VGA_Nexys4/sw_ctrl.c,BENCHMARKS_ROOT/VGA_Nexys4/delay.c --file-input-data=BENCHMARKS_ROOT/VGA_Nexys4/plot.v,BENCHMARKS_ROOT/VGA_Nexys4/leds_ctrl.v,BENCHMARKS_ROOT/VGA_Nexys4/btn_ctrl.v,BENCHMARKS_ROOT/VGA_Nexys4/sw_ctrl.v,BENCHMARKS_ROOT/VGA_Nexys4/delay.v -fwhole-program --speculative-sdc-scheduling --enable-function-proxy
--configuration-name=VGA_Nexys4 VGA_Nexys4/vgatest.c --top-fname=main --device-name=xc7a100t-1csg324-VVD --clock-period=10 -O3 --backend-sdc-extensions=BENCHMARKS_ROOT/VGA_Nexys4/Nexys4_Master.sdc VGA_Nexys4/constraints_STD.xml VGA_Nexys4/IPs.xml --C-no-parse=BENCHMARKS_ROOT/VGA_Nexys4/plot.c,BENCHMARKS_ROOT/VGA_Nexys4/leds_ctrl.c,BENCHMARKS_ROOT/VGA_Nexys4/btn_ctrl.c,BENCHMARKS_ROOT/VGA_Nexys4/sw_ctrl.c,BENCHMARKS_ROOT/VGA_Nexys4/delay.c --file-input-data=BENCHMARKS_ROOT/VGA_Nexys4/plot.v,BENCHMARKS_ROOT/VGA_Nexys4/leds_ctrl.v,BENCHMARKS_ROOT/VGA_Nexys4/btn_ctrl.v,BENCHMARKS_ROOT/VGA_Nexys4/sw_ctrl.v,BENCHMARKS_ROOT/VGA_Nexys4/delay.v -fwhole-program --speculative-sdc-scheduling --enable-function-proxy --compiler=I386_GCC49
2 changes: 1 addition & 1 deletion examples/panda_bench_lattice.sh
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
#!/bin/bash
script_dir="$(dirname $(readlink -e $0))"
BATCH_ARGS=("--evaluation=CYCLES")
BATCH_ARGS=("--evaluation=CYCLES" "--compiler=I386_GCC49")
OUT_SUFFIX="pb_lattice"

python3 $script_dir/../etc/scripts/test_panda.py --tool=bambu \
Expand Down
2 changes: 1 addition & 1 deletion examples/panda_bench_nanoxplore.sh
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
#!/bin/bash
script_dir="$(dirname $(readlink -e $0))"
BATCH_ARGS=("--clock-period=20" "--evaluation")
BATCH_ARGS=("--clock-period=20" "--evaluation" "--compiler=I386_GCC49")
OUT_SUFFIX="pb_nanoxplore"

python3 $script_dir/../etc/scripts/test_panda.py --tool=bambu \
Expand Down
2 changes: 1 addition & 1 deletion examples/panda_bench_sim.sh
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
#!/bin/bash
script_dir="$(dirname $(readlink -e $0))"
BATCH_ARGS=("--simulate")
BATCH_ARGS=("--simulate" "--compiler=I386_GCC49")
OUT_SUFFIX="pb_sim"

python3 $script_dir/../etc/scripts/test_panda.py --tool=bambu \
Expand Down
Loading
Loading