these patches add a few more platforms for mibuild and add a lottle
fix for the lx9 microboard.

-- 
Robert Jordens.
From 4752cf31dd945ab6efdde291c4ebfa2baa96ba0e Mon Sep 17 00:00:00 2001
From: Sebastien Bourdeauducq <sebast...@milkymist.org>
Date: Tue, 17 Sep 2013 18:14:41 +0200
Subject: [PATCH 1/8] lx9 fixups

---
 mibuild/platforms/lx9_microboard.py | 17 +++++++++++------
 1 file changed, 11 insertions(+), 6 deletions(-)

diff --git a/mibuild/platforms/lx9_microboard.py b/mibuild/platforms/lx9_microboard.py
index 955aea5..f6fbae6 100644
--- a/mibuild/platforms/lx9_microboard.py
+++ b/mibuild/platforms/lx9_microboard.py
@@ -45,6 +45,11 @@ _io = [
 			Subsignal("d", Pins("H12 G13 E16 E18 K12 K13 F17 F18")),
 			IOStandard("LVCMOS33")),
 
+		("pmod_diff", 0,
+			Subsignal("io", Pins("F15 C17 F14 D17 H12 E16 K12 F17")),
+			#Subsignal("iob", Pins("F16 C18 G14 D18 G13 E18 K13 F18")),
+			IOStandard("LVCMOS33")),
+
 		("serial", 0,
 			Subsignal("tx", Pins("T7"), Misc("SLEW=SLOW")),
 			Subsignal("rx", Pins("R7"), Misc("PULLUP")),
@@ -73,7 +78,7 @@ _io = [
 			IOStandard("MOBILE_DDR")),
 
 		# Nat Semi DP83848J 10/100 Ethernet PHY
-		# pull-ups on rx_data set phy addr to 11110b
+		# pull-ups on col and rx_data set phy addr to 11111b
 		# and prevent isolate mode (addr 00000b)
 		("eth_clocks", 0,
 			Subsignal("rx", Pins("L15")),
@@ -81,14 +86,14 @@ _io = [
 			IOStandard("LVCMOS33")),
 
 		("eth", 0,
-			Subsignal("col", Pins("M18"), Misc("PULLDOWN")),
+			Subsignal("col", Pins("M18"), Misc("PULLUP")),
 			Subsignal("crs", Pins("N17"), Misc("PULLDOWN")),
-			Subsignal("mdc", Pins("M16")),
-			Subsignal("mdio", Pins("L18")),
+			Subsignal("mdc", Pins("M16"), Misc("PULLDOWN")),
+			Subsignal("mdio", Pins("L18"), Misc("PULLUP")), # 1k5 ext PULLUP
 			Subsignal("rst_n", Pins("T18"), Misc("TIG")),
 			Subsignal("rx_data", Pins("T17 N16 N15 P18"), Misc("PULLUP")),
-			Subsignal("dv", Pins("P17")),
-			Subsignal("rx_er", Pins("N18")),
+			Subsignal("dv", Pins("P17"), Misc("PULLDOWN")), # MII
+			Subsignal("rx_er", Pins("N18"), Misc("PULLUP")), # auto MDIX
 			Subsignal("tx_data", Pins("K18 K17 J18 J16")),
 			Subsignal("tx_en", Pins("L17")),
 			Subsignal("tx_er", Pins("L16")), # NC!
-- 
1.8.3.2

From a7e347c375df1fda37a61b241d092e81867a2779 Mon Sep 17 00:00:00 2001
From: Robert Jordens <jord...@gmail.com>
Date: Thu, 4 Jul 2013 01:06:55 -0600
Subject: [PATCH 2/8] add initial ztex_115d platform

---
 mibuild/platforms/ztex_115d.py | 104 +++++++++++++++++++++++++++++++++++++++++
 1 file changed, 104 insertions(+)
 create mode 100644 mibuild/platforms/ztex_115d.py

diff --git a/mibuild/platforms/ztex_115d.py b/mibuild/platforms/ztex_115d.py
new file mode 100644
index 0000000..91943fa
--- /dev/null
+++ b/mibuild/platforms/ztex_115d.py
@@ -0,0 +1,104 @@
+from mibuild.generic_platform import *
+from mibuild.xilinx_ise import XilinxISEPlatform, CRG_SE
+
+_io = [
+		("clk_fx", 0, Pins("L22"), IOStandard("LVCMOS33")),
+		("clk_if", 0, Pins("K20"), IOStandard("LVCMOS33")),
+		("rst", 0, Pins("A18")),
+		# PROG_B and DONE: AA1 U16
+
+		("fx2", 0,
+			Subsignal("sloe", Pins("U15"), Drive(12)), # M1
+			Subsignal("slrd", Pins("N22"), Drive(12)),
+			Subsignal("slwr", Pins("M22"), Drive(12)),
+			Subsignal("pktend", Pins("AB5"), Drive(12)), # CSO
+			Subsignal("fifoadr", Pins("W17 Y18"), Drive(12)), # CCLK M0
+			Subsignal("cont", Pins("G20")),
+			Subsignal("fd", Pins("Y17 V13 W13 AA8 AB8 W6 Y6 Y9 "
+				"V21 V22 U20 U22 R20 R22 P18 P19")),
+			Subsignal("flag", Pins("F20 F19 F18 AB17")), # - - - CSI/MOSI
+			Subsignal("rdy25", Pins("M21 K21 K22 J21")),
+			Subsignal("ctl35", Pins("D19 E20 N20")),
+			Subsignal("int45", Pins("C18 V17")),
+			Subsignal("pc", Pins("G20 T10 V5 AB9 G19 H20 H19 H18")),
+			# - DOUT/BUSY INIT_B RDWR_B DO CS CLK DI
+			IOStandard("LVCMOS33")),
+
+		("mm", 0,
+			Subsignal("a", Pins("M20 M19 M18 N19 T19 T21 T22 R19 ",
+						"P20 P21 P22 J22 H21 H22 G22 F21")),
+			Subsignal("d", Pins("D20 C20 C19 B21 B20 J19 K19 L19"), Drive(2)),
+			Subsignal("wr_n", Pins("C22")),
+			Subsignal("rd_n", Pins("D21")),
+			Subsignal("psen_n", Pins("D22")),
+			IOStandard("LVCMOS33")),
+
+		("serial", 0,
+			Subsignal("tx", Pins("B22"), Misc("SLEW=QUIETIO")),
+			Subsignal("rx", Pins("A21"), Misc("PULLDOWN")),
+			IOStandard("LVCMOS33")),
+
+		("ddram_clock", 0,
+			Subsignal("p", Pins("F2"), Misc("OUT_TERM=UNTUNED_50")),
+			Subsignal("n", Pins("F1"), Misc("OUT_TERM=UNTUNED_50")),
+			IOStandard("SSTL18_II")),
+
+		("ddram", 0,
+			Subsignal("dqs", Pins("L3 T2"), IOStandard("SSTL18_II"), # DIFF_
+					Misc("IN_TERM=NONE")),
+			Subsignal("dqs_n", Pins("L1 T1"), IOStandard("SSTL18_II"), # DIFF_
+					Misc("IN_TERM=NONE")),
+			Subsignal("dm", Pins("H1 H2"), Misc("OUT_TERM=UNTUNED_50")),
+			Subsignal("dq", Pins("M1 M2 J1 K2 J3 K1 N3 N1 "
+					"U1 U3 P1 R3 P2 R1 V2 V1"), Misc("IN_TERM=NONE")),
+			Subsignal("ras_n", Pins("N4"), Misc("OUT_TERM=UNTUNED_50")),
+			Subsignal("cas_n", Pins("P3"), Misc("OUT_TERM=UNTUNED_50")),
+			Subsignal("a", Pins("M5 K6 B1 J4 L4 K3 M4 K5 G3 G1 K4 C3 C1"),
+					Misc("OUT_TERM=UNTUNED_50")),
+			Subsignal("ba", Pins("E3 E1 D1"), Misc("OUT_TERM=UNTUNED_50")),
+			Subsignal("cke", Pins("J6"), Misc("OUT_TERM=UNTUNED_50")),
+			Subsignal("cs_n", Pins("H6")), # NC!
+			Subsignal("odt", Pins("M3"), Misc("OUT_TERM=UNTUNED_50")),
+			Subsignal("we_n", Pins("D2")),
+			Subsignal("rzq", Pins("AA2")),
+			Subsignal("zio", Pins("Y2")),
+			IOStandard("SSTL18_II")),
+
+		("i2c", 0,
+			Subsignal("scl", Pins("F22")),
+			Subsignal("sda", Pins("E22")),
+			IOStandard("LVCMOS33")),
+
+		("sd", 0,
+			Subsignal("sck", Pins("H11")),
+			Subsignal("d3", Pins("H14")),
+			Subsignal("d", Pins("P10")),
+			Subsignal("d1", Pins("T18")),
+			Subsignal("d2", Pins("R17")),
+			Subsignal("cmd", Pins("H13")),
+			IOStandard("LVCMOS33")),
+
+]
+
+class Platform(XilinxISEPlatform):
+	def __init__(self):
+		XilinxISEPlatform.__init__(self, "xc6slx150-3csg484", _io,
+				lambda p: CRG_SE(p, "clk_if", "rst", 20.))
+		self.add_platform_command("""
+CONFIG VCCAUX = "2.5";
+""")
+
+	def do_finalize(self, fragment):
+		try:
+			clk_if = self.lookup_request("clk_if")
+			clk_fx = self.lookup_request("clk_fx")
+			self.add_platform_command("""
+NET "{clk_if}" TNM_NET = "GRPclk_if";
+NET "{clk_fx}" TNM_NET = "GRPclk_fx";
+TIMESPEC "TSclk_fx" = PERIOD "GRPclk_fx" 20.83333 ns HIGH 50%;
+TIMESPEC "TSclk_if" = PERIOD "GRPclk_if" 20 ns HIGH 50%;
+TIMESPEC "TSclk_fx2if" = FROM "GRPclk_fx" TO "GRPclk_if" 3 ns DATAPATHONLY;
+TIMESPEC "TSclk_if2fx" = FROM "GRPclk_if" TO "GRPclk_fx" 3 ns DATAPATHONLY;
+""", clk_if=clk_if, clk_fx=clk_fx)
+		except ContraintError:
+			pass
-- 
1.8.3.2

From ede8b9919c1b65827b1475b6ee2a95f082e7cf5e Mon Sep 17 00:00:00 2001
From: Robert Jordens <jord...@gmail.com>
Date: Tue, 16 Jul 2013 23:23:40 -0600
Subject: [PATCH 3/8] add zedboard platform

---
 mibuild/platforms/zedboard.py | 142 ++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 142 insertions(+)
 create mode 100644 mibuild/platforms/zedboard.py

diff --git a/mibuild/platforms/zedboard.py b/mibuild/platforms/zedboard.py
new file mode 100644
index 0000000..8973e24
--- /dev/null
+++ b/mibuild/platforms/zedboard.py
@@ -0,0 +1,142 @@
+from mibuild.generic_platform import *
+from mibuild.xilinx_ise import XilinxISEPlatform, CRG_SE
+
+# Bank 34 and 35 voltage depend on J18 jumper setting
+_io = [
+		("clk100", 0, Pins("Y9"), IOStandard("LVCMOS33")),
+
+		("user_btn", 0, Pins("P16"), IOStandard("LVCMOS18")), # center
+		("user_btn", 1, Pins("R16"), IOStandard("LVCMOS18")), # down
+		("user_btn", 2, Pins("N15"), IOStandard("LVCMOS18")), # left
+		("user_btn", 3, Pins("R18"), IOStandard("LVCMOS18")), # right
+		("user_btn", 4, Pins("T18"), IOStandard("LVCMOS18")), # up
+
+		("user_sw", 0, Pins("F22"), IOStandard("LVCMOS18")),
+		("user_sw", 1, Pins("G22"), IOStandard("LVCMOS18")),
+		("user_sw", 2, Pins("H22"), IOStandard("LVCMOS18")),
+		("user_sw", 3, Pins("F21"), IOStandard("LVCMOS18")),
+		("user_sw", 4, Pins("H19"), IOStandard("LVCMOS18")),
+		("user_sw", 5, Pins("H18"), IOStandard("LVCMOS18")),
+		("user_sw", 6, Pins("H17"), IOStandard("LVCMOS18")),
+		("user_sw", 7, Pins("M15"), IOStandard("LVCMOS18")),
+
+		("user_led", 0, Pins("T22"), IOStandard("LVCMOS33")),
+		("user_led", 1, Pins("T21"), IOStandard("LVCMOS33")),
+		("user_led", 2, Pins("U22"), IOStandard("LVCMOS33")),
+		("user_led", 3, Pins("U21"), IOStandard("LVCMOS33")),
+		("user_led", 4, Pins("V22"), IOStandard("LVCMOS33")),
+		("user_led", 5, Pins("W22"), IOStandard("LVCMOS33")),
+		("user_led", 6, Pins("U19"), IOStandard("LVCMOS33")),
+		("user_led", 7, Pins("U14"), IOStandard("LVCMOS33")),
+
+		# A
+		("pmod", 0, Pins("Y11 AA11 Y10 AA9 AB11 AB10 AB9 AA8"),
+			IOStandard("LVCMOS33")),
+		# B
+		("pmod", 1, Pins("W12 W11 V10 W8 V12 W10 V9 V8"),
+			IOStandard("LVCMOS33")),
+		# C
+		("pmod", 2,
+			Subsignal("n", Pins("AB6 AA4 T6 U4")),
+			Subsignal("p", Pins("AB7 Y4 R6 T4")),
+			IOStandard("LVCMOS33")),
+		# D
+		("pmod", 3,
+			Subsignal("n", Pins("W7 V4 W5 U5")),
+			Subsignal("p", Pins("V7 V5 W6 U6")),
+			IOStandard("LVCMOS33")),
+
+		("audio", 0,
+			Subsignal("adr", Pins("AB1 Y5")),
+			Subsignal("gpio", Pins("Y8 AA7 AA6 Y6")),
+			Subsignal("mclk", Pins("AB2")),
+			Subsignal("sck", Pins("AB4")),
+			Subsignal("sda", Pins("AB5")),
+			IOStandard("LVCMOS33")),
+
+		("oled", 0,
+			Subsignal("dc", Pins("U10")),
+			Subsignal("res", Pins("U9")),
+			Subsignal("sclk", Pins("AB12")),
+			Subsignal("sdin", Pins("AA12")),
+			Subsignal("vbat", Pins("U11")),
+			Subsignal("vdd", Pins("U12")),
+			IOStandard("LVCMOS33")),
+
+		("hdmi", 0,
+			Subsignal("clk", Pins("W18")),
+			Subsignal("d", Pins(
+				"Y13 AA13 AA14 Y14 AB15 AB16 AA16 AB17 "
+				"AA17 Y15 W13 W15 V15 U17 V14 V13")),
+			Subsignal("de", Pins("U16")),
+			Subsignal("hsync", Pins("V17")),
+			Subsignal("vsync", Pins("W17")),
+			Subsignal("int", Pins("W16")),
+			Subsignal("scl", Pins("AA18")),
+			Subsignal("sda", Pins("Y16")),
+			Subsignal("spdif", Pins("U15")),
+			Subsignal("spdifo", Pins("Y18")),
+			IOStandard("LVCMOS33")),
+
+		("netic16", 0,
+			Subsignal("w20", Pins("W20")),
+			Subsignal("w21", Pins("W21")),
+			IOStandard("LVCMOS33")),
+
+		("vga", 0,
+			Subsignal("b", Pins("Y21 Y20 AB20 AB19")),
+			Subsignal("g", Pins("AB22 AA22 AB21 AA21")),
+			Subsignal("r", Pins("V20 U20 V19 V18")),
+			Subsignal("hs", Pins("AA19")),
+			Subsignal("vs", Pins("Y19")),
+			IOStandard("LVCMOS33")),
+
+		("usb_otg", 0,
+			Subsignal("vbusoc", Pins("L16")),
+			Subsignal("reset_n", Pins("G17")),
+			IOStandard("LVCMOS18")),
+
+		("pudc_b", 0, Pins("K16"), IOStandard("LVCMOS18")),
+
+		("xadc", 0,
+			Subsignal("gio", Pins("H15 R15 K15 J15")),
+			Subsignal("ad0_n", Pins("E16")),
+			Subsignal("ad0_p", Pins("F16")),
+			Subsignal("ad8_n", Pins("D17")),
+			Subsignal("ad8_p", Pins("D16")),
+			IOStandard("LVCMOS18")),
+
+		("fmc_clocks", 0,
+			Subsignal("clk0_n", Pins("L19")),
+			Subsignal("clk0_p", Pins("L18")),
+			Subsignal("clk1_n", Pins("C19")),
+			Subsignal("clk1_p", Pins("D18")),
+			IOStandard("LVCMOS18")),
+
+		("fmc", 0,
+			Subsignal("scl", Pins("R7")),
+			Subsignal("sda", Pins("U7")),
+
+			Subsignal("prsnt", Pins("AB14")),
+
+			# 0, 1, 17, 18 can be clock signals
+			Subsignal("la_n", Pins(
+				"M20 N20 P18 P22 M22 K18 L22 T17 "
+				"J22 R21 T19 N18 P21 M17 K20 J17 "
+				"K21 B20 C20 G16 G21 E20 F19 D15 "
+				"A19 C22 E18 D21 A17 C18 B15 B17 "
+				"A22 B22")),
+			Subsignal("la_p", Pins(
+				"M19 N19 P17 N22 M21 J18 L21 T16 "
+				"J21 R20 R19 N17 P20 L17 K19 J16 "
+				"J20 B19 D20 G15 G20 E19 G19 E15 "
+				"A18 D22 F18 E21 A16 C17 C15 B16 "
+				"A21 B21")),
+			IOStandard("LVCMOS18")),
+]
+
+
+class Platform(XilinxISEPlatform):
+	def __init__(self):
+		XilinxISEPlatform.__init__(self, "xc7z020-clg484-1", _io,
+			lambda p: CRG_SE(p, "clk100", None, 10.))
-- 
1.8.3.2

From 4cb6ffa3015b3c9d674107e61f458e38f8083993 Mon Sep 17 00:00:00 2001
From: Robert Jordens <jord...@gmail.com>
Date: Sat, 16 Nov 2013 03:22:09 -0700
Subject: [PATCH 4/8] usrp_b100 platform

---
 mibuild/platforms/usrp_b100.py | 146 +++++++++++++++++++++++++++++++++++++++++
 1 file changed, 146 insertions(+)
 create mode 100644 mibuild/platforms/usrp_b100.py

diff --git a/mibuild/platforms/usrp_b100.py b/mibuild/platforms/usrp_b100.py
new file mode 100644
index 0000000..a4f0678
--- /dev/null
+++ b/mibuild/platforms/usrp_b100.py
@@ -0,0 +1,146 @@
+from mibuild.generic_platform import *
+from mibuild.xilinx_ise import XilinxISEPlatform, CRG_DS
+
+_io = [
+		("clk64", 0,
+			Subsignal("p", Pins("R7")),
+			Subsignal("n", Pins("T7")),
+			IOStandard("LVDS_33"),
+			Misc("DIFF_TERM=TRUE"),
+		),
+
+		("pps", 0, Pins("M14"), Misc("TIG")),
+		("reset_n", 0, Pins("D5"), Misc("TIG")),
+		("codec_reset", 0, Pins("B14")),
+		# recycles fpga_cfg_cclk for reset from fw
+		("ext_reset", 0, Pins("R14")),
+
+		("i2c", 0,
+			Subsignal("sda", Pins("T13")),
+			Subsignal("scl", Pins("R13")),
+		),
+
+		("cgen", 0,
+			Subsignal("st_ld", Pins("M13")),
+			Subsignal("st_refmon", Pins("J14")),
+			Subsignal("st_status", Pins("P6")),
+			Subsignal("ref_sel", Pins("T2")),
+			Subsignal("sync_b", Pins("H15")),
+		),
+
+		("fx2_ifclk", 0, Pins("T8")),
+		("fx2_gpif", 0,
+			Subsignal("d", Pins("P8 P9 N9 T9 R9 P11 P13 N12 "
+								"T3 R3 P5 N6 T6 T5 N8 P7")),
+			Subsignal("ctl", Pins("M7 M9 M11 P12")),
+			Subsignal("slwr", Pins("T4")), # rdy0
+			Subsignal("slrd", Pins("R5")), # rdy1
+			#Subsignal("rdy2", Pins("T10")),
+			#Subsignal("rdy3", Pins("N11")),
+			#Subsignal("cs", Pins("P12")),
+			Subsignal("sloe", Pins("R11")),
+			Subsignal("pktend", Pins("P10")),
+			Subsignal("adr", Pins("T11 H16")),
+		),
+
+		("user_led", 0, Pins("P4"), Misc("TIG")),
+		("user_led", 1, Pins("N4"), Misc("TIG")),
+		("user_led", 2, Pins("R2"), Misc("TIG")),
+
+		("debug_clk", 0, Pins("K15 K14")),
+		("debug", 0, Pins(
+			"K16 J16 C16 C15 E13 D14 D16 D15 "
+			"E14 F13 G13 F14 E16 F15 H13 G14 "
+			"G16 F16 J12 J13 L14 L16 M15 M16 "
+			"L13 K13 P16 N16 R15 P15 N13 N14")),
+
+		("adc", 0, 
+			Subsignal("sync", Pins("D10")),
+			Subsignal("d", Pins("A4 B3 A3 D9 C10 A9 C9 D8 "
+								"C8 B8 A8 B15")),
+		),
+		("dac", 0,
+			Subsignal("blank", Pins("K1")),
+			Subsignal("sync", Pins("J2")),
+			Subsignal("d", Pins("J1 H3 J3 G2 H1 N3 M4 R1 "
+								"P2 P1 M1 N1 M3 L4")),
+		),
+		("codec_spi", 0,
+			Subsignal("sclk", Pins("K3")),
+			Subsignal("sen", Pins("D13")),
+			Subsignal("mosi", Pins("C13")),
+			Subsignal("miso", Pins("G4")),
+		),
+
+		("aux_spi", 0,
+			Subsignal("sen", Pins("C12")),
+			Subsignal("sclk", Pins("D12")),
+			Subsignal("miso", Pins("J5")),
+		),
+		("rx_io", 0, Pins("D7 C6 A6 B6 E9 A7 C7 B10 "
+						  "A10 C11 A11 D11 B12 A12 A14 A13")),
+		("tx_io", 0, Pins("K4 L3 L2 F1 F3 G3 E3 E2 "
+						  "E4 F4 D1 E1 D4 D3 C2 C1")),
+		("rx_spi", 0,
+			Subsignal("miso", Pins("E6")),
+			Subsignal("sen", Pins("B4")),
+			Subsignal("mosi", Pins("A5")),
+			Subsignal("sclk", Pins("C5")),
+		),
+		("tx_spi", 0,
+			Subsignal("miso", Pins("J4")),
+			Subsignal("sen", Pins("N2")),
+			Subsignal("mosi", Pins("L1")),
+			Subsignal("sclk", Pins("G1")),
+		),
+
+		# these are just for information. do not request.
+		("mystery_bus", 0, Pins("C4 E7")),
+		("fpga_cfg",
+			Subsignal("din", Pins("T14")),
+			Subsignal("cclk", Pins("R14")),
+			Subsignal("init_b", Pins("T12")),
+			Subsignal("prog_b", Pins("A2")),
+			Subsignal("done", Pins("T15")),
+		),
+		("jtag",
+			Subsignal("tms", Pins("B2")),
+			Subsignal("tdo", Pins("B16")),
+			Subsignal("tdi", Pins("B1")),
+			Subsignal("tck", Pins("A15")),
+		),
+]
+
+
+class Platform(XilinxISEPlatform):
+	def __init__(self):
+		XilinxISEPlatform.__init__(self, "xc3s1400a-ft256-4", _io,
+			lambda p: CRG_DS(p, "clk64", "reset_n", period=1000/64., rst_invert=True))
+
+	def do_finalize(self, fragment):
+		self.add_platform_command("""
+TIMESPEC TS_Pad2Pad = FROM PADS TO PADS 7 ns;
+""")
+
+		try:
+			ifclk = self.lookup_request("fx2_ifclk")
+			gpif = self.lookup_request("fx2_gpif")
+			for i, d in [(gpif.d, "in"), (gpif.d, "out"),
+					(gpif.ctl, "in"), (gpif.adr, "out"),
+					(gpif.slwr, "out"), (gpif.sloe, "out"),
+					(gpif.slrd, "out"), (gpif.pktend, "out")]:
+				if flen(i) > 1:
+					q = "(*)"
+				else:
+					q = ""
+				self.add_platform_command("""
+INST "{i}%s" TNM = gpif_net_%s;
+""" % (q, d), i=i)
+			self.add_platform_command("""
+NET "{ifclk}" TNM_NET = "GRPifclk";
+TIMESPEC "TSifclk" = PERIOD "GRPifclk" 20833 ps HIGH 50%;
+TIMEGRP "gpif_net_in" OFFSET = IN 5 ns VALID 10 ns BEFORE "{ifclk}" RISING;
+TIMEGRP "gpif_net_out" OFFSET = OUT 7 ns AFTER "{ifclk}" RISING;
+""", ifclk=ifclk)
+		except ConstraintError:
+ 			pass
-- 
1.8.3.2

_______________________________________________
Devel mailing list
Devel@lists.milkymist.org
https://ssl.serverraum.org/lists/listinfo/devel

Reply via email to