Guest
Hi,
I am working on a VHDL test bench. I have generated a bunch of
procedure such as writeData, readData, generateClocks and so forth. I
threw these into a package file and can call them from my main
testbench. They work fine but I would like to alter how they get
called.
Question 1: When you call a procedure- you need to pass it all of the
arguements and all the signals it needs to change. For example, I have
to do the following for each write
writeData(addressToWrite, dataToWrite, clk, addressBus, dataBus,
validStrobe);
For each transaction. Can I alias that to something short and simple?
Ex.
alias standardWrite = writeData(addressToWrite, dataToWrite, clk,
addressBus, dataBus, validStrobe); (alias not being the VHDL call
obviously)
Question 2: Can I make a file that contains just a bunch of testbench
commands and doesn't include the entire architecture for the testbench?
I have in the past put this stuff in a text file then read it out-
parse it and called the proper commands- but this seems like a complete
waste of time and effort- and is not very scalable. I don't want to
define my own operands and would simply like to stay in VHDL. I would
like to do something like....
tb_uut.vhd
entity tb_uut
end tb_uut;
architecture tb of tb_uut is
comp uut.....
signal .......
begin
uut1: uut......
case something_I_can_control_externally IS
X: loadVHDLFile x.vhd -- where x.vhd has my testbench control
commands.
end;
I am working on a VHDL test bench. I have generated a bunch of
procedure such as writeData, readData, generateClocks and so forth. I
threw these into a package file and can call them from my main
testbench. They work fine but I would like to alter how they get
called.
Question 1: When you call a procedure- you need to pass it all of the
arguements and all the signals it needs to change. For example, I have
to do the following for each write
writeData(addressToWrite, dataToWrite, clk, addressBus, dataBus,
validStrobe);
For each transaction. Can I alias that to something short and simple?
Ex.
alias standardWrite = writeData(addressToWrite, dataToWrite, clk,
addressBus, dataBus, validStrobe); (alias not being the VHDL call
obviously)
Question 2: Can I make a file that contains just a bunch of testbench
commands and doesn't include the entire architecture for the testbench?
I have in the past put this stuff in a text file then read it out-
parse it and called the proper commands- but this seems like a complete
waste of time and effort- and is not very scalable. I don't want to
define my own operands and would simply like to stay in VHDL. I would
like to do something like....
tb_uut.vhd
entity tb_uut
end tb_uut;
architecture tb of tb_uut is
comp uut.....
signal .......
begin
uut1: uut......
case something_I_can_control_externally IS
X: loadVHDLFile x.vhd -- where x.vhd has my testbench control
commands.
end;