William D. Jones | 3 Jun 19:56 2016
Picon
Picon

[M-Labs devel] [PATCH] lattice/icestorm: Timing analysis, yosys exit on error.

This patch is an improvement on the previous Lattice IceStorm patches. Among
other things, this patch corrects yosys behavior on error on Windows, adds
rudimentary timing analysis, and also includes formatting tweaks and dead code
removal. Additionally, I made arachne-pnr quiet by default, and yosys now writes
to a log file.

William D. Jones (1):
  lattice/icestorm: Timing analysis, yosys exit on error.

 migen/build/lattice/icestorm.py | 59 ++++++++++++++++++++++++++++++-----------
 1 file changed, 44 insertions(+), 15 deletions(-)

--
2.6.3
_______________________________________________
M-Labs devel mailing list
https://ssl.serverraum.org/lists/listinfo/devel
William D. Jones | 19 May 01:31 2016
Picon
Picon

[M-Labs devel] [PATCH] migen/build: Icestorm toolchain improvements.

The attached patch adds the requested comment for how clock constraints are
handled as IceStorm matures. I also changed the commit message to be more
specific.

William D. Jones (1):
  lattice/icestorm: Timing analysis, yosys exit on error.

 migen/build/lattice/icestorm.py | 24 +++++++++++++++++++++++-
 1 file changed, 23 insertions(+), 1 deletion(-)

--
2.6.3
_______________________________________________
M-Labs devel mailing list
https://ssl.serverraum.org/lists/listinfo/devel
William D. Jones | 12 May 20:59 2016
Picon
Picon

[M-Labs devel] [PATCH] IceStorm Toolchain Improvements

I have added a few modifications to the IceStorm builder, including:
* Add support for a global timing constraint.
* Use the icetime command to check whether the design meets global timing constraints.
* Yosys command now terminates properly on failure in Windows.
* Minor formatting changes.

William D. Jones (1):
  migen/build: Icestorm toolchain improvements.

 migen/build/lattice/icestorm.py | 41 +++++++++++++++++++++++++++--------------
 1 file changed, 27 insertions(+), 14 deletions(-)

--
2.6.3
_______________________________________________
M-Labs devel mailing list
https://ssl.serverraum.org/lists/listinfo/devel
William D. Jones | 12 May 20:56 2016
Picon
Picon

[M-Labs devel] [PATCH] iCEstick Dev Board Support

The following patch adds support for the Lattice iCEstick dev board using the
open source IceStorm toolchain. Currently, the IOStandard directives are
placeholders that do nothing and are meant for forward compatibility.

William D. Jones (1):
  migen/build: Add Lattice iCEstick dev board.

 migen/build/platforms/icestick.py | 58 +++++++++++++++++++++++++++++++++++++++
 1 file changed, 58 insertions(+)
 create mode 100644 migen/build/platforms/icestick.py

--
2.6.3
_______________________________________________
M-Labs devel mailing list
https://ssl.serverraum.org/lists/listinfo/devel
William D. Jones | 8 May 02:37 2016
Picon
Picon

[M-Labs devel] [PATCH] Add Icestorm toolchain to migen.build

The following patch adds support to Migen for the fully open-source IceStorm
FPGA workflow, including yosys, arachne-pnr, and icepack.

The following features are implemented but have tested (both should work fine):
1. Unix script generation.
2. Multiple verilog files.

Unlike other backends, sourcing is not implemented; it is assumed that the
Icestorm tools will be on your system path.

Because of limitations in Arachne PNR, only pin constraint assignment is
currently supported. As the toolchain matures, I will add additional directives
to the constraint file.

Pending approval of this patch, I will add support for the Lattice IceStick board.

William D. Jones (1):
  migen/build: Add Icestorm toolchain.

 migen/build/lattice/icestorm.py   | 126 ++++++++++++++++++++++++++++++++++++++
 migen/build/lattice/platform.py   |   5 +-
 migen/build/lattice/programmer.py |   7 +++
 3 files changed, 137 insertions(+), 1 deletion(-)
 create mode 100644 migen/build/lattice/icestorm.py

--
2.6.3
_______________________________________________
M-Labs devel mailing list
https://ssl.serverraum.org/lists/listinfo/devel
(Continue reading)

William D. Jones | 22 Apr 19:18 2016
Picon
Picon

[M-Labs devel] [PATCH] Fail gracefully when running build commands on Windows.

Improved version of my previous patch- less redundant code.

William D. Jones (1):
  Add "set -e" equivalent to Windows batch file.

 migen/build/xilinx/ise.py | 14 ++++++++------
 1 file changed, 8 insertions(+), 6 deletions(-)

--
2.6.3
_______________________________________________
M-Labs devel mailing list
https://ssl.serverraum.org/lists/listinfo/devel
William D. Jones | 22 Apr 14:17 2016
Picon
Picon

[M-Labs devel] [PATCH] Fail gracefully when running build commands on Windows.

Some time ago, I added the ability to generate batch files to migen.build, so
that users would not need to depend on a bash shell existing. While Windows
support for Unix utilities is coming around, it's still useful to support
the current behavior for those using strictly Windows tools.

Windows does not have an equivalent of "set -e" as bash does; if a command fails,
then the next command will run (which will also fail) until the end of the file.
This patch adds a commonly-accepted pattern for duplicating "set -e". Unix shell
scripts generated by migen.build are not affected.

William D. Jones (1):
  xilinx/ise: Add "set -e" equivalent to Windows batch file.

 migen/build/xilinx/ise.py | 22 ++++++++++++++++------
 1 file changed, 16 insertions(+), 6 deletions(-)

--
2.6.3
_______________________________________________
M-Labs devel mailing list
https://ssl.serverraum.org/lists/listinfo/devel
FabienM | 11 Apr 09:51 2016
Picon

[M-Labs devel] [PATCH] migen/build/platforms: adding apf6sp Armadeus Platform

Hello,

This is just a reminder for adding apf6sp platform in Migen.

The patch in attachment work well with this program to blink the led :

#!/usr/local/bin/python3.4
# -*- coding: utf-8 -*-

from migen import *
from migen.fhdl import *
from migen.build.generic_platform import Pins, IOStandard, Subsignal
from migen.build.platforms import apf6sp

ios = [ ("user_led", 0, Pins("HIROSE:D0")),]

plat = apf6sp.Platform()
plat.add_extension(ios)
led = plat.request("user_led", 0)  # led pin on apf6sp_dev

m = apf6sp.PciePllClockedModule(platform=plat)
counter = Signal(26)
m.comb += led.eq(counter[25])
m.sync += counter.eq(counter + 1)

plat.build(m)

Regards,
Fabien M (Martoni)

(Continue reading)

William D. Jones | 11 Apr 07:47 2016
Picon
Picon

[M-Labs devel] [PATCH] Migen should source the Xilinx ISE toolchain by default on Windows.

On Windows, it is not likely that users of ISE toolchain will have the appropriate
environment variables set by default. Since the API change in MiSoC, users no longer
have the ability to override this behavior when building a target. The resulting
batch file generated by Migen will not be able to find any of the Xilinx tools.

Therefore, we should by default insert a call the Xilinx batch file to set up the
environment before running the tools. The call is required to prevent the child
batch file from terminating the parent batch file when the child is done.

For those who already have Xilinx tools on the path before building Migen gateware,
there is no difference in environment other than the Xilinx PATHS being duplicated
for the duration of the cmd.exe subprocess.

William D. Jones (1):
  xilinx/ise: Windows should source Xilinx toolchain by default (fixes
    MiSoC build failures).

 migen/build/xilinx/ise.py | 4 +---
 1 file changed, 1 insertion(+), 3 deletions(-)

--
2.6.3
_______________________________________________
M-Labs devel mailing list
https://ssl.serverraum.org/lists/listinfo/devel
Tim 'mithro' Ansell | 25 Mar 15:18 2016
Gravatar

[M-Labs devel] [PATCH 0/2] Couple of small mibuild fixes.

These two patches fix a couple of small issues in mibuild.

The first one prevents unnecessary rebuilding of the C code by only updating
the files when the contents change.

The second one makes sure the prj file output is deterministic.

Tim 'mithro' Ansell (2):
  mibuild: Don't modify file if contents hasn't changed.
  mibuild: Make source file and include path listing deterministic.

 migen/build/tools.py      | 3 +++
 migen/build/xilinx/ise.py | 8 ++++----
 2 files changed, 7 insertions(+), 4 deletions(-)

--

-- 
2.8.0.rc3.226.g39d4020

_______________________________________________
M-Labs devel mailing list
https://ssl.serverraum.org/lists/listinfo/devel
Tim 'mithro' Ansell | 25 Mar 15:11 2016
Gravatar

[M-Labs devel] [PATCH] build/xilinx/ise: Use separate TNM_NET for period and TIG constraints.

Because ISE is retarded, if you have anything other than period constraints on
a TNM_NET (such as a TIG), then it is unable to trace the constraints through
any of the clock elements like PLLs and DCMs. It will generate the following
warning instead;

> ConstraintSystem - TNM : *** was distributed to a DCM but new TNM constraints
> were not derived. The requirement for derived TNM constraints is that the
> distributed TNM is referenced by no more than a single PERIOD constraint.
> Non-PERIOD referencers are also not allowed.

The requirements for the TNM to be derived is described at
[Timing Constraints User Guide - UG612 (v 11.1.1) April 29, 2009](http://www.xilinx.com/support/documentation/sw_manuals/xilinx11/ug612.pdf):

 * The TNM group is used in exactly one PERIOD specification.
 * The TNM group is not used in any FROM-TO or OFFSET specifications.
 * The TNM group is not referenced in any user group definition.

The fix is described in http://www.xilinx.com/support/answers/40007.html ||
http://www.xilinx.com/support/answers/37782.html

Create two TNM Groups for your input clock. One used for the FROM-TO
constraints and the other for the PERIOD propagation.

Fixes https://github.com/m-labs/migen/issues/43
---
 migen/build/xilinx/ise.py | 25 ++++++++++++++++++++-----
 1 file changed, 20 insertions(+), 5 deletions(-)

diff --git a/migen/build/xilinx/ise.py b/migen/build/xilinx/ise.py
index 6d6394f..f4c299f 100644
(Continue reading)


Gmane