Major checkin for: patching BSV-verilog for OCP non-compliance, support multiple HDL sim platforms,...
--- tool upgrades to use the application xml parser for HDL/bitstream assemblies
--- always refer to HDL assemblies as "assemblies", not "applications"
--- support ports with no protocols connecting to ports with protocols
--- full altera bitstream building
--- major build updates to support: isim, xsim, quartus, modelsim, xst (3 modes), etc.
--- support HDL workers with no control interface (for width adapters etc.).
adapt/os/ocpios/linux/driver/Makefile: fix dependency bug
adapt/os/ocpios/linux/driver/opencpi.c: one more API change fix for RHEL/Centos6
components/Makefile: add error check for environment (done in many files)
components/bias_ver.hdl/bias_ver.v: suppress warning in xsim
components/capture.hdl/capture.xml: improve i/o parameters given removal of protocol
components/pattern.hdl/pattern.xml: ditto
components/bias.hdl/bias.v: update and edit single-width vectors to patch BSV noncompiance
components/capture.hdl/capture.v: ditto
components/ddc.hdl/ddc.v: ditto
components/delay.hdl/delay.v: ditto
components/framegate.hdl/framegate.v: ditto
components/pattern.hdl/pattern.v: ditto
components/psd.hdl/psd.v: ditto
components/sma.hdl/sma.v: ditto
components/splitter2x2.hdl/splitter2x2.v: ditto
components/scripts/importAllBsv: add import of capture worker
components/specs/capture_spec.xml: remove protocol so it is connectable to anything
-- also shrink capture size for testing and faster simulation
components/specs/pattern_spec.xml: ditto
components/specs/rstream_data_protocol.xml: removed, redundant
components/specs/rstream_with_sync_protocol.xml: use rstream_protocol like others
core/application/src/OcpiApplication.cxx: proper error message when no solution is found
application/src/ocpirun_main.cxx: allow specifying the app name without the .xml suffix
core/container/hdl_container/bin/src/ocpihdl_main.cxx: improve error messages
-- deal with sim platforms better (you can say "isim" for what is really "isim_pf")
-- error check platform for executables
-- implement support for multiple different simulation platforms (isim, xsim, modelsim).
-- ensure simulation output goes to the right places
core/container/hdl_container/impl/src/HdlAccess.cxx: error message improvement
core/container/interfaces/api/src/OcpiContainerInterface.cxx: removed junk
core/container/rcc_container/src/OcpiRccDriver.cxx: warning
core/library/src/OcpiLibraryAssembly.cxx: update to enable HDL assemblies to share the application parser
core/local/util/assembly/include/OcpiUtilAssembly.h: ditto
core/local/util/assembly/src/OcpiUtilAssembly.cxx: ditto - where most of the work is for this
core/local/util/ezxml/include/OcpiUtilEzxml.h: new fancier xml attribute checking function
core/local/util/ezxml/src/OcpiUtilEzxml.cxx: ditto
core/local/util/property/src/OcpiUtilPValue.cxx: add param dictionary items to share assy parser
core/local/util/property/src/OcpiUtilProtocol.cxx: add more defaults when no protocol
--- and add more overrides: datavaluegranulary and maxmessagevalues
doc/OpenCPI_HDL_Reference.pdf: minor update
hdl/assemblies/Makefile: add default component library for all assemblies
hdl/applications/tb_bias/tb_bias.xml: update syntax for new shared assembly parser
hdl/applications/tb_bias_vhdl/tb_bias_vhdl.xml: ditto
hdl/applications/testbias/testbias.xml: ditto
hdl/applications/testbias/testbias_cont.xml: ditto
hdl/applications/testbias2/testbias2.xml: ditto
hdl/applications/testbias2/testbias2_cont.xml: ditto
hdl/applications/testbias5/testbias5.xml: ditto
hdl/applications/testbias5/testbias5_cont.xml: ditto
hdl/applications/testbias_ver/testbias_ver.xml: ditto
hdl/applications/testbias_ver/testbias_ver_cont.xml: ditto
hdl/applications/testddc/testddc.xml: ditto
hdl/applications/testddc/testddc_cont.xml: ditto
hdl/applications/testpsd/testpsd.xml: ditto
hdl/applications/testpsd/testpsd_cont.xml: ditto
hdl/applications/testwbr/testwbr.xml: ditto
hdl/applications/testwbr/testwbrCont.xml: ditto
hdl/applications/tb_bias_vhdl/Makefile: cleanup, remove component library from here
hdl/applications/testbias/Makefile: ditto
hdl/applications/testbias2/Makefile: ditto
hdl/applications/testbias5/Makefile: ditto
hdl/applications/testbias_ver/Makefile: ditto
hdl/applications/testddc/Makefile: ditto
hdl/applications/testpsd/Makefile: ditto
hdl/applications/testwbr/Makefile: ditto
hdl/containers/mkOCApp-2sma.v: add WTI ports to container
hdl/devices/flash.hdl/flash.v: update for xsim warnings
hdl/devices/gbe.hdl/gbe.v: ditto
hdl/devices/gbe.hdl/Makefile: update for HdlLibraries etc.
hdl/platforms/alst4/alst4.qsf: update for new build so it really works like the others
hdl/platforms/alst4/fpgaTop_alst4.v: update from shep repo
hdl/platforms/alst4/mkFTop_alst4.v: ditto
hdl/platforms/isim_pf/Makefile: update
hdl/primitives/Makefile: support a separate xilinx util library (not part-specific), some cleanup
hdl/primitives/bsv/Makefile: move some modules to vendor specific libraries due to RAM inference.
hdl/primitives/bsv/imports/BRAM1.v b/hdl/primitives/bsv/imports/BRAM1.v: moved
hdl/primitives/bsv/imports/BRAM1BE.v: ditto
hdl/primitives/bsv/imports/BRAM2.v: ditto
hdl/primitives/ocpi/Makefile: reorder and add new files
hdl/primitives/ocpi/ocpi_props_impl.cpp_vhd: fix single quote
hdl/primitives/ocpi/ocpi_types.vhd: bit_offset_t type
hdl/primitives/ocpi/ocpi_types_body.vhd: uncomment "and" operator overload for bool_t
-- more cleanup required here
-- rearrange code to avoid some tool warnings
hdl/primitives/ocpi/ocpi_util.vhd: add message_bounds and clock_limiter for wrapping cores
hdl/primitives/ocpi/ocpi_wci.vhd: updates to avoid some tool limitations
hdl/primitives/ocpi/ocpi_wci_body.vhd: ditto
hdl/primitives/ocpi/ocpi_wci_impl.vhd: remove unused ports, reduce warnings
hdl/primitives/ocpi/ocpi_wsi_impl.vhd: reduce warnings for some tools, bug fixes
hdl/primitives/util_stratix4/Makefile: add BRAM files that need to be vendor-specific
jkvm_env_linux_x86_64.sh: update to Xilinx 14.4/vivado and altera 12.1
test/hdl/src/ocfrp_check.c: update to be in sync with linux kernel driver
tools/cdk/cdkutils/include/cdkutils.h: cleanup
tools/cdk/cdkutils/src/cdkutils.cxx: fix dependency bug when more than one file is generated
tools/cdk/include/hdl/altera.mk: deal with license file env collision
tools/cdk/include/hdl/hdl-app.mk: major update to fix dependencies and work with many new tools
-- and rename to hdl-assy.mk
tools/cdk/include/hdl/hdl-core2.mk: update for application->assembly rename
tools/cdk/include/hdl/hdl-lib.mk: more build-time messages
tools/cdk/include/hdl/hdl-make.mk: major update for component libraries and sort->unique update
tools/cdk/include/hdl/hdl-pre.mk: more consistency in compilation behavior across tools
--- change all "sorts" to "make unique but maintain ordering:.
tools/cdk/include/hdl/hdl-targets.mk: add spartan3adsp and xsim, sim platforms, fix altera part numbers
tools/cdk/include/hdl/hdl-worker.mk: application->assembly, ocpi libraries
tools/cdk/include/hdl/isim.mk: update to share more component library handling etc.
tools/cdk/include/hdl/xst.mk: ditto, plus dependency fixes
tools/cdk/include/hdl/quartus.mk: major update to achieve bitstreams
tools/cdk/include/hdl/verilator.mk: Libraries->HdlLibraries
tools/cdk/include/hdl/xilinx.mk: add vivado env vars
tools/cdk/include/lib.mk: default HdlLibraries
tools/cdk/include/util.mk: add Unique function to replace "sort" for nuking duplicates
tools/cdk/include/xxx-worker.mk: avoid duplicate search dirs for xml, sort->Unique
tools/cdk/ocpigen/bin/src/ocpigen_main.cxx: add "emit worker instances" feature for makefiles
tools/cdk/ocpigen/ocpigen/include/wip.h: changes to share assembly parser hdl assemblies
tools/cdk/ocpigen/ocpigen/src/wip_HDL.cxx: share/use app parser, and more VHDL improvements
-- especially, support noControl workers (adapters)
-- support more WIP options properly, and generics for WSI master and slave
-- support no-protocol worker ports
-- support mismatched byte-enable connections
-- implement the emission of worker/instance files to feed makefiles
tools/cdk/ocpigen/ocpigen/src/wip_parse.cxx: share assembly parser for apps, nuke the local one.
-- add support for noControl (no WCI)
-- worker-level datawidth default
tools/cdk/scripts/importBsv: fix for avoiding xsim warnings
tools/cdk/scripts/sudo_ocpi: fix to find binaries that are not in the root's path
small update to pick up pieces missing from previous large one.
hdl/assemblies/tb_bias/Makefile: update for HdlLibraries (used to be Libraries)
hdl/devices/gbe.hdl/gbe.xml: force datawidth
hdl/platforms/alst4/Makefile: Libraries->HdlLibraries
hdl/platforms/isim_pf/fpgaTop_isim_pf.v: warnings for xsim
hdl/platforms/isim_pf/mkSimIO.v: try binary file opens to avoid problems
hdl/platforms/ml605/Makefile: Libraries->HdlLibraries
hdl/primitives/ocpi/ocpi_wci_body.vhd: missed from previous checkin - warning avoidance
hdl/primitives/ocpi/ocpi_wsi.vhd: add "early request" support
tools/cdk/include/hdl/hdl-app.mk: legacy renaming - now includes hdl-assy.mk
tools/cdk/include/hdl/hdl-worker.mk: missing update
tools/cdk/include/hdl/icarus.mk: ditto
tools/cdk/ocpigen/ocpigen/src/wip_OCP.cxx: minor update to sync with name changes
hdl/devices/dram_v6.hdl/Makefile: Libraries->HdlLibraries
components/specs/rstream_protocol.xml: added
components/specs/iqstream_protocol.xml: added
Build script updates based on wider testing across more platforms, add dumpFile option to app props
Makefile: more hdl applications->assemblies renaming, and add hdl components to cleanhdl
core/application/include/OcpiApplication.h: dumpFile option to dump prop value into file after execution
core/application/include/OcpiApplicationApi.h: add "finish" for "after-done" actions, like dumping props
core/application/src/OcpiApplication.cxx: ditto
core/application/src/ocpirun_main.cxx: ditto - call "finish"
core/local/util/assembly/include/OcpiUtilAssembly.h: ditto
core/local/util/assembly/src/OcpiUtilAssembly.cxx: ditto
core/local/util/misc/include/OcpiUtilMisc.h: rename fileString to file2String, and add string2File
core/local/util/misc/src/OcpiUtilMisc.cxx: ditto
core/local/util/property/include/OcpiUtilValue.h: add option to replace comma with newline in unparse
core/local/util/property/src/OcpiUtilValue.cxx: ditto
hdl/Makefile: add building "hdl/adapters", and rename hdl/applications to hdl/assemblies
hdl/containers/mkOCApp-8w.v: warnings - add WTI ports
hdl/devices/adcx.hdl/Makefile: share Libraries with upper makefile, add xsim target
hdl/devices/dac.hdl/Makefile: Libraries->HdlLibraries
hdl/primitives/ocpi/ocpi_util_impl.vhd: tweaks to allow virtex5/spartan3 to build
hdl/primitives/ocpi/ocpi_wci.vhd: add support for workers with no properties at all and no control also
hdl/primitives/ocpi/ocpi_wci_impl.vhd: ditto
hdl/primitives/ocpi/ocpi_wsi.vhd: attempted simplification for virtex5/spartan3 build
hdl/primitives/util_virtex5/Makefile: move files from util_virtex5 to util_xilinx (for isim etc.)
hdl/primitives/util_virtex5/imports/IDELAYCTRL_GRP.v: moved to util_xilix for isim
hdl/primitives/util_virtex5/imports/ddrInput2.v: ditto
hdl/primitives/util_virtex5/imports/ddrOutput2.v: ditto
hdl/primitives/util_xilinx/Makefile: ditto (add them here)
tools/cdk/include/hdl/hdl-assy.mk: more management of "worker instance" files across isim/xsim/quartus
-- and introducing a first class "container" HdlMode when building the container
tools/cdk/include/hdl/hdl-make.mk: improved component library support, and worker-instance support
-- in support of adapters and feeding worker-instance info into assembly/container/bitstream builds
-- some tools really only merge at the very last step, but need the info in intermediate steps
tools/cdk/include/hdl/hdl-pre.mk: Fix HdlCoreRef to be usable in more places.
tools/cdk/include/hdl/hdl-targets.mk: add larger parts as the default for a family, add spartan3adsp, n210
tools/cdk/include/hdl/hdl-worker.mk: ensure verilog header is generated even for VHDL workers
-- this allows XST to find VHDL-only worker cores properly (by using a verilog black box in a library)
tools/cdk/include/hdl/isim.mk: add using worker-instance info in container build
tools/cdk/include/hdl/xsim.mk: respect "container" mode
tools/cdk/include/hdl/xst.mk: adjust read_cores based on build mode for xst 14.4
-- also set part to be first one for family to use a larger one and not assume the smallest
tools/cdk/include/lib.mk: only set hdl stuff when building hdl workers, and clean the library per model
tools/cdk/ocpigen/ocpigen/src/wip_HDL.cxx: enable generation of verilog "defs" even for VHDL
--- and better support for workers with no properties
--- and tieoffs for workers in the assy with missing output signals: e.g. wci_SData
hdl/Makefile: add adapters to hdl builds
hdl/containers/mkOCApp-8w.v: add wmi tieoffs when not used
tools/cdk/include/hdl/hdl-assy.mk: typo that prevented altera container build
tools/cdk/include/hdl/hdl-make.mk: try both family and part for worker cores
tools/cdk/include/hdl/quartus.mk: support new "container" mode properly
tools/cdk/ocpigen/ocpigen/src/wip_parse.cxx: don't customize assy port wcis based on workers