1 |
2 |
madsilicon |
---------------------------------------------------------------
|
2 |
|
|
-- G.729A Codec Self-Test Module
|
3 |
|
|
---------------------------------------------------------------
|
4 |
|
|
|
5 |
|
|
This folder holds source VHDL files and memory intialization files for
|
6 |
|
|
G.729A codec core self-test module and simulation test-bench. Self-test
|
7 |
|
|
module is intendeded to provide end user with a simple way of verifying
|
8 |
|
|
core functionality.
|
9 |
|
|
|
10 |
|
|
Self-test module consists of:
|
11 |
|
|
1) Codec core instance.
|
12 |
|
|
2) Input data ROM.
|
13 |
|
|
3) (Expected) output data (to be compared with actual codec outputs) ROM.
|
14 |
|
|
4) Control logic managing codec operations, read operations from data
|
15 |
|
|
ROMs and results checking. This logic provides an example of how to
|
16 |
|
|
interface the codec core to user logic.
|
17 |
|
|
|
18 |
|
|
Self-test module has only four ports:
|
19 |
|
|
1) CLK_i, clock input.
|
20 |
|
|
2) RST_i, synchronous reset input (active high).
|
21 |
|
|
3) DONE_o, self-test completed output (active high).
|
22 |
|
|
4) PASS_o, selft-test passed (no error) output (active high).
|
23 |
|
|
|
24 |
|
|
File list:
|
25 |
|
|
G729A_asip_st_roms.vhd, ROM model with data content specified as VHDL constant.
|
26 |
|
|
G729A_codec_st_rom_pkg.vhd, VHDL package declaring ROM data content constant.
|
27 |
|
|
G729A_codec_selftest.vhd, self-test module VHDL code.
|
28 |
|
|
G729A_codec_selftest_TB.vhd, selt-test module simulation test-bench VHDL code.
|
29 |
|
|
G729A_codec_sti_rom.mif, input data ROM MIF file.
|
30 |
|
|
G729A_codec_sto_rom.mif, output/check data ROM MIF file.
|
31 |
|
|
|
32 |
|
|
Notes:
|
33 |
|
|
(1) By default, self-test module uses ROM models with data content
|
34 |
|
|
specified as VHDL constant (rathen than by MIF files). If you want to use
|
35 |
|
|
MIF files, edit G729A_codec_selftest_TB.vhd and set "USE_ROM_MIF" constant
|
36 |
|
|
value to '1'. WARNING: Simulation must be performed with USE_ROM_MIF = '0'!
|
37 |
|
|
(2) VHDL code of ROM model using MIF files is the same used for codec internal
|
38 |
|
|
ROMs of the same type, and therefore is not included here.
|
39 |
|
|
|
40 |
|
|
Self-test simulation runs for ~27ms, when this time has elapsed, both outputs
|
41 |
|
|
should be high, to flag test completion and succesful result.
|
42 |
|
|
|
43 |
|
|
See "SCRIPTS" folder for a sample Modelsim script compiling all required files,
|
44 |
|
|
adding relevant signals to waveform list and running self-test simulation.
|
45 |
|
|
This script can be used as starting point to build similar scripts for other
|
46 |
|
|
simulation tools.
|