Skip to content
GitLab
Explore
Sign in
Primary navigation
Search or go to…
Project
R
ring
Manage
Activity
Members
Labels
Plan
Issues
Issue boards
Milestones
Wiki
Code
Merge requests
Repository
Branches
Commits
Tags
Repository graph
Compare revisions
Snippets
Build
Pipelines
Jobs
Pipeline schedules
Artifacts
Deploy
Releases
Model registry
Operate
Environments
Monitor
Incidents
Analyze
Value stream analytics
Contributor analytics
CI/CD analytics
Repository analytics
Model experiments
Help
Help
Support
GitLab documentation
Compare GitLab plans
Community forum
Contribute to GitLab
Provide feedback
Keyboard shortcuts
?
Snippets
Groups
Projects
Show more breadcrumbs
pub
ring
Commits
b0653ff4
Commit
b0653ff4
authored
3 years ago
by
Erik Strand
Browse files
Options
Downloads
Patches
Plain Diff
Add FPGA communication ring test results
parent
fd2a704e
Branches
Branches containing commit
No related tags found
No related merge requests found
Pipeline
#14694
passed
3 years ago
Stage: deploy
Changes
4
Pipelines
1
Show whitespace changes
Inline
Side-by-side
Showing
4 changed files
GPIO/iCE40/README.md
+1
-1
1 addition, 1 deletion
GPIO/iCE40/README.md
comm/iCE40/README.md
+35
-0
35 additions, 0 deletions
comm/iCE40/README.md
comm/iCE40/img/comm_ring_40mhz.PNG
+0
-0
0 additions, 0 deletions
comm/iCE40/img/comm_ring_40mhz.PNG
index.html
+9
-1
9 additions, 1 deletion
index.html
with
45 additions
and
2 deletions
GPIO/iCE40/README.md
+
1
−
1
View file @
b0653ff4
# iCE40 Ring Test
# iCE40 Ring
Oscillator
Test
## Dependencies
## Dependencies
...
...
This diff is collapsed.
Click to expand it.
comm/iCE40/README.md
0 → 100644
+
35
−
0
View file @
b0653ff4
# iCE40 Communication Ring Test
## Dependencies
-
[
IceStorm tools
](
https://github.com/YosysHQ/icestorm
)
-
[
yosys
](
http://www.clifford.at/yosys/download.html
)
-
[
nextpnr
](
https://github.com/YosysHQ/nextpnr
)
Install instructions for all of the above tools can be found on the
[
IceStorm
website
](
http://bygone.clairexen.net/icestorm/
)
.
## Building
The default
`make`
target synthesizes the design and runs a timing analysis. The target
`prog`
programs an available iCEBreaker via USB.
## Running
I used two iCEBreaker boards. Each board's P1A1 is connected to the other's P1A2. (If you connect
the two P1A1 pins together, the drivers will fight each other until one burns out.) I monitored P1A4
on one of the boards with an oscilloscope. By triggering on this signal, I can time how long it
takes to send 256 packets round trip. (The result of the test is thus the frequency the oscilloscope
reports times 256.)
## Results
The fastest I can clock the FPGA while passing
`icetime`
's analysis is 39.75MHz. This lets us use a
baud rate of nearly 5Mbit (we want to use 8x oversampling when receiving data since the two FPGAs
clocks aren't synchronized). At this speed, we see groups of 256 round trips happening at a rate of
978Hz. So overall this means the individual round trip frequency is 250kHz.

Out of curiosity, I tried running at 48MHz as well and it seemed to work. At 60MHz however it
quickly drops a byte. So here it seems prudent to stay within
`icetime`
's limits.
This diff is collapsed.
Click to expand it.
comm/iCE40/img/comm_ring_40mhz.PNG
0 → 100644
+
0
−
0
View file @
b0653ff4
8.58 KiB
This diff is collapsed.
Click to expand it.
index.html
+
9
−
1
View file @
b0653ff4
...
@@ -203,6 +203,14 @@ The communication test measures how quickly two nodes can exchange messages; thi
...
@@ -203,6 +203,14 @@ The communication test measures how quickly two nodes can exchange messages; thi
<th>
date
</th>
<th>
date
</th>
</tr>
</tr>
<tr>
<td>
0.250
</td>
<td><a
href=
comm/iCE40/ring.v
>
iCE40, Verilog
</a>
(
<a
href=
comm/iCE40/README.md
>
notes
</a>
)
</td>
<td>
two 22 gauge jumpers (tx/rx)
</td>
<td><a
href=
comm/iCE40/ring.v
>
iCE40, Verilog
</a></td>
<td>
September 2021
</td>
</tr>
<tr>
<tr>
<td>
0.010
</td>
<td>
0.010
</td>
<td><a
href=
comm/termios/ring.termios.c
>
i7-8700T, C, termios
</a></td>
<td><a
href=
comm/termios/ring.termios.c
>
i7-8700T, C, termios
</a></td>
...
...
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