1 def get(ns
, reset0
, norflash0
, uart0
):
3 def add(signal
, pin
, vec
=-1, iostandard
="LVCMOS33", extra
=""):
4 constraints
.append((ns
.get_name(signal
), vec
, pin
, iostandard
, extra
))
5 def add_vec(signal
, pins
, iostandard
="LVCMOS33", extra
=""):
8 add(signal
, p
, i
, iostandard
, extra
)
11 add(reset0
.trigger_reset
, "AA4")
12 add(reset0
.ac97_rst_n
, "D6")
13 add(reset0
.videoin_rst_n
, "W17")
14 add(reset0
.flash_rst_n
, "P22", extra
="SLEW = FAST | DRIVE = 8")
16 add_vec(norflash0
.adr
, ["L22", "L20", "K22", "K21", "J19", "H20", "F22",
17 "F21", "K17", "J17", "E22", "E20", "H18", "H19", "F20",
18 "G19", "C22", "C20", "D22", "D21", "F19", "F18", "D20", "D19"],
19 extra
="SLEW = FAST | DRIVE = 8")
20 add_vec(norflash0
.d
, ["AA20", "U14", "U13", "AA6", "AB6", "W4", "Y4", "Y7",
21 "AA2", "AB2", "V15", "AA18", "AB18", "Y13", "AA12", "AB12"],
22 extra
= "SLEW = FAST | DRIVE = 8 | PULLDOWN")
23 add(norflash0
.oe_n
, "M22", extra
="SLEW = FAST | DRIVE = 8")
24 add(norflash0
.we_n
, "N20", extra
="SLEW = FAST | DRIVE = 8")
25 add(norflash0
.ce_n
, "M21", extra
="SLEW = FAST | DRIVE = 8")
27 add(uart0
.tx
, "L17", extra
="SLEW = SLOW")
28 add(uart0
.rx
, "K18", extra
="PULLUP")
34 r
+= "(" + str(c
[1]) + ")"
35 r
+= "\" LOC = " + c
[2]
36 r
+= " | IOSTANDARD = " + c
[3]
42 NET "sys_clk" LOC = AB11 | IOSTANDARD = LVCMOS33;
43 NET "sys_clk" TNM_NET = "GRPclk50";
44 TIMESPEC "TSclk50" = PERIOD "GRPclk50" 20 ns HIGH 50%;