254 lines
5.9 KiB
Plaintext
254 lines
5.9 KiB
Plaintext
|
/*<simulation_settings>
|
||
|
<ftestbench_cmd>quartus_eda --gen_testbench --tool=modelsim_oem --format=vhdl --write_settings_files=off CounterDemo -c CounterDemo --vector_source="/home/tiagorg/repos/uaveiro-leci/1ano/2semestre/lsd/pratica04/CounterDemo/CounterDown4.vwf" --testbench_file="/home/tiagorg/repos/uaveiro-leci/1ano/2semestre/lsd/pratica04/CounterDemo/simulation/qsim/CounterDown4.vwf.vht"</ftestbench_cmd>
|
||
|
<ttestbench_cmd>quartus_eda --gen_testbench --tool=modelsim_oem --format=vhdl --write_settings_files=off CounterDemo -c CounterDemo --vector_source="/home/tiagorg/repos/uaveiro-leci/1ano/2semestre/lsd/pratica04/CounterDemo/CounterDown4.vwf" --testbench_file="/home/tiagorg/repos/uaveiro-leci/1ano/2semestre/lsd/pratica04/CounterDemo/simulation/qsim/CounterDown4.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/uaveiro-leci/1ano/2semestre/lsd/pratica04/CounterDemo/simulation/qsim/" CounterDemo -c CounterDemo</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/uaveiro-leci/1ano/2semestre/lsd/pratica04/CounterDemo/simulation/qsim/" CounterDemo -c CounterDemo</tnetlist_cmd>
|
||
|
<modelsim_script>onerror {exit -code 1}
|
||
|
vlib work
|
||
|
vcom -work work CounterDemo.vho
|
||
|
vcom -work work CounterDown4.vwf.vht
|
||
|
vsim -c -t 1ps -L cycloneive -L altera -L altera_mf -L 220model -L sgate -L altera_lnsim work.CounterDown4_vhd_vec_tst
|
||
|
vcd file -direction CounterDemo.msim.vcd
|
||
|
vcd add -internal CounterDown4_vhd_vec_tst/*
|
||
|
vcd add -internal CounterDown4_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 CounterDemo.vho
|
||
|
vcom -work work CounterDown4.vwf.vht
|
||
|
vsim -novopt -c -t 1ps -sdfmax CounterDown4_vhd_vec_tst/i1=CounterDemo_vhd.sdo -L cycloneive -L altera -L altera_mf -L 220model -L sgate -L altera_lnsim work.CounterDown4_vhd_vec_tst
|
||
|
vcd file -direction CounterDemo.msim.vcd
|
||
|
vcd add -internal CounterDown4_vhd_vec_tst/*
|
||
|
vcd add -internal CounterDown4_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("clk")
|
||
|
{
|
||
|
VALUE_TYPE = NINE_LEVEL_BIT;
|
||
|
SIGNAL_TYPE = SINGLE_BIT;
|
||
|
WIDTH = 1;
|
||
|
LSB_INDEX = -1;
|
||
|
DIRECTION = INPUT;
|
||
|
PARENT = "";
|
||
|
}
|
||
|
|
||
|
SIGNAL("count")
|
||
|
{
|
||
|
VALUE_TYPE = NINE_LEVEL_BIT;
|
||
|
SIGNAL_TYPE = BUS;
|
||
|
WIDTH = 4;
|
||
|
LSB_INDEX = 0;
|
||
|
DIRECTION = OUTPUT;
|
||
|
PARENT = "";
|
||
|
}
|
||
|
|
||
|
SIGNAL("count[3]")
|
||
|
{
|
||
|
VALUE_TYPE = NINE_LEVEL_BIT;
|
||
|
SIGNAL_TYPE = SINGLE_BIT;
|
||
|
WIDTH = 1;
|
||
|
LSB_INDEX = -1;
|
||
|
DIRECTION = OUTPUT;
|
||
|
PARENT = "count";
|
||
|
}
|
||
|
|
||
|
SIGNAL("count[2]")
|
||
|
{
|
||
|
VALUE_TYPE = NINE_LEVEL_BIT;
|
||
|
SIGNAL_TYPE = SINGLE_BIT;
|
||
|
WIDTH = 1;
|
||
|
LSB_INDEX = -1;
|
||
|
DIRECTION = OUTPUT;
|
||
|
PARENT = "count";
|
||
|
}
|
||
|
|
||
|
SIGNAL("count[1]")
|
||
|
{
|
||
|
VALUE_TYPE = NINE_LEVEL_BIT;
|
||
|
SIGNAL_TYPE = SINGLE_BIT;
|
||
|
WIDTH = 1;
|
||
|
LSB_INDEX = -1;
|
||
|
DIRECTION = OUTPUT;
|
||
|
PARENT = "count";
|
||
|
}
|
||
|
|
||
|
SIGNAL("count[0]")
|
||
|
{
|
||
|
VALUE_TYPE = NINE_LEVEL_BIT;
|
||
|
SIGNAL_TYPE = SINGLE_BIT;
|
||
|
WIDTH = 1;
|
||
|
LSB_INDEX = -1;
|
||
|
DIRECTION = OUTPUT;
|
||
|
PARENT = "count";
|
||
|
}
|
||
|
|
||
|
TRANSITION_LIST("clk")
|
||
|
{
|
||
|
NODE
|
||
|
{
|
||
|
REPEAT = 1;
|
||
|
NODE
|
||
|
{
|
||
|
REPEAT = 25;
|
||
|
LEVEL 0 FOR 20.0;
|
||
|
LEVEL 1 FOR 20.0;
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
|
||
|
TRANSITION_LIST("count[3]")
|
||
|
{
|
||
|
NODE
|
||
|
{
|
||
|
REPEAT = 1;
|
||
|
LEVEL X FOR 1000.0;
|
||
|
}
|
||
|
}
|
||
|
|
||
|
TRANSITION_LIST("count[2]")
|
||
|
{
|
||
|
NODE
|
||
|
{
|
||
|
REPEAT = 1;
|
||
|
LEVEL X FOR 1000.0;
|
||
|
}
|
||
|
}
|
||
|
|
||
|
TRANSITION_LIST("count[1]")
|
||
|
{
|
||
|
NODE
|
||
|
{
|
||
|
REPEAT = 1;
|
||
|
LEVEL X FOR 1000.0;
|
||
|
}
|
||
|
}
|
||
|
|
||
|
TRANSITION_LIST("count[0]")
|
||
|
{
|
||
|
NODE
|
||
|
{
|
||
|
REPEAT = 1;
|
||
|
LEVEL X FOR 1000.0;
|
||
|
}
|
||
|
}
|
||
|
|
||
|
DISPLAY_LINE
|
||
|
{
|
||
|
CHANNEL = "clk";
|
||
|
EXPAND_STATUS = COLLAPSED;
|
||
|
RADIX = Binary;
|
||
|
TREE_INDEX = 0;
|
||
|
TREE_LEVEL = 0;
|
||
|
}
|
||
|
|
||
|
DISPLAY_LINE
|
||
|
{
|
||
|
CHANNEL = "count";
|
||
|
EXPAND_STATUS = EXPANDED;
|
||
|
RADIX = Binary;
|
||
|
TREE_INDEX = 1;
|
||
|
TREE_LEVEL = 0;
|
||
|
CHILDREN = 2, 3, 4, 5;
|
||
|
}
|
||
|
|
||
|
DISPLAY_LINE
|
||
|
{
|
||
|
CHANNEL = "count[3]";
|
||
|
EXPAND_STATUS = COLLAPSED;
|
||
|
RADIX = Binary;
|
||
|
TREE_INDEX = 2;
|
||
|
TREE_LEVEL = 1;
|
||
|
PARENT = 1;
|
||
|
}
|
||
|
|
||
|
DISPLAY_LINE
|
||
|
{
|
||
|
CHANNEL = "count[2]";
|
||
|
EXPAND_STATUS = COLLAPSED;
|
||
|
RADIX = Binary;
|
||
|
TREE_INDEX = 3;
|
||
|
TREE_LEVEL = 1;
|
||
|
PARENT = 1;
|
||
|
}
|
||
|
|
||
|
DISPLAY_LINE
|
||
|
{
|
||
|
CHANNEL = "count[1]";
|
||
|
EXPAND_STATUS = COLLAPSED;
|
||
|
RADIX = Binary;
|
||
|
TREE_INDEX = 4;
|
||
|
TREE_LEVEL = 1;
|
||
|
PARENT = 1;
|
||
|
}
|
||
|
|
||
|
DISPLAY_LINE
|
||
|
{
|
||
|
CHANNEL = "count[0]";
|
||
|
EXPAND_STATUS = COLLAPSED;
|
||
|
RADIX = Binary;
|
||
|
TREE_INDEX = 5;
|
||
|
TREE_LEVEL = 1;
|
||
|
PARENT = 1;
|
||
|
}
|
||
|
|
||
|
TIME_BAR
|
||
|
{
|
||
|
TIME = 0;
|
||
|
MASTER = TRUE;
|
||
|
}
|
||
|
;
|