* Updated Vivado Project

* Synthesis fixes in RTPS Handler
This commit is contained in:
Greek 2020-05-27 17:55:54 +02:00
parent 052a4054b9
commit 41f41b6530
2 changed files with 19 additions and 31 deletions

View File

@ -218,7 +218,7 @@ architecture arch of rtps_handler is
-- 'endianness' argument. -- 'endianness' argument.
function endian_swap( endianness : std_logic; function endian_swap( endianness : std_logic;
data :std_logic_vector) return std_logic_vector is data :std_logic_vector) return std_logic_vector is
variable ret : std_logic_vector(data'reverse_range); variable ret : std_logic_vector(data'range);
begin begin
-- Assert that Data Signal is Byte aligned -- Assert that Data Signal is Byte aligned
assert (data'length mod 8 = 0) severity failure; assert (data'length mod 8 = 0) severity failure;
@ -226,7 +226,7 @@ architecture arch of rtps_handler is
if (endianness = '1') then if (endianness = '1') then
-- Reverse byte Order -- Reverse byte Order
for i in 0 to (data'length/8)-1 loop for i in 0 to (data'length/8)-1 loop
ret(i*8+8-1 downto i*8) := data((3-i)*8+8-1 downto (3-i)*8); ret(i*8+8-1 downto i*8) := data(((data'length/8)-1-i)*8+8-1 downto ((data'length/8)-1-i)*8);
end loop; end loop;
-- Big Endian -- Big Endian
else else
@ -345,7 +345,7 @@ begin
flags_next <= flags; flags_next <= flags;
src_entityid_next <= src_entityid; src_entityid_next <= src_entityid;
user_endpoint_next <= user_endpoint; user_endpoint_next <= user_endpoint;
builtin_endpoint_next <= builtin_endpoint_next; builtin_endpoint_next <= builtin_endpoint;
return_stage_next <= return_stage; return_stage_next <= return_stage;
numlocators_next <= numlocators; numlocators_next <= numlocators;
payload_length_next <= payload_length; payload_length_next <= payload_length;
@ -955,9 +955,9 @@ begin
-- End of Data Header -- End of Data Header
if (read_cnt = data_header_end) then if (read_cnt = data_header_end) then
-- Push Submessage Contents -- Push Submessage Contents
stage_next <= PUSH_PAYLOAD; stage_next <= PUSH_PAYLOAD;
-- Fix alignement -- Fix alignement
align_offset <= data_header_offset_latch; align_offset_next <= data_header_offset_latch;
end if; end if;
end if; end if;
when PUSH_PAYLOAD => when PUSH_PAYLOAD =>
@ -972,9 +972,9 @@ begin
output_sig <= pad_signal(offset_latch, aligned_data_in); output_sig <= pad_signal(offset_latch, aligned_data_in);
wr_sig <= '1'; wr_sig <= '1';
-- Begin parsing of next submessage -- Begin parsing of next submessage
stage_next <= RTPS_SUB_HEADER; stage_next <= RTPS_SUB_HEADER;
-- Fix alignement -- Fix alignement
align_offset <= offset_latch; align_offset_next <= offset_latch;
else else
-- Push Normal (Endianness is not handled here) -- Push Normal (Endianness is not handled here)
output_sig <= aligned_data_in; output_sig <= aligned_data_in;
@ -995,9 +995,9 @@ begin
-- End of Submessage -- End of Submessage
elsif (read_cnt > sub_end) then elsif (read_cnt > sub_end) then
-- Begin parsing of next submessage -- Begin parsing of next submessage
stage_next <= RTPS_SUB_HEADER; stage_next <= RTPS_SUB_HEADER;
-- Fix alignement -- Fix alignement
align_offset <= offset_latch; align_offset_next <= offset_latch;
-- Submessage has still "unknown" Content -- Submessage has still "unknown" Content
else else
stage_next <= SKIP_SUB; stage_next <= SKIP_SUB;
@ -1021,9 +1021,9 @@ begin
-- End of Submessage -- End of Submessage
elsif (read_cnt = sub_end) then elsif (read_cnt = sub_end) then
-- Begin parsing of next submessage -- Begin parsing of next submessage
stage_next <= RTPS_SUB_HEADER; stage_next <= RTPS_SUB_HEADER;
-- Fix alignement -- Fix alignement
align_offset <= offset_latch; align_offset_next <= offset_latch;
end if; end if;
-- Latch Input for alignment purposes -- Latch Input for alignment purposes
align_sig_next <= data_in(23 downto 0); align_sig_next <= data_in(23 downto 0);

View File

@ -60,25 +60,19 @@
<FileSets Version="1" Minor="31"> <FileSets Version="1" Minor="31">
<FileSet Name="sources_1" Type="DesignSrcs" RelSrcDir="$PSRCDIR/sources_1"> <FileSet Name="sources_1" Type="DesignSrcs" RelSrcDir="$PSRCDIR/sources_1">
<Filter Type="Srcs"/> <Filter Type="Srcs"/>
<File Path="$PPRDIR/../src/ip_package.vhd">
<FileInfo SFType="VHDL2008">
<Attr Name="UsedIn" Val="synthesis"/>
<Attr Name="UsedIn" Val="simulation"/>
</FileInfo>
</File>
<File Path="$PPRDIR/../src/math_pkg.vhd"> <File Path="$PPRDIR/../src/math_pkg.vhd">
<FileInfo SFType="VHDL2008"> <FileInfo SFType="VHDL2008">
<Attr Name="UsedIn" Val="synthesis"/> <Attr Name="UsedIn" Val="synthesis"/>
<Attr Name="UsedIn" Val="simulation"/> <Attr Name="UsedIn" Val="simulation"/>
</FileInfo> </FileInfo>
</File> </File>
<File Path="$PPRDIR/../src/single_port_ram.vhd"> <File Path="$PPRDIR/../src/rtps_package.vhd">
<FileInfo SFType="VHDL2008"> <FileInfo SFType="VHDL2008">
<Attr Name="UsedIn" Val="synthesis"/> <Attr Name="UsedIn" Val="synthesis"/>
<Attr Name="UsedIn" Val="simulation"/> <Attr Name="UsedIn" Val="simulation"/>
</FileInfo> </FileInfo>
</File> </File>
<File Path="$PPRDIR/../src/ipv4_in.vhd"> <File Path="$PPRDIR/../src/rtps_handler.vhd">
<FileInfo SFType="VHDL2008"> <FileInfo SFType="VHDL2008">
<Attr Name="UsedIn" Val="synthesis"/> <Attr Name="UsedIn" Val="synthesis"/>
<Attr Name="UsedIn" Val="simulation"/> <Attr Name="UsedIn" Val="simulation"/>
@ -86,9 +80,7 @@
</File> </File>
<Config> <Config>
<Option Name="DesignMode" Val="RTL"/> <Option Name="DesignMode" Val="RTL"/>
<Option Name="TopModule" Val="ipv4_in_handler"/> <Option Name="TopModule" Val="rtps_handler"/>
<Option Name="TopLib" Val="xil_defaultlib"/>
<Option Name="TopArchitecture" Val="with_frag"/>
<Option Name="TopAutoSet" Val="TRUE"/> <Option Name="TopAutoSet" Val="TRUE"/>
</Config> </Config>
</FileSet> </FileSet>
@ -108,9 +100,8 @@
<Filter Type="Srcs"/> <Filter Type="Srcs"/>
<Config> <Config>
<Option Name="DesignMode" Val="RTL"/> <Option Name="DesignMode" Val="RTL"/>
<Option Name="TopModule" Val="ipv4_in_handler"/> <Option Name="TopModule" Val="rtps_handler"/>
<Option Name="TopLib" Val="xil_defaultlib"/> <Option Name="TopLib" Val="xil_defaultlib"/>
<Option Name="TopArchitecture" Val="with_frag"/>
<Option Name="TopAutoSet" Val="TRUE"/> <Option Name="TopAutoSet" Val="TRUE"/>
<Option Name="TransportPathDelay" Val="0"/> <Option Name="TransportPathDelay" Val="0"/>
<Option Name="TransportIntDelay" Val="0"/> <Option Name="TransportIntDelay" Val="0"/>
@ -145,20 +136,16 @@
<Runs Version="1" Minor="10"> <Runs Version="1" Minor="10">
<Run Id="synth_1" Type="Ft3:Synth" SrcSet="sources_1" Part="xc7z020clg484-1" ConstrsSet="constrs_1" Description="Vivado Synthesis Defaults" AutoIncrementalCheckpoint="false" WriteIncrSynthDcp="false" State="current" Dir="$PRUNDIR/synth_1" IncludeInArchive="true"> <Run Id="synth_1" Type="Ft3:Synth" SrcSet="sources_1" Part="xc7z020clg484-1" ConstrsSet="constrs_1" Description="Vivado Synthesis Defaults" AutoIncrementalCheckpoint="false" WriteIncrSynthDcp="false" State="current" Dir="$PRUNDIR/synth_1" IncludeInArchive="true">
<Strategy Version="1" Minor="2"> <Strategy Version="1" Minor="2">
<StratHandle Name="Vivado Synthesis Defaults" Flow="Vivado Synthesis 2018"> <StratHandle Name="Vivado Synthesis Defaults" Flow="Vivado Synthesis 2018"/>
<Desc>Vivado Synthesis Defaults</Desc>
</StratHandle>
<Step Id="synth_design"/> <Step Id="synth_design"/>
</Strategy> </Strategy>
<GeneratedRun Dir="$PRUNDIR" File="gen_run.xml"/> <GeneratedRun Dir="$PRUNDIR" File="gen_run.xml"/>
<ReportStrategy Name="Vivado Synthesis Default Reports" Flow="Vivado Synthesis 2018"/> <ReportStrategy Name="Vivado Synthesis Default Reports" Flow="Vivado Synthesis 2018"/>
<Report Name="ROUTE_DESIGN.REPORT_METHODOLOGY" Enabled="1"/> <Report Name="ROUTE_DESIGN.REPORT_METHODOLOGY" Enabled="1"/>
</Run> </Run>
<Run Id="impl_1" Type="Ft2:EntireDesign" Part="xc7z020clg484-1" ConstrsSet="constrs_1" Description="Default settings for Implementation." AutoIncrementalCheckpoint="false" WriteIncrSynthDcp="false" State="current" SynthRun="synth_1" IncludeInArchive="true" GenFullBitstream="true"> <Run Id="impl_1" Type="Ft2:EntireDesign" Part="xc7z020clg484-1" ConstrsSet="constrs_1" Description="Default settings for Implementation." AutoIncrementalCheckpoint="false" WriteIncrSynthDcp="false" State="current" Dir="$PRUNDIR/impl_1" SynthRun="synth_1" IncludeInArchive="true" GenFullBitstream="true">
<Strategy Version="1" Minor="2"> <Strategy Version="1" Minor="2">
<StratHandle Name="Vivado Implementation Defaults" Flow="Vivado Implementation 2018"> <StratHandle Name="Vivado Implementation Defaults" Flow="Vivado Implementation 2018"/>
<Desc>Default settings for Implementation.</Desc>
</StratHandle>
<Step Id="init_design"/> <Step Id="init_design"/>
<Step Id="opt_design"/> <Step Id="opt_design"/>
<Step Id="power_opt_design"/> <Step Id="power_opt_design"/>
@ -169,6 +156,7 @@
<Step Id="post_route_phys_opt_design"/> <Step Id="post_route_phys_opt_design"/>
<Step Id="write_bitstream"/> <Step Id="write_bitstream"/>
</Strategy> </Strategy>
<GeneratedRun Dir="$PRUNDIR" File="gen_run.xml"/>
<ReportStrategy Name="Vivado Implementation Default Reports" Flow="Vivado Implementation 2018"/> <ReportStrategy Name="Vivado Implementation Default Reports" Flow="Vivado Implementation 2018"/>
<Report Name="ROUTE_DESIGN.REPORT_METHODOLOGY" Enabled="1"/> <Report Name="ROUTE_DESIGN.REPORT_METHODOLOGY" Enabled="1"/>
</Run> </Run>