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
ee26fea8
Commit
ee26fea8
authored
3 years ago
by
Erik Strand
Browse files
Options
Downloads
Patches
Plain Diff
Change FPGA ring test notes to HTML
parent
b9ac018d
No related branches found
Branches containing commit
No related tags found
No related merge requests found
Pipeline
#14699
passed
3 years ago
Stage: deploy
Changes
2
Pipelines
1
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
GPIO/iCE40/notes.html
+92
-0
92 additions, 0 deletions
GPIO/iCE40/notes.html
index.html
+1
-1
1 addition, 1 deletion
index.html
with
93 additions
and
1 deletion
GPIO/iCE40/
README.md
→
GPIO/iCE40/
notes.html
+
92
−
0
View file @
ee26fea8
# iCE40 Ring Oscillator Test
<!DOCTYPE html>
<html
lang=
"en"
>
<head>
<meta
charset=
"utf-8"
>
<title>
iCE40 Ring Oscillation Test Notes
</title>
</head>
<body
link=
"black"
alink=
"black"
vlink=
"black"
>
<font
face=
"bitstream vera sans,arial,helvetica,sans-serif"
></font>
## Dependencies
<div
style=
"margin-left:2.5%;margin-right:2.5%"
>
-
[
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/
)
.
<center>
<h1>
iCE40 Ring Oscillation Test Notes
</h1>
</center>
## Building
The default
`make`
target synthesizes the design and runs a timing analysis. The target
`prog`
programs an available iCEBreaker via USB.
<center>
<h2>
Dependencies
</h2>
</center>
## Results
<ul>
<li><a
href=
"https://github.com/YosysHQ/icestorm"
>
IceStorm tools
</a></li>
<li><a
href=
"http://www.clifford.at/yosys/download.html"
>
yosys
</a></li>
<li><a
href=
"https://github.com/YosysHQ/nextpnr"
>
nextpnr
</a></li>
</ul>
<p>
Install instructions for all of the above tools can be found on the
<a
href=
"http://bygone.clairexen.net/icestorm/"
>
IceStorm website
</a>
.
</p>
<center>
<h2>
Building
</h2>
</center>
<p>
The default make target synthesizes the design and runs a timing analysis. The target prog programs
an available iCEBreaker via USB.
</p>
<center>
<h2>
Results
</h2>
</center>
<p>
When clocking the FPGA at 24MHz, the resulting ring oscillation is still identifiable as a square
wave.
</p>

<center>
<img
src=
"./img/ring_12mhz.png"
alt=
"12MHz"
>
</center>
<p>
By 111MHz, it's more of a triangle wave. But still stable and nearly rail to rail. This is the
fastest clock speed that `icetime` approves.
</p>

<center>
<img
src=
"./img/ring_55mhz.png"
alt=
"55.5MHz"
>
</center>
<p>
Despite not passing the timing analysis, when the FPGA is clocked at 120MHz no problems seems to
occur.
</p>

<center>
<img
src=
"./img/ring_60mhz.png"
alt=
"60MHz"
>
</center>
<p>
Even at 129MHz, stable ring oscillation can occur. I (Erik) thought that the first time I ran it I
got a chaotic, aperiodic signal. But I haven't been able to reproduce this so I might have made a
mistake. Still, I'll hold off on declaring this result official.
</p>

<center>
<img
src=
"./img/ring_64mhz.png"
alt=
"64.5MHz"
>
</center>
<p>
At faster clock speeds things start to go wrong. Usually there's still a periodic ring oscillation,
just much slower than one would hope.
</p>
</div>
</body>
This diff is collapsed.
Click to expand it.
index.html
+
1
−
1
View file @
ee26fea8
...
...
@@ -42,7 +42,7 @@ The GPIO test measures how quickly pins can communicate with a processor core; t
<tr>
<td>
60.00
</td>
<td>
iCE40UP5K
</td>
<td>
iCEBreaker V1.0e, 120 MHz,
<a
href=
GPIO/iCE40/ring.v
>
Verilog
</a>
(
<a
href=
GPIO/iCE40/
README.md
>
notes
</a>
)
</td>
<td>
iCEBreaker V1.0e, 120 MHz,
<a
href=
GPIO/iCE40/ring.v
>
Verilog
</a>
(
<a
href=
GPIO/iCE40/
notes.html
>
notes
</a>
)
</td>
<td>
September 2021
</td>
</tr>
...
...
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