From 77faa3273bbdfb3a567ba814639cf6ece1f52e7f Mon Sep 17 00:00:00 2001 From: Reinier van der Walle <walle@astron.nl> Date: Tue, 21 Sep 2021 18:10:28 +0200 Subject: [PATCH] added 27b complex mult for e2sg --- .../altmult_complex_1910/compile_ip.tcl | 4 + .../complex_mult/compile_ip.tcl | 7 +- .../ip_arria10_e2sg/complex_mult/hdllib.cfg | 2 + .../ip_arria10_e2sg_complex_mult_27b.ip | 751 ++++++++++++++++++ .../technology/mult/tech_complex_mult.vhd | 24 +- 5 files changed, 773 insertions(+), 15 deletions(-) create mode 100644 libraries/technology/ip_arria10_e2sg/complex_mult/ip_arria10_e2sg_complex_mult_27b.ip diff --git a/libraries/technology/ip_arria10_e2sg/altera_libraries/altmult_complex_1910/compile_ip.tcl b/libraries/technology/ip_arria10_e2sg/altera_libraries/altmult_complex_1910/compile_ip.tcl index 0864beac27..39828d81ea 100644 --- a/libraries/technology/ip_arria10_e2sg/altera_libraries/altmult_complex_1910/compile_ip.tcl +++ b/libraries/technology/ip_arria10_e2sg/altera_libraries/altmult_complex_1910/compile_ip.tcl @@ -34,3 +34,7 @@ set IP_DIR "$env(RADIOHDL_BUILD_DIR)/$env(BUILDSET)/qsys-generate/ip_arria10_e vmap altmult_complex_1910 ./work/ vcom "$IP_DIR/../altmult_complex_1910/sim/ip_arria10_e2sg_complex_mult_altmult_complex_1910_cumkcni.vhd" -work altmult_complex_1910 + +set IP_DIR "$env(RADIOHDL_BUILD_DIR)/$env(BUILDSET)/qsys-generate/ip_arria10_e2sg_complex_mult_27b/sim" + + vcom "$IP_DIR/../altmult_complex_1910/sim/ip_arria10_e2sg_complex_mult_27b_altmult_complex_1910_ecifj3y.vhd" -work altmult_complex_1910 diff --git a/libraries/technology/ip_arria10_e2sg/complex_mult/compile_ip.tcl b/libraries/technology/ip_arria10_e2sg/complex_mult/compile_ip.tcl index 24d21235f9..cc565f44e8 100644 --- a/libraries/technology/ip_arria10_e2sg/complex_mult/compile_ip.tcl +++ b/libraries/technology/ip_arria10_e2sg/complex_mult/compile_ip.tcl @@ -30,7 +30,8 @@ set IP_DIR "$env(RADIOHDL_BUILD_DIR)/$env(BUILDSET)/qsys-generate/ip_arria10_e2sg_complex_mult/sim" -vmap altmult_complex_1910 ./work/ - vcom "$IP_DIR/../altmult_complex_1910/sim/ip_arria10_e2sg_complex_mult_altmult_complex_1910_cumkcni.vhd" -work altmult_complex_1910 - vcom "$IP_DIR/ip_arria10_e2sg_complex_mult.vhd" -work altmult_complex_1910 + vcom "$IP_DIR/ip_arria10_e2sg_complex_mult.vhd" + +set IP_DIR "$env(RADIOHDL_BUILD_DIR)/$env(BUILDSET)/qsys-generate/ip_arria10_e2sg_complex_mult_27b/sim" + vcom "$IP_DIR/ip_arria10_e2sg_complex_mult_27b.vhd" diff --git a/libraries/technology/ip_arria10_e2sg/complex_mult/hdllib.cfg b/libraries/technology/ip_arria10_e2sg/complex_mult/hdllib.cfg index a7582656cb..c2162613d9 100644 --- a/libraries/technology/ip_arria10_e2sg/complex_mult/hdllib.cfg +++ b/libraries/technology/ip_arria10_e2sg/complex_mult/hdllib.cfg @@ -17,8 +17,10 @@ modelsim_compile_ip_files = [quartus_project_file] quartus_qip_files = $RADIOHDL_BUILD_DIR/<buildset_name>/qsys-generate/ip_arria10_e2sg_complex_mult/ip_arria10_e2sg_complex_mult.qip + $RADIOHDL_BUILD_DIR/<buildset_name>/qsys-generate/ip_arria10_e2sg_complex_mult_27b/ip_arria10_e2sg_complex_mult_27b.qip [generate_ip_libs] qsys-generate_ip_files = ip_arria10_e2sg_complex_mult.ip + ip_arria10_e2sg_complex_mult_27b.ip diff --git a/libraries/technology/ip_arria10_e2sg/complex_mult/ip_arria10_e2sg_complex_mult_27b.ip b/libraries/technology/ip_arria10_e2sg/complex_mult/ip_arria10_e2sg_complex_mult_27b.ip new file mode 100644 index 0000000000..cdd533123b --- /dev/null +++ b/libraries/technology/ip_arria10_e2sg/complex_mult/ip_arria10_e2sg_complex_mult_27b.ip @@ -0,0 +1,751 @@ +<?xml version="1.0" ?> +<ipxact:component xmlns:altera="http://www.altera.com/XMLSchema/IPXact2014/extensions" xmlns:ipxact="http://www.accellera.org/XMLSchema/IPXACT/1685-2014"> + <ipxact:vendor>Intel Corporation</ipxact:vendor> + <ipxact:library>ip_arria10_e2sg_complex_mult_27b</ipxact:library> + <ipxact:name>altmult_complex_0</ipxact:name> + <ipxact:version>19.1.0</ipxact:version> + <ipxact:busInterfaces> + <ipxact:busInterface> + <ipxact:name>dataa_real</ipxact:name> + <ipxact:busType vendor="altera" library="altera" name="conduit" version="19.4"></ipxact:busType> + <ipxact:abstractionTypes> + <ipxact:abstractionType> + <ipxact:abstractionRef vendor="altera" library="altera" name="conduit" version="19.4"></ipxact:abstractionRef> + <ipxact:portMaps> + <ipxact:portMap> + <ipxact:logicalPort> + <ipxact:name>dataa_real</ipxact:name> + </ipxact:logicalPort> + <ipxact:physicalPort> + <ipxact:name>dataa_real</ipxact:name> + </ipxact:physicalPort> + </ipxact:portMap> + </ipxact:portMaps> + </ipxact:abstractionType> + </ipxact:abstractionTypes> + <ipxact:slave></ipxact:slave> + <ipxact:parameters> + <ipxact:parameter parameterId="associatedClock" type="string"> + <ipxact:name>associatedClock</ipxact:name> + <ipxact:displayName>associatedClock</ipxact:displayName> + <ipxact:value></ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="associatedReset" type="string"> + <ipxact:name>associatedReset</ipxact:name> + <ipxact:displayName>associatedReset</ipxact:displayName> + <ipxact:value></ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="prSafe" type="bit"> + <ipxact:name>prSafe</ipxact:name> + <ipxact:displayName>Partial Reconfiguration Safe</ipxact:displayName> + <ipxact:value>false</ipxact:value> + </ipxact:parameter> + </ipxact:parameters> + <ipxact:vendorExtensions> + <altera:altera_assignments> + <ipxact:parameters> + <ipxact:parameter parameterId="ui.blockdiagram.direction" type="string"> + <ipxact:name>ui.blockdiagram.direction</ipxact:name> + <ipxact:value>input</ipxact:value> + </ipxact:parameter> + </ipxact:parameters> + </altera:altera_assignments> + </ipxact:vendorExtensions> + </ipxact:busInterface> + <ipxact:busInterface> + <ipxact:name>dataa_imag</ipxact:name> + <ipxact:busType vendor="altera" library="altera" name="conduit" version="19.4"></ipxact:busType> + <ipxact:abstractionTypes> + <ipxact:abstractionType> + <ipxact:abstractionRef vendor="altera" library="altera" name="conduit" version="19.4"></ipxact:abstractionRef> + <ipxact:portMaps> + <ipxact:portMap> + <ipxact:logicalPort> + <ipxact:name>dataa_imag</ipxact:name> + </ipxact:logicalPort> + <ipxact:physicalPort> + <ipxact:name>dataa_imag</ipxact:name> + </ipxact:physicalPort> + </ipxact:portMap> + </ipxact:portMaps> + </ipxact:abstractionType> + </ipxact:abstractionTypes> + <ipxact:slave></ipxact:slave> + <ipxact:parameters> + <ipxact:parameter parameterId="associatedClock" type="string"> + <ipxact:name>associatedClock</ipxact:name> + <ipxact:displayName>associatedClock</ipxact:displayName> + <ipxact:value></ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="associatedReset" type="string"> + <ipxact:name>associatedReset</ipxact:name> + <ipxact:displayName>associatedReset</ipxact:displayName> + <ipxact:value></ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="prSafe" type="bit"> + <ipxact:name>prSafe</ipxact:name> + <ipxact:displayName>Partial Reconfiguration Safe</ipxact:displayName> + <ipxact:value>false</ipxact:value> + </ipxact:parameter> + </ipxact:parameters> + <ipxact:vendorExtensions> + <altera:altera_assignments> + <ipxact:parameters> + <ipxact:parameter parameterId="ui.blockdiagram.direction" type="string"> + <ipxact:name>ui.blockdiagram.direction</ipxact:name> + <ipxact:value>input</ipxact:value> + </ipxact:parameter> + </ipxact:parameters> + </altera:altera_assignments> + </ipxact:vendorExtensions> + </ipxact:busInterface> + <ipxact:busInterface> + <ipxact:name>datab_real</ipxact:name> + <ipxact:busType vendor="altera" library="altera" name="conduit" version="19.4"></ipxact:busType> + <ipxact:abstractionTypes> + <ipxact:abstractionType> + <ipxact:abstractionRef vendor="altera" library="altera" name="conduit" version="19.4"></ipxact:abstractionRef> + <ipxact:portMaps> + <ipxact:portMap> + <ipxact:logicalPort> + <ipxact:name>datab_real</ipxact:name> + </ipxact:logicalPort> + <ipxact:physicalPort> + <ipxact:name>datab_real</ipxact:name> + </ipxact:physicalPort> + </ipxact:portMap> + </ipxact:portMaps> + </ipxact:abstractionType> + </ipxact:abstractionTypes> + <ipxact:slave></ipxact:slave> + <ipxact:parameters> + <ipxact:parameter parameterId="associatedClock" type="string"> + <ipxact:name>associatedClock</ipxact:name> + <ipxact:displayName>associatedClock</ipxact:displayName> + <ipxact:value></ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="associatedReset" type="string"> + <ipxact:name>associatedReset</ipxact:name> + <ipxact:displayName>associatedReset</ipxact:displayName> + <ipxact:value></ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="prSafe" type="bit"> + <ipxact:name>prSafe</ipxact:name> + <ipxact:displayName>Partial Reconfiguration Safe</ipxact:displayName> + <ipxact:value>false</ipxact:value> + </ipxact:parameter> + </ipxact:parameters> + <ipxact:vendorExtensions> + <altera:altera_assignments> + <ipxact:parameters> + <ipxact:parameter parameterId="ui.blockdiagram.direction" type="string"> + <ipxact:name>ui.blockdiagram.direction</ipxact:name> + <ipxact:value>input</ipxact:value> + </ipxact:parameter> + </ipxact:parameters> + </altera:altera_assignments> + </ipxact:vendorExtensions> + </ipxact:busInterface> + <ipxact:busInterface> + <ipxact:name>datab_imag</ipxact:name> + <ipxact:busType vendor="altera" library="altera" name="conduit" version="19.4"></ipxact:busType> + <ipxact:abstractionTypes> + <ipxact:abstractionType> + <ipxact:abstractionRef vendor="altera" library="altera" name="conduit" version="19.4"></ipxact:abstractionRef> + <ipxact:portMaps> + <ipxact:portMap> + <ipxact:logicalPort> + <ipxact:name>datab_imag</ipxact:name> + </ipxact:logicalPort> + <ipxact:physicalPort> + <ipxact:name>datab_imag</ipxact:name> + </ipxact:physicalPort> + </ipxact:portMap> + </ipxact:portMaps> + </ipxact:abstractionType> + </ipxact:abstractionTypes> + <ipxact:slave></ipxact:slave> + <ipxact:parameters> + <ipxact:parameter parameterId="associatedClock" type="string"> + <ipxact:name>associatedClock</ipxact:name> + <ipxact:displayName>associatedClock</ipxact:displayName> + <ipxact:value></ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="associatedReset" type="string"> + <ipxact:name>associatedReset</ipxact:name> + <ipxact:displayName>associatedReset</ipxact:displayName> + <ipxact:value></ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="prSafe" type="bit"> + <ipxact:name>prSafe</ipxact:name> + <ipxact:displayName>Partial Reconfiguration Safe</ipxact:displayName> + <ipxact:value>false</ipxact:value> + </ipxact:parameter> + </ipxact:parameters> + <ipxact:vendorExtensions> + <altera:altera_assignments> + <ipxact:parameters> + <ipxact:parameter parameterId="ui.blockdiagram.direction" type="string"> + <ipxact:name>ui.blockdiagram.direction</ipxact:name> + <ipxact:value>input</ipxact:value> + </ipxact:parameter> + </ipxact:parameters> + </altera:altera_assignments> + </ipxact:vendorExtensions> + </ipxact:busInterface> + <ipxact:busInterface> + <ipxact:name>result_real</ipxact:name> + <ipxact:busType vendor="altera" library="altera" name="conduit" version="19.4"></ipxact:busType> + <ipxact:abstractionTypes> + <ipxact:abstractionType> + <ipxact:abstractionRef vendor="altera" library="altera" name="conduit" version="19.4"></ipxact:abstractionRef> + <ipxact:portMaps> + <ipxact:portMap> + <ipxact:logicalPort> + <ipxact:name>result_real</ipxact:name> + </ipxact:logicalPort> + <ipxact:physicalPort> + <ipxact:name>result_real</ipxact:name> + </ipxact:physicalPort> + </ipxact:portMap> + </ipxact:portMaps> + </ipxact:abstractionType> + </ipxact:abstractionTypes> + <ipxact:slave></ipxact:slave> + <ipxact:parameters> + <ipxact:parameter parameterId="associatedClock" type="string"> + <ipxact:name>associatedClock</ipxact:name> + <ipxact:displayName>associatedClock</ipxact:displayName> + <ipxact:value></ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="associatedReset" type="string"> + <ipxact:name>associatedReset</ipxact:name> + <ipxact:displayName>associatedReset</ipxact:displayName> + <ipxact:value></ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="prSafe" type="bit"> + <ipxact:name>prSafe</ipxact:name> + <ipxact:displayName>Partial Reconfiguration Safe</ipxact:displayName> + <ipxact:value>false</ipxact:value> + </ipxact:parameter> + </ipxact:parameters> + <ipxact:vendorExtensions> + <altera:altera_assignments> + <ipxact:parameters> + <ipxact:parameter parameterId="ui.blockdiagram.direction" type="string"> + <ipxact:name>ui.blockdiagram.direction</ipxact:name> + <ipxact:value>output</ipxact:value> + </ipxact:parameter> + </ipxact:parameters> + </altera:altera_assignments> + </ipxact:vendorExtensions> + </ipxact:busInterface> + <ipxact:busInterface> + <ipxact:name>result_imag</ipxact:name> + <ipxact:busType vendor="altera" library="altera" name="conduit" version="19.4"></ipxact:busType> + <ipxact:abstractionTypes> + <ipxact:abstractionType> + <ipxact:abstractionRef vendor="altera" library="altera" name="conduit" version="19.4"></ipxact:abstractionRef> + <ipxact:portMaps> + <ipxact:portMap> + <ipxact:logicalPort> + <ipxact:name>result_imag</ipxact:name> + </ipxact:logicalPort> + <ipxact:physicalPort> + <ipxact:name>result_imag</ipxact:name> + </ipxact:physicalPort> + </ipxact:portMap> + </ipxact:portMaps> + </ipxact:abstractionType> + </ipxact:abstractionTypes> + <ipxact:slave></ipxact:slave> + <ipxact:parameters> + <ipxact:parameter parameterId="associatedClock" type="string"> + <ipxact:name>associatedClock</ipxact:name> + <ipxact:displayName>associatedClock</ipxact:displayName> + <ipxact:value></ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="associatedReset" type="string"> + <ipxact:name>associatedReset</ipxact:name> + <ipxact:displayName>associatedReset</ipxact:displayName> + <ipxact:value></ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="prSafe" type="bit"> + <ipxact:name>prSafe</ipxact:name> + <ipxact:displayName>Partial Reconfiguration Safe</ipxact:displayName> + <ipxact:value>false</ipxact:value> + </ipxact:parameter> + </ipxact:parameters> + <ipxact:vendorExtensions> + <altera:altera_assignments> + <ipxact:parameters> + <ipxact:parameter parameterId="ui.blockdiagram.direction" type="string"> + <ipxact:name>ui.blockdiagram.direction</ipxact:name> + <ipxact:value>output</ipxact:value> + </ipxact:parameter> + </ipxact:parameters> + </altera:altera_assignments> + </ipxact:vendorExtensions> + </ipxact:busInterface> + <ipxact:busInterface> + <ipxact:name>clock</ipxact:name> + <ipxact:busType vendor="altera" library="altera" name="clock" version="19.4"></ipxact:busType> + <ipxact:abstractionTypes> + <ipxact:abstractionType> + <ipxact:abstractionRef vendor="altera" library="altera" name="clock" version="19.4"></ipxact:abstractionRef> + <ipxact:portMaps> + <ipxact:portMap> + <ipxact:logicalPort> + <ipxact:name>clk</ipxact:name> + </ipxact:logicalPort> + <ipxact:physicalPort> + <ipxact:name>clock</ipxact:name> + </ipxact:physicalPort> + </ipxact:portMap> + </ipxact:portMaps> + </ipxact:abstractionType> + </ipxact:abstractionTypes> + <ipxact:slave></ipxact:slave> + <ipxact:parameters> + <ipxact:parameter parameterId="clockRate" type="longint"> + <ipxact:name>clockRate</ipxact:name> + <ipxact:displayName>Clock rate</ipxact:displayName> + <ipxact:value>0</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="externallyDriven" type="bit"> + <ipxact:name>externallyDriven</ipxact:name> + <ipxact:displayName>Externally driven</ipxact:displayName> + <ipxact:value>false</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="ptfSchematicName" type="string"> + <ipxact:name>ptfSchematicName</ipxact:name> + <ipxact:displayName>PTF schematic name</ipxact:displayName> + <ipxact:value></ipxact:value> + </ipxact:parameter> + </ipxact:parameters> + <ipxact:vendorExtensions> + <altera:altera_assignments> + <ipxact:parameters> + <ipxact:parameter parameterId="ui.blockdiagram.direction" type="string"> + <ipxact:name>ui.blockdiagram.direction</ipxact:name> + <ipxact:value>input</ipxact:value> + </ipxact:parameter> + </ipxact:parameters> + </altera:altera_assignments> + </ipxact:vendorExtensions> + </ipxact:busInterface> + <ipxact:busInterface> + <ipxact:name>aclr</ipxact:name> + <ipxact:busType vendor="altera" library="altera" name="reset" version="19.4"></ipxact:busType> + <ipxact:abstractionTypes> + <ipxact:abstractionType> + <ipxact:abstractionRef vendor="altera" library="altera" name="reset" version="19.4"></ipxact:abstractionRef> + <ipxact:portMaps> + <ipxact:portMap> + <ipxact:logicalPort> + <ipxact:name>reset</ipxact:name> + </ipxact:logicalPort> + <ipxact:physicalPort> + <ipxact:name>aclr</ipxact:name> + </ipxact:physicalPort> + </ipxact:portMap> + </ipxact:portMaps> + </ipxact:abstractionType> + </ipxact:abstractionTypes> + <ipxact:slave></ipxact:slave> + <ipxact:parameters> + <ipxact:parameter parameterId="associatedClock" type="string"> + <ipxact:name>associatedClock</ipxact:name> + <ipxact:displayName>Associated clock</ipxact:displayName> + <ipxact:value>clock</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="synchronousEdges" type="string"> + <ipxact:name>synchronousEdges</ipxact:name> + <ipxact:displayName>Synchronous edges</ipxact:displayName> + <ipxact:value>DEASSERT</ipxact:value> + </ipxact:parameter> + </ipxact:parameters> + <ipxact:vendorExtensions> + <altera:altera_assignments> + <ipxact:parameters> + <ipxact:parameter parameterId="ui.blockdiagram.direction" type="string"> + <ipxact:name>ui.blockdiagram.direction</ipxact:name> + <ipxact:value>input</ipxact:value> + </ipxact:parameter> + </ipxact:parameters> + </altera:altera_assignments> + </ipxact:vendorExtensions> + </ipxact:busInterface> + <ipxact:busInterface> + <ipxact:name>ena</ipxact:name> + <ipxact:busType vendor="altera" library="altera" name="conduit" version="19.4"></ipxact:busType> + <ipxact:abstractionTypes> + <ipxact:abstractionType> + <ipxact:abstractionRef vendor="altera" library="altera" name="conduit" version="19.4"></ipxact:abstractionRef> + <ipxact:portMaps> + <ipxact:portMap> + <ipxact:logicalPort> + <ipxact:name>ena</ipxact:name> + </ipxact:logicalPort> + <ipxact:physicalPort> + <ipxact:name>ena</ipxact:name> + </ipxact:physicalPort> + </ipxact:portMap> + </ipxact:portMaps> + </ipxact:abstractionType> + </ipxact:abstractionTypes> + <ipxact:slave></ipxact:slave> + <ipxact:parameters> + <ipxact:parameter parameterId="associatedClock" type="string"> + <ipxact:name>associatedClock</ipxact:name> + <ipxact:displayName>associatedClock</ipxact:displayName> + <ipxact:value></ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="associatedReset" type="string"> + <ipxact:name>associatedReset</ipxact:name> + <ipxact:displayName>associatedReset</ipxact:displayName> + <ipxact:value></ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="prSafe" type="bit"> + <ipxact:name>prSafe</ipxact:name> + <ipxact:displayName>Partial Reconfiguration Safe</ipxact:displayName> + <ipxact:value>false</ipxact:value> + </ipxact:parameter> + </ipxact:parameters> + <ipxact:vendorExtensions> + <altera:altera_assignments> + <ipxact:parameters> + <ipxact:parameter parameterId="ui.blockdiagram.direction" type="string"> + <ipxact:name>ui.blockdiagram.direction</ipxact:name> + <ipxact:value>input</ipxact:value> + </ipxact:parameter> + </ipxact:parameters> + </altera:altera_assignments> + </ipxact:vendorExtensions> + </ipxact:busInterface> + </ipxact:busInterfaces> + <ipxact:model> + <ipxact:views> + <ipxact:view> + <ipxact:name>QUARTUS_SYNTH</ipxact:name> + <ipxact:envIdentifier>:quartus.altera.com:</ipxact:envIdentifier> + <ipxact:componentInstantiationRef>QUARTUS_SYNTH</ipxact:componentInstantiationRef> + </ipxact:view> + </ipxact:views> + <ipxact:instantiations> + <ipxact:componentInstantiation> + <ipxact:name>QUARTUS_SYNTH</ipxact:name> + <ipxact:moduleName>altmult_complex</ipxact:moduleName> + <ipxact:fileSetRef> + <ipxact:localName>QUARTUS_SYNTH</ipxact:localName> + </ipxact:fileSetRef> + </ipxact:componentInstantiation> + </ipxact:instantiations> + <ipxact:ports> + <ipxact:port> + <ipxact:name>dataa_real</ipxact:name> + <ipxact:wire> + <ipxact:direction>in</ipxact:direction> + <ipxact:vectors> + <ipxact:vector> + <ipxact:left>0</ipxact:left> + <ipxact:right>26</ipxact:right> + </ipxact:vector> + </ipxact:vectors> + <ipxact:wireTypeDefs> + <ipxact:wireTypeDef> + <ipxact:typeName>STD_LOGIC_VECTOR</ipxact:typeName> + <ipxact:viewRef>QUARTUS_SYNTH</ipxact:viewRef> + </ipxact:wireTypeDef> + </ipxact:wireTypeDefs> + </ipxact:wire> + </ipxact:port> + <ipxact:port> + <ipxact:name>dataa_imag</ipxact:name> + <ipxact:wire> + <ipxact:direction>in</ipxact:direction> + <ipxact:vectors> + <ipxact:vector> + <ipxact:left>0</ipxact:left> + <ipxact:right>26</ipxact:right> + </ipxact:vector> + </ipxact:vectors> + <ipxact:wireTypeDefs> + <ipxact:wireTypeDef> + <ipxact:typeName>STD_LOGIC_VECTOR</ipxact:typeName> + <ipxact:viewRef>QUARTUS_SYNTH</ipxact:viewRef> + </ipxact:wireTypeDef> + </ipxact:wireTypeDefs> + </ipxact:wire> + </ipxact:port> + <ipxact:port> + <ipxact:name>datab_real</ipxact:name> + <ipxact:wire> + <ipxact:direction>in</ipxact:direction> + <ipxact:vectors> + <ipxact:vector> + <ipxact:left>0</ipxact:left> + <ipxact:right>26</ipxact:right> + </ipxact:vector> + </ipxact:vectors> + <ipxact:wireTypeDefs> + <ipxact:wireTypeDef> + <ipxact:typeName>STD_LOGIC_VECTOR</ipxact:typeName> + <ipxact:viewRef>QUARTUS_SYNTH</ipxact:viewRef> + </ipxact:wireTypeDef> + </ipxact:wireTypeDefs> + </ipxact:wire> + </ipxact:port> + <ipxact:port> + <ipxact:name>datab_imag</ipxact:name> + <ipxact:wire> + <ipxact:direction>in</ipxact:direction> + <ipxact:vectors> + <ipxact:vector> + <ipxact:left>0</ipxact:left> + <ipxact:right>26</ipxact:right> + </ipxact:vector> + </ipxact:vectors> + <ipxact:wireTypeDefs> + <ipxact:wireTypeDef> + <ipxact:typeName>STD_LOGIC_VECTOR</ipxact:typeName> + <ipxact:viewRef>QUARTUS_SYNTH</ipxact:viewRef> + </ipxact:wireTypeDef> + </ipxact:wireTypeDefs> + </ipxact:wire> + </ipxact:port> + <ipxact:port> + <ipxact:name>result_real</ipxact:name> + <ipxact:wire> + <ipxact:direction>out</ipxact:direction> + <ipxact:vectors> + <ipxact:vector> + <ipxact:left>0</ipxact:left> + <ipxact:right>53</ipxact:right> + </ipxact:vector> + </ipxact:vectors> + <ipxact:wireTypeDefs> + <ipxact:wireTypeDef> + <ipxact:typeName>STD_LOGIC_VECTOR</ipxact:typeName> + <ipxact:viewRef>QUARTUS_SYNTH</ipxact:viewRef> + </ipxact:wireTypeDef> + </ipxact:wireTypeDefs> + </ipxact:wire> + </ipxact:port> + <ipxact:port> + <ipxact:name>result_imag</ipxact:name> + <ipxact:wire> + <ipxact:direction>out</ipxact:direction> + <ipxact:vectors> + <ipxact:vector> + <ipxact:left>0</ipxact:left> + <ipxact:right>53</ipxact:right> + </ipxact:vector> + </ipxact:vectors> + <ipxact:wireTypeDefs> + <ipxact:wireTypeDef> + <ipxact:typeName>STD_LOGIC_VECTOR</ipxact:typeName> + <ipxact:viewRef>QUARTUS_SYNTH</ipxact:viewRef> + </ipxact:wireTypeDef> + </ipxact:wireTypeDefs> + </ipxact:wire> + </ipxact:port> + <ipxact:port> + <ipxact:name>clock</ipxact:name> + <ipxact:wire> + <ipxact:direction>in</ipxact:direction> + <ipxact:wireTypeDefs> + <ipxact:wireTypeDef> + <ipxact:typeName>STD_LOGIC</ipxact:typeName> + <ipxact:viewRef>QUARTUS_SYNTH</ipxact:viewRef> + </ipxact:wireTypeDef> + </ipxact:wireTypeDefs> + </ipxact:wire> + </ipxact:port> + <ipxact:port> + <ipxact:name>aclr</ipxact:name> + <ipxact:wire> + <ipxact:direction>in</ipxact:direction> + <ipxact:wireTypeDefs> + <ipxact:wireTypeDef> + <ipxact:typeName>STD_LOGIC</ipxact:typeName> + <ipxact:viewRef>QUARTUS_SYNTH</ipxact:viewRef> + </ipxact:wireTypeDef> + </ipxact:wireTypeDefs> + </ipxact:wire> + </ipxact:port> + <ipxact:port> + <ipxact:name>ena</ipxact:name> + <ipxact:wire> + <ipxact:direction>in</ipxact:direction> + <ipxact:wireTypeDefs> + <ipxact:wireTypeDef> + <ipxact:typeName>STD_LOGIC</ipxact:typeName> + <ipxact:viewRef>QUARTUS_SYNTH</ipxact:viewRef> + </ipxact:wireTypeDef> + </ipxact:wireTypeDefs> + </ipxact:wire> + </ipxact:port> + </ipxact:ports> + </ipxact:model> + <ipxact:vendorExtensions> + <altera:entity_info> + <ipxact:vendor>Intel Corporation</ipxact:vendor> + <ipxact:library>ip_arria10_e2sg_complex_mult_27b</ipxact:library> + <ipxact:name>altmult_complex</ipxact:name> + <ipxact:version>19.1.0</ipxact:version> + </altera:entity_info> + <altera:altera_module_parameters> + <ipxact:parameters> + <ipxact:parameter parameterId="DEVICE_FAMILY" type="string"> + <ipxact:name>DEVICE_FAMILY</ipxact:name> + <ipxact:displayName>Device family</ipxact:displayName> + <ipxact:value>Arria 10</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="CBX_AUTO_BLACKBOX" type="string"> + <ipxact:name>CBX_AUTO_BLACKBOX</ipxact:name> + <ipxact:displayName>CBX_AUTO_BLACKBOX</ipxact:displayName> + <ipxact:value>ALL</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="WIDTH_A" type="int"> + <ipxact:name>WIDTH_A</ipxact:name> + <ipxact:displayName>How wide should the A input buses be?</ipxact:displayName> + <ipxact:value>27</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="WIDTH_B" type="int"> + <ipxact:name>WIDTH_B</ipxact:name> + <ipxact:displayName>How wide should the B input buses be?</ipxact:displayName> + <ipxact:value>27</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="WIDTH_RESULT" type="int"> + <ipxact:name>WIDTH_RESULT</ipxact:name> + <ipxact:displayName>How wide should the 'result' output bus be?</ipxact:displayName> + <ipxact:value>54</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="REPRESENTATION_A" type="int"> + <ipxact:name>REPRESENTATION_A</ipxact:name> + <ipxact:displayName>What is the representation format for A inputs?</ipxact:displayName> + <ipxact:value>1</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="REPRESENTATION_B" type="int"> + <ipxact:name>REPRESENTATION_B</ipxact:name> + <ipxact:displayName>What is the representation format for B inputs?</ipxact:displayName> + <ipxact:value>1</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="GUI_DYNAMIC_COMPLEX" type="bit"> + <ipxact:name>GUI_DYNAMIC_COMPLEX</ipxact:name> + <ipxact:displayName>Dynamic Complex Mode</ipxact:displayName> + <ipxact:value>false</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="IMPLEMENTATION_STYLE" type="string"> + <ipxact:name>IMPLEMENTATION_STYLE</ipxact:name> + <ipxact:displayName>Which implementation style should be used?</ipxact:displayName> + <ipxact:value>AUTO</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="PIPELINE" type="int"> + <ipxact:name>PIPELINE</ipxact:name> + <ipxact:displayName>Output latency</ipxact:displayName> + <ipxact:value>3</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="GUI_CLEAR_TYPE" type="string"> + <ipxact:name>GUI_CLEAR_TYPE</ipxact:name> + <ipxact:displayName>Clear Signal Type</ipxact:displayName> + <ipxact:value>ACLR</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="GUI_USE_CLKEN" type="bit"> + <ipxact:name>GUI_USE_CLKEN</ipxact:name> + <ipxact:displayName>Create a Clock Enable input?</ipxact:displayName> + <ipxact:value>true</ipxact:value> + </ipxact:parameter> + </ipxact:parameters> + </altera:altera_module_parameters> + <altera:altera_system_parameters> + <ipxact:parameters> + <ipxact:parameter parameterId="device" type="string"> + <ipxact:name>device</ipxact:name> + <ipxact:displayName>Device</ipxact:displayName> + <ipxact:value>10AX115U3F45E2SG</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="deviceFamily" type="string"> + <ipxact:name>deviceFamily</ipxact:name> + <ipxact:displayName>Device family</ipxact:displayName> + <ipxact:value>Arria 10</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="deviceSpeedGrade" type="string"> + <ipxact:name>deviceSpeedGrade</ipxact:name> + <ipxact:displayName>Device Speed Grade</ipxact:displayName> + <ipxact:value>2</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="generationId" type="int"> + <ipxact:name>generationId</ipxact:name> + <ipxact:displayName>Generation Id</ipxact:displayName> + <ipxact:value>0</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="bonusData" type="string"> + <ipxact:name>bonusData</ipxact:name> + <ipxact:displayName>bonusData</ipxact:displayName> + <ipxact:value>bonusData +{ + element altmult_complex_0 + { + datum _sortIndex + { + value = "0"; + type = "int"; + } + } +} +</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="hideFromIPCatalog" type="bit"> + <ipxact:name>hideFromIPCatalog</ipxact:name> + <ipxact:displayName>Hide from IP Catalog</ipxact:displayName> + <ipxact:value>true</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="lockedInterfaceDefinition" type="string"> + <ipxact:name>lockedInterfaceDefinition</ipxact:name> + <ipxact:displayName>lockedInterfaceDefinition</ipxact:displayName> + <ipxact:value></ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="systemInfos" type="string"> + <ipxact:name>systemInfos</ipxact:name> + <ipxact:displayName>systemInfos</ipxact:displayName> + <ipxact:value><systemInfosDefinition> + <connPtSystemInfos/> +</systemInfosDefinition></ipxact:value> + </ipxact:parameter> + </ipxact:parameters> + </altera:altera_system_parameters> + <altera:altera_interface_boundary> + <altera:interface_mapping altera:name="aclr" altera:internal="altmult_complex_0.aclr" altera:type="reset" altera:dir="end"> + <altera:port_mapping altera:name="aclr" altera:internal="aclr"></altera:port_mapping> + </altera:interface_mapping> + <altera:interface_mapping altera:name="clock" altera:internal="altmult_complex_0.clock" altera:type="clock" altera:dir="end"> + <altera:port_mapping altera:name="clock" altera:internal="clock"></altera:port_mapping> + </altera:interface_mapping> + <altera:interface_mapping altera:name="dataa_imag" altera:internal="altmult_complex_0.dataa_imag" altera:type="conduit" altera:dir="end"> + <altera:port_mapping altera:name="dataa_imag" altera:internal="dataa_imag"></altera:port_mapping> + </altera:interface_mapping> + <altera:interface_mapping altera:name="dataa_real" altera:internal="altmult_complex_0.dataa_real" altera:type="conduit" altera:dir="end"> + <altera:port_mapping altera:name="dataa_real" altera:internal="dataa_real"></altera:port_mapping> + </altera:interface_mapping> + <altera:interface_mapping altera:name="datab_imag" altera:internal="altmult_complex_0.datab_imag" altera:type="conduit" altera:dir="end"> + <altera:port_mapping altera:name="datab_imag" altera:internal="datab_imag"></altera:port_mapping> + </altera:interface_mapping> + <altera:interface_mapping altera:name="datab_real" altera:internal="altmult_complex_0.datab_real" altera:type="conduit" altera:dir="end"> + <altera:port_mapping altera:name="datab_real" altera:internal="datab_real"></altera:port_mapping> + </altera:interface_mapping> + <altera:interface_mapping altera:name="ena" altera:internal="altmult_complex_0.ena" altera:type="conduit" altera:dir="end"> + <altera:port_mapping altera:name="ena" altera:internal="ena"></altera:port_mapping> + </altera:interface_mapping> + <altera:interface_mapping altera:name="result_imag" altera:internal="altmult_complex_0.result_imag" altera:type="conduit" altera:dir="end"> + <altera:port_mapping altera:name="result_imag" altera:internal="result_imag"></altera:port_mapping> + </altera:interface_mapping> + <altera:interface_mapping altera:name="result_real" altera:internal="altmult_complex_0.result_real" altera:type="conduit" altera:dir="end"> + <altera:port_mapping altera:name="result_real" altera:internal="result_real"></altera:port_mapping> + </altera:interface_mapping> + </altera:altera_interface_boundary> + <altera:altera_has_warnings>false</altera:altera_has_warnings> + <altera:altera_has_errors>false</altera:altera_has_errors> + </ipxact:vendorExtensions> +</ipxact:component> \ No newline at end of file diff --git a/libraries/technology/mult/tech_complex_mult.vhd b/libraries/technology/mult/tech_complex_mult.vhd index dc2d90f4e7..228c1ee4a7 100644 --- a/libraries/technology/mult/tech_complex_mult.vhd +++ b/libraries/technology/mult/tech_complex_mult.vhd @@ -252,18 +252,18 @@ BEGIN br <= RESIZE_SVEC(in_br, c_dsp_mult_27_w); bi <= RESIZE_SVEC(in_bi, c_dsp_mult_27_w) WHEN g_conjugate_b=FALSE ELSE TO_SVEC(-TO_SINT(in_bi), c_dsp_mult_27_w); - --u0 : ip_arria10_e2sg_complex_mult_27b - --PORT MAP ( - -- aclr => rst, - -- clock => clk, - -- dataa_imag => ai, - -- dataa_real => ar, - -- datab_imag => bi, - -- datab_real => br, - -- ena => clken, - -- result_imag => mult_im, - -- result_real => mult_re - --); + u0 : ip_arria10_e2sg_complex_mult_27b + PORT MAP ( + aclr => rst, + clock => clk, + dataa_imag => ai, + dataa_real => ar, + datab_imag => bi, + datab_real => br, + ena => clken, + result_imag => mult_im, + result_real => mult_re + ); -- Back to true input widths and then resize for output width result_re <= RESIZE_SVEC(mult_re, g_out_p_w); -- GitLab