329 lines
6.3 KiB
Plaintext
329 lines
6.3 KiB
Plaintext
/*<simulation_settings>
|
|
<ftestbench_cmd>quartus_eda --gen_testbench --tool=modelsim_oem --format=vhdl --write_settings_files=off DecoderDemo -c DecoderDemo --vector_source="/home/tiagorg/repos/DecoderDemo/Waveform1.vwf" --testbench_file="/home/tiagorg/repos/DecoderDemo/simulation/qsim/Waveform1.vwf.vht"</ftestbench_cmd>
|
|
<ttestbench_cmd>quartus_eda --gen_testbench --tool=modelsim_oem --format=vhdl --write_settings_files=off DecoderDemo -c DecoderDemo --vector_source="/home/tiagorg/repos/DecoderDemo/Waveform1.vwf" --testbench_file="/home/tiagorg/repos/DecoderDemo/simulation/qsim/Waveform1.vwf.vht"</ttestbench_cmd>
|
|
<fnetlist_cmd>quartus_eda --write_settings_files=off --simulation --functional=on --flatten_buses=off --tool=modelsim_oem --format=vhdl --output_directory="/home/tiagorg/repos/DecoderDemo/simulation/qsim/" DecoderDemo -c DecoderDemo</fnetlist_cmd>
|
|
<tnetlist_cmd>quartus_eda --write_settings_files=off --simulation --functional=off --flatten_buses=off --timescale=1ps --tool=modelsim_oem --format=vhdl --output_directory="/home/tiagorg/repos/DecoderDemo/simulation/qsim/" DecoderDemo -c DecoderDemo</tnetlist_cmd>
|
|
<modelsim_script>onerror {exit -code 1}
|
|
vlib work
|
|
vcom -work work DecoderDemo.vho
|
|
vcom -work work Waveform1.vwf.vht
|
|
vsim -c -t 1ps -L cycloneive -L altera -L altera_mf -L 220model -L sgate -L altera_lnsim work.Dec2_4_vhd_vec_tst
|
|
vcd file -direction DecoderDemo.msim.vcd
|
|
vcd add -internal Dec2_4_vhd_vec_tst/*
|
|
vcd add -internal Dec2_4_vhd_vec_tst/i1/*
|
|
proc simTimestamp {} {
|
|
echo "Simulation time: $::now ps"
|
|
if { [string equal running [runStatus]] } {
|
|
after 2500 simTimestamp
|
|
}
|
|
}
|
|
after 2500 simTimestamp
|
|
run -all
|
|
quit -f
|
|
</modelsim_script>
|
|
<modelsim_script_timing>onerror {exit -code 1}
|
|
vlib work
|
|
vcom -work work DecoderDemo.vho
|
|
vcom -work work Waveform1.vwf.vht
|
|
vsim -novopt -c -t 1ps -sdfmax Dec2_4_vhd_vec_tst/i1=DecoderDemo_vhd.sdo -L cycloneive -L altera -L altera_mf -L 220model -L sgate -L altera_lnsim work.Dec2_4_vhd_vec_tst
|
|
vcd file -direction DecoderDemo.msim.vcd
|
|
vcd add -internal Dec2_4_vhd_vec_tst/*
|
|
vcd add -internal Dec2_4_vhd_vec_tst/i1/*
|
|
proc simTimestamp {} {
|
|
echo "Simulation time: $::now ps"
|
|
if { [string equal running [runStatus]] } {
|
|
after 2500 simTimestamp
|
|
}
|
|
}
|
|
after 2500 simTimestamp
|
|
run -all
|
|
quit -f
|
|
</modelsim_script_timing>
|
|
<hdl_lang>vhdl</hdl_lang>
|
|
</simulation_settings>*/
|
|
/*
|
|
WARNING: Do NOT edit the input and output ports in this file in a text
|
|
editor if you plan to continue editing the block that represents it in
|
|
the Block Editor! File corruption is VERY likely to occur.
|
|
*/
|
|
|
|
/*
|
|
Copyright (C) 2020 Intel Corporation. All rights reserved.
|
|
Your use of Intel Corporation's design tools, logic functions
|
|
and other software and tools, and any partner logic
|
|
functions, and any output files from any of the foregoing
|
|
(including device programming or simulation files), and any
|
|
associated documentation or information are expressly subject
|
|
to the terms and conditions of the Intel Program License
|
|
Subscription Agreement, the Intel Quartus Prime License Agreement,
|
|
the Intel FPGA IP License Agreement, or other applicable license
|
|
agreement, including, without limitation, that your use is for
|
|
the sole purpose of programming logic devices manufactured by
|
|
Intel and sold by Intel or its authorized distributors. Please
|
|
refer to the applicable agreement for further details, at
|
|
https://fpgasoftware.intel.com/eula.
|
|
*/
|
|
|
|
HEADER
|
|
{
|
|
VERSION = 1;
|
|
TIME_UNIT = ns;
|
|
DATA_OFFSET = 0.0;
|
|
DATA_DURATION = 1000.0;
|
|
SIMULATION_TIME = 0.0;
|
|
GRID_PHASE = 0.0;
|
|
GRID_PERIOD = 10.0;
|
|
GRID_DUTY_CYCLE = 50;
|
|
}
|
|
|
|
SIGNAL("E0L")
|
|
{
|
|
VALUE_TYPE = NINE_LEVEL_BIT;
|
|
SIGNAL_TYPE = SINGLE_BIT;
|
|
WIDTH = 1;
|
|
LSB_INDEX = -1;
|
|
DIRECTION = INPUT;
|
|
PARENT = "";
|
|
}
|
|
|
|
SIGNAL("E1")
|
|
{
|
|
VALUE_TYPE = NINE_LEVEL_BIT;
|
|
SIGNAL_TYPE = SINGLE_BIT;
|
|
WIDTH = 1;
|
|
LSB_INDEX = -1;
|
|
DIRECTION = INPUT;
|
|
PARENT = "";
|
|
}
|
|
|
|
SIGNAL("X0")
|
|
{
|
|
VALUE_TYPE = NINE_LEVEL_BIT;
|
|
SIGNAL_TYPE = SINGLE_BIT;
|
|
WIDTH = 1;
|
|
LSB_INDEX = -1;
|
|
DIRECTION = INPUT;
|
|
PARENT = "";
|
|
}
|
|
|
|
SIGNAL("X1")
|
|
{
|
|
VALUE_TYPE = NINE_LEVEL_BIT;
|
|
SIGNAL_TYPE = SINGLE_BIT;
|
|
WIDTH = 1;
|
|
LSB_INDEX = -1;
|
|
DIRECTION = INPUT;
|
|
PARENT = "";
|
|
}
|
|
|
|
SIGNAL("Y0")
|
|
{
|
|
VALUE_TYPE = NINE_LEVEL_BIT;
|
|
SIGNAL_TYPE = SINGLE_BIT;
|
|
WIDTH = 1;
|
|
LSB_INDEX = -1;
|
|
DIRECTION = OUTPUT;
|
|
PARENT = "";
|
|
}
|
|
|
|
SIGNAL("Y1")
|
|
{
|
|
VALUE_TYPE = NINE_LEVEL_BIT;
|
|
SIGNAL_TYPE = SINGLE_BIT;
|
|
WIDTH = 1;
|
|
LSB_INDEX = -1;
|
|
DIRECTION = OUTPUT;
|
|
PARENT = "";
|
|
}
|
|
|
|
SIGNAL("Y2")
|
|
{
|
|
VALUE_TYPE = NINE_LEVEL_BIT;
|
|
SIGNAL_TYPE = SINGLE_BIT;
|
|
WIDTH = 1;
|
|
LSB_INDEX = -1;
|
|
DIRECTION = OUTPUT;
|
|
PARENT = "";
|
|
}
|
|
|
|
SIGNAL("Y3")
|
|
{
|
|
VALUE_TYPE = NINE_LEVEL_BIT;
|
|
SIGNAL_TYPE = SINGLE_BIT;
|
|
WIDTH = 1;
|
|
LSB_INDEX = -1;
|
|
DIRECTION = OUTPUT;
|
|
PARENT = "";
|
|
}
|
|
|
|
TRANSITION_LIST("E0L")
|
|
{
|
|
NODE
|
|
{
|
|
REPEAT = 1;
|
|
NODE
|
|
{
|
|
REPEAT = 40;
|
|
LEVEL 0 FOR 12.5;
|
|
LEVEL 1 FOR 12.5;
|
|
}
|
|
}
|
|
}
|
|
|
|
TRANSITION_LIST("E1")
|
|
{
|
|
NODE
|
|
{
|
|
REPEAT = 1;
|
|
NODE
|
|
{
|
|
REPEAT = 20;
|
|
LEVEL 0 FOR 25.0;
|
|
LEVEL 1 FOR 25.0;
|
|
}
|
|
}
|
|
}
|
|
|
|
TRANSITION_LIST("X0")
|
|
{
|
|
NODE
|
|
{
|
|
REPEAT = 1;
|
|
NODE
|
|
{
|
|
REPEAT = 10;
|
|
LEVEL 0 FOR 50.0;
|
|
LEVEL 1 FOR 50.0;
|
|
}
|
|
}
|
|
}
|
|
|
|
TRANSITION_LIST("X1")
|
|
{
|
|
NODE
|
|
{
|
|
REPEAT = 1;
|
|
NODE
|
|
{
|
|
REPEAT = 5;
|
|
LEVEL 0 FOR 100.0;
|
|
LEVEL 1 FOR 100.0;
|
|
}
|
|
}
|
|
}
|
|
|
|
TRANSITION_LIST("Y0")
|
|
{
|
|
NODE
|
|
{
|
|
REPEAT = 1;
|
|
LEVEL X FOR 1000.0;
|
|
}
|
|
}
|
|
|
|
TRANSITION_LIST("Y1")
|
|
{
|
|
NODE
|
|
{
|
|
REPEAT = 1;
|
|
LEVEL X FOR 1000.0;
|
|
}
|
|
}
|
|
|
|
TRANSITION_LIST("Y2")
|
|
{
|
|
NODE
|
|
{
|
|
REPEAT = 1;
|
|
LEVEL X FOR 1000.0;
|
|
}
|
|
}
|
|
|
|
TRANSITION_LIST("Y3")
|
|
{
|
|
NODE
|
|
{
|
|
REPEAT = 1;
|
|
LEVEL X FOR 1000.0;
|
|
}
|
|
}
|
|
|
|
DISPLAY_LINE
|
|
{
|
|
CHANNEL = "E0L";
|
|
EXPAND_STATUS = COLLAPSED;
|
|
RADIX = Binary;
|
|
TREE_INDEX = 0;
|
|
TREE_LEVEL = 0;
|
|
}
|
|
|
|
DISPLAY_LINE
|
|
{
|
|
CHANNEL = "E1";
|
|
EXPAND_STATUS = COLLAPSED;
|
|
RADIX = Binary;
|
|
TREE_INDEX = 1;
|
|
TREE_LEVEL = 0;
|
|
}
|
|
|
|
DISPLAY_LINE
|
|
{
|
|
CHANNEL = "X0";
|
|
EXPAND_STATUS = COLLAPSED;
|
|
RADIX = Binary;
|
|
TREE_INDEX = 2;
|
|
TREE_LEVEL = 0;
|
|
}
|
|
|
|
DISPLAY_LINE
|
|
{
|
|
CHANNEL = "X1";
|
|
EXPAND_STATUS = COLLAPSED;
|
|
RADIX = Binary;
|
|
TREE_INDEX = 3;
|
|
TREE_LEVEL = 0;
|
|
}
|
|
|
|
DISPLAY_LINE
|
|
{
|
|
CHANNEL = "Y0";
|
|
EXPAND_STATUS = COLLAPSED;
|
|
RADIX = Binary;
|
|
TREE_INDEX = 4;
|
|
TREE_LEVEL = 0;
|
|
}
|
|
|
|
DISPLAY_LINE
|
|
{
|
|
CHANNEL = "Y1";
|
|
EXPAND_STATUS = COLLAPSED;
|
|
RADIX = Binary;
|
|
TREE_INDEX = 5;
|
|
TREE_LEVEL = 0;
|
|
}
|
|
|
|
DISPLAY_LINE
|
|
{
|
|
CHANNEL = "Y2";
|
|
EXPAND_STATUS = COLLAPSED;
|
|
RADIX = Binary;
|
|
TREE_INDEX = 6;
|
|
TREE_LEVEL = 0;
|
|
}
|
|
|
|
DISPLAY_LINE
|
|
{
|
|
CHANNEL = "Y3";
|
|
EXPAND_STATUS = COLLAPSED;
|
|
RADIX = Binary;
|
|
TREE_INDEX = 7;
|
|
TREE_LEVEL = 0;
|
|
}
|
|
|
|
TIME_BAR
|
|
{
|
|
TIME = 0;
|
|
MASTER = TRUE;
|
|
}
|
|
;
|