This commit is contained in:
Palle Ravn 2025-03-22 17:27:26 +00:00 committed by GitHub
commit f5b840eba5
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
3 changed files with 58 additions and 0 deletions

8
data/icesugar_nano.pcf Normal file
View file

@ -0,0 +1,8 @@
# 12 MHz external clock
set_io i_clk D1
# LED
set_io o_led B6
# UART
set_io o_uart_tx B3

View file

@ -156,6 +156,11 @@ filesets:
icesugar : {files: [data/icesugar.pcf : {file_type : PCF}]}
icesugar_nano:
files:
- data/icesugar_nano.pcf : {file_type : PCF}
- servant/servant_ice40_cm36.v : {file_type : verilogSource}
icev_wireless : {files: [data/icev_wireless.pcf : {file_type : PCF}]}
gmm7550:
@ -440,6 +445,17 @@ targets:
pnr: next
toplevel : service
icesugar-nano:
default_tool : icestorm
description : iCE40LP1K Development Board by MuseLab
filesets : [mem_files, soc, icesugar_nano]
parameters : [memfile=blinky.hex, memsize=7168]
tools:
icestorm:
nextpnr_options: [--lp1k, --package, cm36, --freq, 12]
pnr: next
toplevel : servant_ice40_cm36
icev_wireless:
default_tool : icestorm
description: ICE-V Wireless

View file

@ -0,0 +1,34 @@
`default_nettype none
module servant_ice40_cm36 (
input wire i_clk,
output wire o_led,
output wire o_uart_tx
);
parameter memfile = "blinky.hex";
parameter memsize = 7168;
wire wb_clk;
wire wb_rst;
wire q;
/* Duplicate the SERV output to both LED and UART pins. */
assign o_led = q;
assign o_uart_tx = q;
/* iCE40 CM36 has no PLL. Drive everything from the external clock. */
assign wb_clk = i_clk;
/* Board has no button that can be used for reset. */
assign wb_rst = 1'b0;
servant #(
.memfile(memfile),
.memsize(memsize)
) servant (
.wb_clk(wb_clk),
.wb_rst(wb_rst),
.q (q)
);
endmodule