OpenCores
URL https://opencores.org/ocsvn/ss_pcm/ss_pcm/trunk

Subversion Repositories ss_pcm

[/] [ss_pcm/] [trunk/] [doc/] [README.txt] - Blame information for rev 5

Details | Compare with Previous | View Log

Line No. Rev Author Line
1 2 rudi
 
2
SS_PCM (Single Slot Slave PCM Intervace)
3
============================================
4
 
5
Status
6
------
7
This core is done. It was tested on a XESS XCV800 board
8
interfacing to a proprietary device with a TI DSP, exchanging
9
PCM streams in both directions.
10
 
11
Test Bench
12
----------
13
There is no test bench, period !
14
Please don't email me asking for one, unless you want to hire
15
me to write one ! As I said above I have tested this core in
16
real hardware and it works just fine.
17
 
18
Documentation
19
-------------
20
Sorry, there is none. I just don't have the time to write it.
21
 
22
Here is a short how to:
23
 
24
This is a Salve PCM interface, meaning Clock and Sync are input
25
to the core. To make it a Master interface add a clock and Sync
26
signal generator (for example a 128KHz clock and 8KHz Sync).
27
 
28
PCM Clock is an external clock source and can really be any
29
clock rate. It should however be 16 times faster than the PCM
30
Sync signal rate.
31
 
32
PCM Sync, indicates the start of a PCM frame and in a practical
33
application would come in 8KHz intervals.
34
 
35
SSEL, indicates how many clock cycles to wait after a Sync
36
signal before starting to receive and transmit data.
37
 
38
After seeing a the Sync signal, this core will wait 'SSEL'
39
number of PCM clock cycles and then start receiving and
40
transmitting. Receiving and transmitting always happens
41
simultaneously. After it has finished receiving and transmitting
42
16 bits it will wait for the next Sync signal before repeating
43
the process.
44
 
45
At the end of receive process data is transferred from a
46
shift register to a hold register, guaranteeing that the data
47
will only change once during one Sync period.
48
After seeing the Sync signal, data is transferred from a transmit
49
holding register to a transmit shift register. If the transmit
50
hold register is not updates during one sync period the previous
51
data is retransmitted.
52
 
53
All of the above behavior is in compliance with general PCM
54
stream usage.
55
 
56
The core itself has a 8 bit interface. 're_i' selects between
57
the high and low byte in the holding register:
58
re_i-1  High byte from the receive holding register is driven
59
        on dout_o
60
re_i-0  Low byte from the receive holding register is driven
61
        on dout_o
62
 
63
To write data to the core:
64
we_i[0]-1       Stores data from din_i to transmit hold
65
                register low byte
66
we_i[1]-1       Stores data from din_i to transmit hold
67
                register high byte
68
 
69
 
70
 
71
Misc
72
----
73
The SASC Project Page is:
74
http://www.opencores.org/cores/sasc/
75
 
76
To find out more about me (Rudolf Usselmann), please visit:
77
http://www.asics.ws
78
 
79
 
80
Directory Structure
81
-------------------
82
[core_root]
83
 |
84
 +-doc                        Documentation
85
 |
86
 +-bench--+                   Test Bench
87
 |        +- verilog          Verilog Sources
88
 |        +-vhdl              VHDL Sources
89
 |
90
 +-rtl----+                   Core RTL Sources
91
 |        +-verilog           Verilog Sources
92
 |        +-vhdl              VHDL Sources
93
 |
94
 +-sim----+
95
 |        +-rtl_sim---+       Functional verification Directory
96
 |        |           +-bin   Makefiles/Run Scripts
97
 |        |           +-run   Working Directory
98
 |        |
99
 |        +-gate_sim--+       Functional & Timing Gate Level
100
 |                    |       Verification Directory
101
 |                    +-bin   Makefiles/Run Scripts
102
 |                    +-run   Working Directory
103
 |
104
 +-lint--+                    Lint Directory Tree
105
 |       +-bin                Makefiles/Run Scripts
106
 |       +-run                Working Directory
107
 |       +-log                Linter log & result files
108
 |
109
 +-syn---+                    Synthesis Directory Tree
110
 |       +-bin                Synthesis Scripts
111
 |       +-run                Working Directory
112
 |       +-log                Synthesis log files
113
 |       +-out                Synthesis Output
114
 

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.