olofk / serv

SERV - The SErial RISC-V CPU
ISC License
1.36k stars 178 forks source link

Add Arty S7-50 support #100

Closed calder closed 1 year ago

calder commented 1 year ago

Add Servant support for the Digilent Arty S7-50 based on existing Arty A7-35 implementation.

Testing

Hello

$ fusesoc run --target=arty_s7_50t servant --memfile=$SERV/sw/zephyr_hello.hex
...
INFO: SUCCESS! FPGA xc7s50csga324-1 successfully programmed with bitstream servant_1.2.1.bit.
$ sudo picocom /dev/ttyUSB1 --baud=57600
...
***** Booting Zephyr OS zephyr-v1.14.1-4-gc7c2d62513fe *****
Hello World! service

Blinky

$ git diff
diff --git a/data/arty_s7_50t.xdc b/data/arty_s7_50t.xdc
index 30e799b..8c823a5 100644
--- a/data/arty_s7_50t.xdc
+++ b/data/arty_s7_50t.xdc
@@ -1,7 +1,7 @@
 set_property -dict { PACKAGE_PIN R2  IOSTANDARD SSTL135  } [get_ports i_clk];   #IO_L12P_T1_MRCC_34 Sch=ddr3_clk[200]
 set_property -dict { PACKAGE_PIN C18 IOSTANDARD LVCMOS33 } [get_ports i_rst_n]; #IO_L11N_T1_SRCC_15

-set_property -dict { PACKAGE_PIN R12 IOSTANDARD LVCMOS33 } [get_ports q];       #IO_25_14 Sch=uart_rxd_out
+set_property -dict { PACKAGE_PIN E18 IOSTANDARD LVCMOS33 } [get_ports q];       #IO_L16N_T2_A27_15 Sch=led[2]
$ fusesoc run --target=arty_s7_50t servant --memfile=$SERV/sw/blinky.hex
...

LED 2 (LD2) began toggling every ~7 seconds.

References

olofk commented 1 year ago

Excellent! Thank you for your contributions. Picked and pushed!