# VCom_Functional.tcl
# compile for functional simulation
# From directory vcom -explicit -93 -work work ../../wr-cores/syn/spec7_ref_design
# hdlmake list-files > proj_file_list.txt

#vcom -explicit -93 -work work ../../top/spec7_ref_design/spec7_wr_ref_top.xdc
#vcom -explicit -93 -work work ../../top/spec7_ref_design/spec7_wr_hpsec_top.xdc

vcom -explicit -93 -work work ../../top/spec7_ref_design/pll_62m5_500m.vhd
vcom -explicit -93 -work work ../../wr-cores/ip_cores/general-cores/modules/common/gc_dec_8b10b.vhd
vcom -explicit -93 -work work ../../wr-cores/ip_cores/general-cores/modules/common/gc_edge_detect.vhd
vcom -explicit -93 -work work ../../wr-cores/ip_cores/general-cores/modules/common/gc_enc_8b10b.vhd
vcom -explicit -93 -work work ../../wr-cores/ip_cores/general-cores/modules/common/gc_reset.vhd
vcom -explicit -93 -work work ../../wr-cores/ip_cores/general-cores/modules/common/gc_serial_dac.vhd
vcom -explicit -93 -work work ../../wr-cores/ip_cores/general-cores/modules/common/gc_sync.vhd
vcom -explicit -93 -work work ../../wr-cores/ip_cores/general-cores/modules/common/gc_sync_register.vhd
vcom -explicit -93 -work work ../../wr-cores/ip_cores/general-cores/modules/common/gencores_pkg.vhd
vlog -work work ../../wr-cores/ip_cores/general-cores/modules/wishbone/wb_lm32/platform/generic/jtag_tap.v
vlog -work work ../../wr-cores/ip_cores/general-cores/modules/wishbone/wb_lm32/platform/generic/lm32_multiplier.v
vlog -work work ../../wr-cores/ip_cores/general-cores/modules/wishbone/wb_lm32/src/lm32_addsub.v
vlog -work work ../../wr-cores/ip_cores/general-cores/modules/wishbone/wb_lm32/src/lm32_logic_op.v
vlog -work work ../../wr-cores/ip_cores/general-cores/modules/wishbone/wb_lm32/src/lm32_shifter.v
vlog -work work ../../wr-cores/ip_cores/general-cores/modules/wishbone/wb_onewire_master/sockit_owm.v
vcom -explicit -93 -work work ../../wr-cores/ip_cores/general-cores/modules/wishbone/wb_uart/simple_uart_pkg.vhd
vcom -explicit -93 -work work ../../wr-cores/ip_cores/general-cores/modules/wishbone/wb_uart/uart_async_rx.vhd
vcom -explicit -93 -work work ../../wr-cores/ip_cores/general-cores/modules/wishbone/wb_uart/uart_async_tx.vhd
vcom -explicit -93 -work work ../../wr-cores/ip_cores/general-cores/modules/wishbone/wb_uart/uart_baud_gen.vhd
vcom -explicit -93 -work work ../../wr-cores/ip_cores/general-cores/modules/wishbone/wbgen2/wbgen2_pkg.vhd
vcom -explicit -93 -work work ../../wr-cores/ip_cores/general-cores/modules/wishbone/wishbone_pkg.vhd
vcom -explicit -93 -work work ../../wr-cores/modules/fabric/xwrf_loopback/lbk_pkg.vhd
vcom -explicit -93 -work work ../../wr-cores/modules/timing/pulse_stamper.vhd
vcom -explicit -93 -work work ../../wr-cores/modules/wr_endpoint/ep_crc32_pkg.vhd
vcom -explicit -93 -work work ../../wr-cores/modules/wr_endpoint/ep_pcs_tbi_mdio_wb.vhd
vcom -explicit -93 -work work ../../wr-cores/modules/wr_endpoint/ep_registers_pkg.vhd
vcom -explicit -93 -work work ../../wr-cores/modules/wr_pps_gen/pps_gen_wb.vhd
vcom -explicit -93 -work work ../../wr-cores/modules/wr_softpll_ng/softpll_pkg.vhd
vcom -explicit -93 -work work ../../wr-cores/modules/wr_streamers/escape_detector.vhd
vcom -explicit -93 -work work ../../wr-cores/modules/wr_streamers/escape_inserter.vhd
vcom -explicit -93 -work work ../../wr-cores/modules/wr_streamers/fifo_showahead_adapter.vhd
vcom -explicit -93 -work work ../../wr-cores/modules/wr_streamers/wr_streamers_wbgen2_pkg.vhd
vcom -explicit -93 -work work ../../wr-cores/modules/wr_tbi_phy/disparity_gen_pkg.vhd
vcom -explicit -93 -work work ../../wr-cores/modules/wrc_core/wrc_diags_pkg.vhd
vcom -explicit -93 -work work ../../wr-cores/modules/wrc_core/wrc_syscon_pkg.vhd
vcom -explicit -93 -work work ../../wr-cores/platform/xilinx/wr_gtp_phy/family7-gtx-lp/gtx_comma_detect_lp.vhd
vcom -explicit -93 -work work ../../wr-cores/platform/xilinx/wr_gtp_phy/family7-gtx-lp/whiterabbit_gtxe2_channel_wrapper_gt_lp.vhd
vcom -explicit -93 -work work ../../wr-cores/ip_cores/general-cores/modules/axi/axi4_pkg.vhd
vcom -explicit -93 -work work ../../wr-cores/ip_cores/general-cores/modules/common/gc_crc_gen.vhd
vcom -explicit -93 -work work ../../wr-cores/ip_cores/general-cores/modules/common/gc_extend_pulse.vhd
vcom -explicit -93 -work work ../../wr-cores/ip_cores/general-cores/modules/common/gc_pulse_synchronizer2.vhd
vcom -explicit -93 -work work ../../wr-cores/ip_cores/general-cores/modules/common/gc_sync_ffs.vhd
vcom -explicit -93 -work work ../../wr-cores/ip_cores/general-cores/modules/genrams/genram_pkg.vhd
vcom -explicit -93 -work work ../../wr-cores/ip_cores/general-cores/modules/wishbone/wb_crossbar/xwb_crossbar.vhd
vlog -work work ../../wr-cores/ip_cores/general-cores/modules/wishbone/wb_lm32/src/jtag_cores.v
vlog -work work ../../wr-cores/ip_cores/general-cores/modules/wishbone/wb_lm32/src/lm32_adder.v
vcom -explicit -93 -work work ../../wr-cores/ip_cores/general-cores/modules/wishbone/wb_slave_adapter/wb_slave_adapter.vhd
vcom -explicit -93 -work work ../../wr-cores/ip_cores/general-cores/modules/wishbone/wb_uart/simple_uart_wb.vhd
vcom -explicit -93 -work work ../../wr-cores/ip_cores/general-cores/modules/wishbone/wbgen2/wbgen2_eic.vhd
vcom -explicit -93 -work work ../../wr-cores/modules/fabric/wr_fabric_pkg.vhd
vcom -explicit -93 -work work ../../wr-cores/modules/fabric/xwrf_loopback/lbk_wishbone_controller.vhd
vcom -explicit -93 -work work ../../wr-cores/modules/timing/dmtd_sampler.vhd
vcom -explicit -93 -work work ../../wr-cores/modules/wr_endpoint/ep_wishbone_controller.vhd
vcom -explicit -93 -work work ../../wr-cores/modules/wr_mini_nic/minic_wbgen2_pkg.vhd
vcom -explicit -93 -work work ../../wr-cores/modules/wr_softpll_ng/spll_wbgen2_pkg.vhd
vcom -explicit -93 -work work ../../wr-cores/modules/wr_streamers/wr_streamers_wb.vhd
vcom -explicit -93 -work work ../../wr-cores/modules/wrc_core/wrc_diags_wb.vhd
vcom -explicit -93 -work work ../../wr-cores/modules/wrc_core/wrc_syscon_wb.vhd
vcom -explicit -93 -work work ../../board/even_odd_det.vhd
vcom -explicit -93 -work work ../../top/spec7_ref_design/gen_x_mhz.vhd
vcom -explicit -93 -work work ../../wr-cores/ip_cores/general-cores/modules/common/gc_async_counter_diff.vhd
vcom -explicit -93 -work work ../../wr-cores/ip_cores/general-cores/modules/common/gc_pulse_synchronizer.vhd
vcom -explicit -93 -work work ../../wr-cores/ip_cores/general-cores/modules/common/gc_sync_word_wr.vhd
vcom -explicit -93 -work work ../../wr-cores/ip_cores/general-cores/modules/genrams/common/inferred_async_fifo.vhd
vcom -explicit -93 -work work ../../wr-cores/ip_cores/general-cores/modules/genrams/common/inferred_async_fifo_dual_rst.vhd
vcom -explicit -93 -work work ../../wr-cores/ip_cores/general-cores/modules/genrams/memory_loader_pkg.vhd
vcom -explicit -93 -work work ../../wr-cores/ip_cores/general-cores/modules/genrams/xilinx/gc_shiftreg.vhd
vcom -explicit -93 -work work ../../wr-cores/ip_cores/general-cores/modules/wishbone/wb_axi4lite_bridge/xwb_axi4lite_bridge.vhd
vcom -explicit -93 -work work ../../wr-cores/ip_cores/general-cores/modules/wishbone/wb_crossbar/sdb_rom.vhd
vcom -explicit -93 -work work ../../wr-cores/ip_cores/general-cores/modules/wishbone/wb_gpio_port/wb_gpio_port.vhd
vcom -explicit -93 -work work ../../wr-cores/ip_cores/general-cores/modules/wishbone/wb_onewire_master/wb_onewire_master.vhd
vcom -explicit -93 -work work ../../wr-cores/modules/fabric/xwrf_mux.vhd
vcom -explicit -93 -work work ../../wr-cores/modules/timing/dmtd_sampler.vhd
vcom -explicit -93 -work work ../../wr-cores/modules/timing/pulse_stamper_sync.vhd
vcom -explicit -93 -work work ../../wr-cores/modules/wr_endpoint/endpoint_pkg.vhd
vcom -explicit -93 -work work ../../wr-cores/modules/wr_mini_nic/minic_wb_slave.vhd
vcom -explicit -93 -work work ../../wr-cores/modules/wr_pps_gen/wr_pps_gen.vhd
vcom -explicit -93 -work work ../../wr-cores/modules/wr_softpll_ng/spll_aligner.vhd
vcom -explicit -93 -work work ../../wr-cores/modules/wr_streamers/dropping_buffer.vhd
vcom -explicit -93 -work work ../../wr-cores/modules/wr_streamers/fixed_latency_ts_match.vhd
vcom -explicit -93 -work work ../../wr-cores/modules/wr_streamers/ts_restore_tai.vhd
vcom -explicit -93 -work work ../../wr-cores/modules/wrc_core/xwrc_diags_wb.vhd
vcom -explicit -93 -work work ../../wr-cores/ip_cores/general-cores/modules/common/gc_frequency_meter.vhd
vcom -explicit -93 -work work ../../wr-cores/ip_cores/general-cores/modules/genrams/common/generic_shiftreg_fifo.vhd
vcom -explicit -93 -work work ../../wr-cores/ip_cores/general-cores/modules/genrams/generic/generic_async_fifo.vhd
vcom -explicit -93 -work work ../../wr-cores/ip_cores/general-cores/modules/genrams/generic/generic_async_fifo_dual_rst.vhd
vcom -explicit -93 -work work ../../wr-cores/ip_cores/general-cores/modules/genrams/xilinx/generic_dpram_dualclock.vhd
vcom -explicit -93 -work work ../../wr-cores/ip_cores/general-cores/modules/genrams/xilinx/generic_dpram_sameclock.vhd
vcom -explicit -93 -work work ../../wr-cores/ip_cores/general-cores/modules/genrams/xilinx/generic_dpram_split.vhd
vcom -explicit -93 -work work ../../wr-cores/ip_cores/general-cores/modules/wishbone/wb_crossbar/xwb_sdb_crossbar.vhd
vcom -explicit -93 -work work ../../wr-cores/ip_cores/general-cores/modules/wishbone/wb_gpio_port/xwb_gpio_port.vhd
vcom -explicit -93 -work work ../../wr-cores/ip_cores/general-cores/modules/wishbone/wb_onewire_master/xwb_onewire_master.vhd
vcom -explicit -93 -work work ../../wr-cores/modules/timing/dmtd_with_deglitcher.vhd
vcom -explicit -93 -work work ../../wr-cores/modules/wr_endpoint/endpoint_private_pkg.vhd
vcom -explicit -93 -work work ../../wr-cores/modules/wr_pps_gen/xwr_pps_gen.vhd
vcom -explicit -93 -work work ../../wr-cores/modules/wrc_core/wrcore_pkg.vhd
vcom -explicit -93 -work work ../../wr-cores/platform/xilinx/wr_gtp_phy/family7-gtx-lp/wr_gtx_phy_family7_lp.vhd
vcom -explicit -93 -work work ../../wr-cores/platform/xilinx/wr_xilinx_pkg.vhd
vcom -explicit -93 -work work ../../wr-cores/ip_cores/general-cores/modules/genrams/xilinx/generic_dpram.vhd
vcom -explicit -93 -work work ../../wr-cores/modules/fabric/xwb_fabric_sink.vhd
vcom -explicit -93 -work work ../../wr-cores/modules/fabric/xwb_fabric_source.vhd
vcom -explicit -93 -work work ../../wr-cores/modules/timing/dmtd_phase_meas.vhd
vcom -explicit -93 -work work ../../wr-cores/modules/wr_endpoint/ep_autonegotiation.vhd
vcom -explicit -93 -work work ../../wr-cores/modules/wr_endpoint/ep_clock_alignment_fifo.vhd
vcom -explicit -93 -work work ../../wr-cores/modules/wr_endpoint/ep_leds_controller.vhd
vcom -explicit -93 -work work ../../wr-cores/modules/wr_endpoint/ep_rtu_header_extract.vhd
vcom -explicit -93 -work work ../../wr-cores/modules/wr_endpoint/ep_rx_crc_size_check.vhd
vcom -explicit -93 -work work ../../wr-cores/modules/wr_endpoint/ep_rx_early_address_match.vhd
vcom -explicit -93 -work work ../../wr-cores/modules/wr_endpoint/ep_rx_oob_insert.vhd
vcom -explicit -93 -work work ../../wr-cores/modules/wr_endpoint/ep_rx_status_reg_insert.vhd
vcom -explicit -93 -work work ../../wr-cores/modules/wr_endpoint/ep_rx_vlan_unit.vhd
vcom -explicit -93 -work work ../../wr-cores/modules/wr_endpoint/ep_rx_wb_master.vhd
vcom -explicit -93 -work work ../../wr-cores/modules/wr_endpoint/ep_sync_detect.vhd
vcom -explicit -93 -work work ../../wr-cores/modules/wr_endpoint/ep_sync_detect_16bit.vhd
vcom -explicit -93 -work work ../../wr-cores/modules/wr_endpoint/ep_ts_counter.vhd
vcom -explicit -93 -work work ../../wr-cores/modules/wr_endpoint/ep_tx_crc_inserter.vhd
vcom -explicit -93 -work work ../../wr-cores/modules/wr_endpoint/ep_tx_header_processor.vhd
vcom -explicit -93 -work work ../../wr-cores/modules/wr_endpoint/ep_tx_inject_ctrl.vhd
vcom -explicit -93 -work work ../../wr-cores/modules/wr_endpoint/ep_tx_packet_injection.vhd
vcom -explicit -93 -work work ../../wr-cores/modules/wr_endpoint/ep_tx_pcs_16bit.vhd
vcom -explicit -93 -work work ../../wr-cores/modules/wr_endpoint/ep_tx_pcs_8bit.vhd
vcom -explicit -93 -work work ../../wr-cores/modules/wr_streamers/streamers_pkg.vhd
vcom -explicit -93 -work work ../../wr-cores/board/common/wr_board_pkg.vhd
vcom -explicit -93 -work work ../../wr-cores/ip_cores/general-cores/modules/genrams/common/inferred_sync_fifo.vhd
vcom -explicit -93 -work work ../../wr-cores/ip_cores/general-cores/modules/genrams/xilinx/generic_simple_dpram.vhd
vcom -explicit -93 -work work ../../wr-cores/ip_cores/general-cores/modules/wishbone/wb_dpram/xwb_dpram.vhd
vcom -explicit -93 -work work ../../wr-cores/modules/wr_endpoint/ep_packet_filter.vhd
vcom -explicit -93 -work work ../../wr-cores/modules/wr_endpoint/ep_rx_pcs_16bit.vhd
vcom -explicit -93 -work work ../../wr-cores/modules/wr_endpoint/ep_rx_pcs_8bit.vhd
vcom -explicit -93 -work work ../../wr-cores/modules/wr_endpoint/ep_timestamping_unit.vhd
vcom -explicit -93 -work work ../../wr-cores/modules/wr_endpoint/ep_tx_vlan_unit.vhd
vcom -explicit -93 -work work ../../wr-cores/modules/wr_streamers/streamers_priv_pkg.vhd
vcom -explicit -93 -work work ../../wr-cores/modules/wr_streamers/xrx_streamers_stats.vhd
vcom -explicit -93 -work work ../../wr-cores/modules/wr_streamers/xtx_streamers_stats.vhd
vcom -explicit -93 -work work ../../board/wr_spec7_pkg.vhd
vcom -explicit -93 -work work ../../wr-cores/ip_cores/general-cores/modules/genrams/generic/generic_sync_fifo.vhd
vcom -explicit -93 -work work ../../wr-cores/ip_cores/general-cores/modules/wishbone/wb_lm32/src/lm32_dp_ram.vhd
vcom -explicit -93 -work work ../../wr-cores/ip_cores/general-cores/modules/wishbone/wb_lm32/src/lm32_ram.vhd
vcom -explicit -93 -work work ../../wr-cores/modules/wr_endpoint/ep_1000basex_pcs.vhd
vcom -explicit -93 -work work ../../wr-cores/modules/wr_endpoint/ep_tx_path.vhd
vcom -explicit -93 -work work ../../wr-cores/modules/wr_streamers/fixed_latency_delay.vhd
vcom -explicit -93 -work work ../../wr-cores/modules/wr_streamers/xrtx_streamers_stats.vhd
vlog -work work ../../wr-cores/ip_cores/general-cores/modules/wishbone/wb_lm32/generated/lm32_allprofiles.v
vcom -explicit -93 -work work ../../wr-cores/ip_cores/general-cores/modules/wishbone/wb_uart/wb_simple_uart.vhd
vcom -explicit -93 -work work ../../wr-cores/ip_cores/general-cores/modules/wishbone/wbgen2/wbgen2_fifo_sync.vhd
vcom -explicit -93 -work work ../../wr-cores/modules/fabric/xwrf_loopback/xwrf_loopback.vhd
vcom -explicit -93 -work work ../../wr-cores/modules/wr_endpoint/ep_rx_buffer.vhd
vcom -explicit -93 -work work ../../wr-cores/modules/wr_mini_nic/wr_mini_nic.vhd
vcom -explicit -93 -work work ../../wr-cores/modules/wr_streamers/xrx_streamer.vhd
vcom -explicit -93 -work work ../../wr-cores/modules/wr_streamers/xtx_streamer.vhd
vcom -explicit -93 -work work ../../wr-cores/ip_cores/general-cores/modules/wishbone/wb_lm32/generated/xwb_lm32.vhd
vcom -explicit -93 -work work ../../wr-cores/ip_cores/general-cores/modules/wishbone/wb_uart/xwb_simple_uart.vhd
vcom -explicit -93 -work work ../../wr-cores/modules/wr_endpoint/ep_rx_path.vhd
vcom -explicit -93 -work work ../../wr-cores/modules/wr_mini_nic/xwr_mini_nic.vhd
vcom -explicit -93 -work work ../../wr-cores/modules/wr_softpll_ng/spll_wb_slave.vhd
vcom -explicit -93 -work work ../../wr-cores/modules/wr_streamers/xwr_streamers.vhd
vcom -explicit -93 -work work ../../wr-cores/modules/wr_endpoint/wr_endpoint.vhd
vcom -explicit -93 -work work ../../wr-cores/modules/wr_softpll_ng/wr_softpll_ng.vhd
vcom -explicit -93 -work work ../../wr-cores/modules/wrc_core/wrc_periph.vhd
vcom -explicit -93 -work work ../../wr-cores/modules/wr_endpoint/xwr_endpoint.vhd
vcom -explicit -93 -work work ../../wr-cores/modules/wr_softpll_ng/xwr_softpll_ng.vhd
vcom -explicit -93 -work work ../../wr-cores/modules/wrc_core/wr_core.vhd
vcom -explicit -93 -work work ../../wr-cores/modules/wrc_core/xwr_core.vhd
vcom -explicit -93 -work work ../../wr-cores/board/common/xwrc_board_common.vhd
vcom -explicit -93 -work work ../../board/xwrc_board_spec7.vhd
vcom -explicit -93 -work work ../../top/spec7_ref_design/spec7_wr_ref_top.vhd

# Executing Vivado Block Design script:
# ../../ip/ps_pcie.bd
# results in many file that are genearted to instantiate this functionality.
# If a full simulation needs to be done including these Block Designs then Vivado can generate simulation files.
