Skip to content

Commit 137dbcc

Browse files
authored
Update README.md
1 parent 38871d1 commit 137dbcc

File tree

1 file changed

+45
-43
lines changed

1 file changed

+45
-43
lines changed

README.md

Lines changed: 45 additions & 43 deletions
Original file line numberDiff line numberDiff line change
@@ -58,6 +58,8 @@ For details on the usage of RAM, FIFO and Multiplier blocks, refer to the follow
5858
## 2) Compile from source code and run example
5959

6060
This release package contains the following GitHub repositories that are compiled to create this package:
61+
Note: Refer the repositories read.md pages for the prerequisites to build.
62+
6163
You may use the following command to get the source, compile and install it:
6264
```bash
6365
#Checkout *yosys* repository (https://github.com/QuickLogic-Corp/yosys.git), branch: **quicklogic-rebased**.
@@ -96,54 +98,13 @@ make bin2seven-ql-chandalar_fasm
9698
```
9799
## 3) Run SymbiFlow in a container
98100

99-
Containers provide isolated environments, similar to VMs, but lighter weight, and with performance closer to the native machine they run on. Containers start quickly from an efficient layered image which provides an identical environment each time the container starts. This solves the "it worked on my machine" issues that often plague development due to differences between versions of the tools or libraries on different machines. Used properly, they are ideal for building software as part of a continuous integration environment, or deploying software as part of a continuous deployment system (CI/CD.) Today, Docker is the defacto container ecosystem, which means there are lots of resources for learning Docker, and lots of people familiar with it. The Dockerfile used to build a container image can be quite simple, and therefore it also provides a form of executable documentation on what is required to build and/or install a piece of software. A great place to start is the Docker website, which provides links to tutorials and documentation:
101+
Containers provide isolated environments, similar to VMs, but lighter weight, and with performance closer to the native machine they run on. Containers start quickly from an efficient layered image which provides an identical environment each time the container starts. A great place to start is the Docker website, which provides links to tutorials and documentation:
100102

101103
https://www.docker.com/why-docker
102104

103105
This project uses containers to build Symbiflow automatically whenever a change is pushed to Quicklogic/quicklogic-fpga-toolchain. With each successful build, a container image is pushed as a github package, and may be pulled or run directly by a container runtime such as Docker. Such images are useful for developing continuous integration of FPGA projects. The act of building and testing them automatically through github actions also provides assurances that what is checked into the github source repositories can be built and executed. Below are some of the options for using containers to run or build SymbiFlow for Quicklogic development.
104106

105-
### Option A) Use a container image that is built automatically by a github action workflow
106-
107-
See the 'packages' links for the Docker command to pull a Symbiflow container image, or use it as the basis of a new container.
108-
109-
You can run bash interactively inside of a prebuilt SymbiFlow container using a docker command like this:
110-
```
111-
docker run -it docker.pkg.github.com/quicklogic-corp/quicklogic-fpga-toolchain/symbiflow-ql-src:latest bash
112-
```
113-
114-
From your bash session in the container, try:
115-
```
116-
#Run any test case in the current terminal window. For example, follow these steps to run a test case:
117-
cd /symbiflow-arch-defs/build/quicklogic/pp3/tests/quicklogic_testsuite/bin2seven
118-
make bin2seven-ql-chandalar_fasm
119-
120-
#Or try:
121-
cd /symbiflow-arch-defs/build/quicklogic/pp3/tests
122-
make all_quick_tests
123-
```
124-
125-
### Option B) Build a container image locally from Dockerfile
126-
127-
The Dockerfile in this repo builds SymbiFlow from source. You can create and tag a local image with a Docker command like:
128-
```
129-
docker build . -t symbiflow-ql-slim-buster
130-
```
131-
Then you can run the container interactively with a docker command like:
132-
```
133-
docker run -it symbiflow-ql-slim-buster bash
134-
```
135-
From your bash session in the container, try:
136-
```
137-
#Run any test case in the current terminal window. For example, follow these steps to run a test case:
138-
cd /symbiflow-arch-defs/build/quicklogic/pp3/tests/quicklogic_testsuite/bin2seven
139-
make bin2seven-ql-chandalar_fasm
140-
141-
#Or try:
142-
cd /symbiflow-arch-defs/build/quicklogic/pp3/tests
143-
make all_quick_tests
144-
```
145-
146-
### Option C) Build a container image locally from Dockerfile.use-installer
107+
### Option A) Build a container image locally from Dockerfile.use-installer
147108

148109
The Dockerfile.use-installer in this repo builds a SymbiFlow container from a released installer.
149110
You can build and tag the symbiflow-ql container with:
@@ -188,6 +149,47 @@ xhost -
188149
```
189150

190151

152+
### Option B) Build a container image locally from Dockerfile
153+
154+
The Dockerfile in this repo builds SymbiFlow from source. You can create and tag a local image with a Docker command like:
155+
```
156+
docker build . -t symbiflow-ql-slim-buster
157+
```
158+
Then you can run the container interactively with a docker command like:
159+
```
160+
docker run -it symbiflow-ql-slim-buster bash
161+
```
162+
From your bash session in the container, try:
163+
```
164+
#Run any test case in the current terminal window. For example, follow these steps to run a test case:
165+
cd /symbiflow-arch-defs/build/quicklogic/pp3/tests/quicklogic_testsuite/bin2seven
166+
make bin2seven-ql-chandalar_fasm
167+
168+
#Or try:
169+
cd /symbiflow-arch-defs/build/quicklogic/pp3/tests
170+
make all_quick_tests
171+
```
172+
173+
### Option C) Use a container image that is built automatically by a github action workflow
174+
175+
See the 'packages' links for the Docker command to pull a Symbiflow container image, or use it as the basis of a new container.
176+
177+
You can run bash interactively inside of a prebuilt SymbiFlow container using a docker command like this:
178+
```
179+
docker run -it docker.pkg.github.com/quicklogic-corp/quicklogic-fpga-toolchain/symbiflow-ql-src:latest bash
180+
```
181+
182+
From your bash session in the container, try:
183+
```
184+
#Run any test case in the current terminal window. For example, follow these steps to run a test case:
185+
cd /symbiflow-arch-defs/build/quicklogic/pp3/tests/quicklogic_testsuite/bin2seven
186+
make bin2seven-ql-chandalar_fasm
187+
188+
#Or try:
189+
cd /symbiflow-arch-defs/build/quicklogic/pp3/tests
190+
make all_quick_tests
191+
```
192+
191193

192194
## Hardware features that are not supported in this release
193195
- IO registers: Usage of IO registers available in the IO block (Hardware)

0 commit comments

Comments
 (0)