Skip to content
GitLab
Explore
Sign in
Register
Primary navigation
Search or go to…
Project
P
PSC wave generator
Manage
Activity
Members
Labels
Plan
Issues
Issue boards
Milestones
Iterations
Wiki
Requirements
Code
Merge requests
Repository
Branches
Commits
Tags
Repository graph
Compare revisions
Snippets
Locked files
Build
Pipelines
Jobs
Pipeline schedules
Test cases
Artifacts
Deploy
Releases
Package registry
Container registry
Model registry
Operate
Environments
Terraform modules
Monitor
Incidents
Analyze
Value stream analytics
Contributor analytics
CI/CD analytics
Repository analytics
Code review analytics
Issue analytics
Insights
Model experiments
Help
Help
Support
GitLab documentation
Compare GitLab plans
GitLab community forum
Contribute to GitLab
Provide feedback
Keyboard shortcuts
?
Snippets
Groups
Projects
Show more breadcrumbs
DG
FOFB
PSC wave generator
Commits
15f19373
Commit
15f19373
authored
2 years ago
by
BRONES Romain
Browse files
Options
Downloads
Plain Diff
Phase width increased, doc corrected
parents
94743140
2f4d3f2e
Branches
Branches containing commit
Tags
1.0.1
Tags containing commit
No related merge requests found
Changes
4
Show whitespace changes
Inline
Side-by-side
Showing
4 changed files
doc/main.adoc
+37
-6
37 additions, 6 deletions
doc/main.adoc
doc/registers.adoc
+2
-1
2 additions, 1 deletion
doc/registers.adoc
hdl/pkg_pscgen.vhd
+1
-1
1 addition, 1 deletion
hdl/pkg_pscgen.vhd
rdl/pscgen.rdl
+1
-1
1 addition, 1 deletion
rdl/pscgen.rdl
with
41 additions
and
9 deletions
doc/main.adoc
+
37
−
6
View file @
15f19373
= Power Supply Controller Generator
|===
| MODULE ID | 0x507E1712 | (1350440722)
|===
// ================================================================================
== Description
This module can generate sine waveform for multiple power supplies.
...
...
@@ -10,6 +14,7 @@ The TUSER output carries the Identifier of the waveform.
It is possible to generate up to `2**C_W_TIDX` (default 255) Identifiers.
Each waveform has independents parameters:
* Phase increment
* Phase offset
* Scaling value
...
...
@@ -25,18 +30,24 @@ The values are output via the AXI-Stream Output, one value transaction by transf
The generator will compute and ouput values for Identifier from `TABLE_DEPTH` downto 0.
Entries in the `TABLE_PHASE` and `TABLE_SCALE` for these Identifier shall be configured by the user.
These two tables are addressed by the Identifier number.
Data values pack configuration, as descri
v
ed below.
Data values pack configuration, as descri
b
ed below.
.TABLE_PHASE data pack.
.TABLE_PHASE
_INCR
data pack.
|===
| `31-2*C_W_PHASE` bits |1 bit | `C_W_PHASE` bits | `C_W_PHASE` bits |
| unused |Reset accumulator | Phase offset | Phase increment |
| `32-C_W_PHASE` bits | `C_W_PHASE` bits
| unused | Phase increment
|===
.TABLE_PHASE_OFFS data pack.
|===
| `31-*C_W_PHASE` bits |1 bit | `C_W_PHASE` bits
| unused |Reset accumulator | Phase offset
|===
.TABLE_SCALE data pack.
|===
| `32-C_W_OFFSET-C_W_SCALE` bits | `C_W_OFFSET` bits | `C_W_SCALE` bits
|
| unused | Signal Offset | Signal Scale Factor
|
| `32-C_W_OFFSET-C_W_SCALE` bits | `C_W_OFFSET` bits | `C_W_SCALE` bits
| unused | Signal Offset | Signal Scale Factor
|===
The DDS contained in the module receive the phase value, computed from the sum of the accumulator and the *Phase Offset* configuration.
...
...
@@ -48,7 +59,27 @@ The output of the DDS is multiplied by the *Signal Scale Factor*, which is consi
The *Signal Offset* is then applied, aligned on the fixed point (no decimals).
The final result is scrapped of decimals values.
// ================================================================================
== AXIS output format
The generator produces AXIS packets with a compatible format for COMCORR IP module.
The AXIS contains:
* TDATA: the sine waveform value (signed integer).
* TUSER: the PSCID.
* TVALID: data strobe.
The AXIS **does not** contain **TREADY** input on this module.
The COMCORR IP module does not either.
// ================================================================================
== Registers map
include::registers.adoc[]
// ================================================================================
== TODO / Future devs
* The PSCID is now a simple count down from `TABLE_DEPTH` to 0.
A table to translate from this count to a proper PSCID will be implemented.
In the meantime, a correct configuration of the COMCORR module shall suffice.
This diff is collapsed.
Click to expand it.
doc/registers.adoc
+
2
−
1
View file @
15f19373
...
...
@@ -15,7 +15,8 @@
|===
|Name | N | bits | type | RW | Description
| TABLE_PHASE | 256 | 31 | uint | RW | +++Phase increment and offset table+++
| TABLE_PHASE_INCR | 256 | 31 | uint | RW | +++Phase increment table+++
| TABLE_PHASE_OFFS | 256 | 31 | uint | RW | +++Phase offset and reset table+++
| TABLE_SCALE | 256 | 32 | uint | RW | +++Signal scale and offset table+++
|===
This diff is collapsed.
Click to expand it.
hdl/pkg_pscgen.vhd
+
1
−
1
View file @
15f19373
package
pkg_pscgen
is
constant
C_W_PHASE
:
natural
:
=
15
;
constant
C_W_PHASE
:
natural
:
=
20
;
constant
C_W_TIDX
:
natural
:
=
8
;
constant
C_W_SINE
:
natural
:
=
26
;
constant
C_W_SIG
:
natural
:
=
16
;
...
...
This diff is collapsed.
Click to expand it.
rdl/pscgen.rdl
+
1
−
1
View file @
15f19373
...
...
@@ -2,7 +2,7 @@
/* default values of defined variables */
`ifndef C_ID
`define C_ID 0x
1FF0000
2
`define C_ID 0x
507E171
2
`endif
`ifndef C_VERSION
`define C_VERSION 0x00000000
...
...
This diff is collapsed.
Click to expand it.
Preview
0%
Loading
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Save comment
Cancel
Please
register
or
sign in
to comment