From e396cb3cc2192e87b8e768a079e8213f0396fa08 Mon Sep 17 00:00:00 2001 From: Keith Rothman <537074+litghost@users.noreply.github.com> Date: Wed, 9 Jan 2019 12:59:30 -0800 Subject: [PATCH] Add UART to Basys3 harness. Signed-off-by: Keith Rothman <537074+litghost@users.noreply.github.com> --- artix7/harness/basys3/swbut/design.bit | Bin 2192111 -> 2192111 bytes artix7/harness/basys3/swbut/design.dcp | Bin 129886 -> 139208 bytes artix7/harness/basys3/swbut/design.json | 3001 ++++++++++++++++++++++- artix7/harness/basys3/swbut/design.txt | 50 +- 4 files changed, 3000 insertions(+), 51 deletions(-) diff --git a/artix7/harness/basys3/swbut/design.bit b/artix7/harness/basys3/swbut/design.bit index 6867d81442219ad5a2796ce49d9fb864224c8021..a06e67c13e859381aef0931a9f5acc9958c32706 100644 GIT binary patch delta 8910 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 delta 4715 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