Skip to content
Permalink

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also or learn more about diff comparisons.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also . Learn more about diff comparisons here.
base repository: GlasgowEmbedded/glasgow
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: 2a8bfc981b90
Choose a base ref
...
head repository: GlasgowEmbedded/glasgow
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: bd9625cdf85c
Choose a head ref
  • 1 commit
  • 2 files changed
  • 1 contributor

Commits on Feb 9, 2020

  1. Copy the full SHA
    bd9625c View commit details
Showing with 2 additions and 2 deletions.
  1. +1 −1 README.md
  2. +1 −1 software/setup.py
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
@@ -66,7 +66,7 @@ Revision C is the latest revision and is being prepared for mass production. It

## What software does Glasgow use?

Glasgow is written entirely in Python 3. The interface logic that runs on the FPGA is described using [nMigen](https://github.com/m-labs/nmigen/), which is a Python-based domain specific language. The supporting code that runs on the host PC is written in Python with [asyncio](https://docs.python.org/3/library/asyncio.html). This way, the logic on the FPGA can be assembled on demand for any requested configuration, keeping it as fast and compact as possible, and code can be shared between gateware and software, removing the need to add error-prone "glue" boilerplate.
Glasgow is written entirely in Python 3. The interface logic that runs on the FPGA is described using [nMigen](https://github.com/nmigen/nmigen/), which is a Python-based domain specific language. The supporting code that runs on the host PC is written in Python with [asyncio](https://docs.python.org/3/library/asyncio.html). This way, the logic on the FPGA can be assembled on demand for any requested configuration, keeping it as fast and compact as possible, and code can be shared between gateware and software, removing the need to add error-prone "glue" boilerplate.

Glasgow would not be possible without the [open-source iCE40 FPGA toolchain](http://www.clifford.at/icestorm/), which is not only very reliable but also extremely fast. It is so fast that FPGA bitstreams are not cached (beyond not rebuilding the bitstream already on the device), as it only takes a few seconds to build one from scratch for something like an UART. When developing a new applet it is rarely necessary to wait for the toolchain.

2 changes: 1 addition & 1 deletion software/setup.py
Original file line number Diff line number Diff line change
@@ -79,7 +79,7 @@ def local_scheme(version):
"crcmod",
],
dependency_links=[
"git+https://github.com/m-labs/nmigen.git#egg=nmigen",
"git+https://github.com/nmigen/nmigen.git#egg=nmigen",
],
packages=find_packages(),
package_data={"": ["*.ihex"]},