From de52867ae93b0d1bd0bb464dc05d537aeff77346 Mon Sep 17 00:00:00 2001 From: gojimmypi <13059545+gojimmypi@users.noreply.github.com> Date: Thu, 23 Dec 2021 12:10:43 -0800 Subject: [PATCH 1/4] Clarify fusesoc install update README to clearly state the `fusesoc` install needs to be in anew, empty project directory --- README.md | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 8845db75..f6f4d1f7 100644 --- a/README.md +++ b/README.md @@ -25,7 +25,14 @@ Install FuseSoC `pip install fusesoc` -Add the FuseSoC standard library +Create a workspace project directory to hold your `fusesoc.conf` and other project files as descibed in the [fusesoc Getting Started](https://github.com/olofk/fusesoc#getting-started): + +``` +mkdir myproject +cd myproject +``` + +Add the FuseSoC standard library: `fusesoc library add fusesoc_cores https://github.com/fusesoc/fusesoc-cores` From 541642c51953151440e6753803b6d12867070981 Mon Sep 17 00:00:00 2001 From: gojimmypi <13059545+gojimmypi@users.noreply.github.com> Date: Sun, 24 Jul 2022 11:50:24 +0200 Subject: [PATCH 2/4] ignore VS debris --- .gitignore | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) create mode 100644 .gitignore diff --git a/.gitignore b/.gitignore new file mode 100644 index 00000000..5ac4adff --- /dev/null +++ b/.gitignore @@ -0,0 +1,26 @@ +# vscode user directories +**/.vs/* + +# Visual Studio / VisualGDB + +**/.visualgdb/* +**/*/Makefile.old +**/*/debug.mak.old +**/*/release.mak.old +**/*.vgdbsettings.*.user +**/*.vgdbproj.*.user + +**/*/Debug/* +**/*/Release/* +**/*/x64/Debug +**/*/x64/Release +**/out/build/x64-Debug +**/out/build/x64-Release +**/build/VisualGDB/Debug +**/build/VisualGDB/Release + +# VisualGDB auto-generated files +**/*/gcc_Debug.h +**/*/gcc_Release.h +**/*/*.vcxproj.filters +**/*/*.vcxproj.user From 9765e9b98a0de97ccafd0a058424b906d76d2d8a Mon Sep 17 00:00:00 2001 From: gojimmypi <13059545+gojimmypi@users.noreply.github.com> Date: Sun, 24 Jul 2022 11:50:34 +0200 Subject: [PATCH 3/4] initial ICE-V Support, based on icebreaker --- README.md | 8 ++++++++ data/icev_wireless.pcf | 5 +++++ servant.core | 35 ++++++++++++++++++++++++++--------- 3 files changed, 39 insertions(+), 9 deletions(-) create mode 100644 data/icev_wireless.pcf diff --git a/README.md b/README.md index 5c195974..4eb90f75 100644 --- a/README.md +++ b/README.md @@ -136,6 +136,14 @@ Pin 9 is used for UART output with 57600 baud rate. fusesoc run --target=icebreaker servant +## ICE-V Wireless + +Pin 9 is used for UART output with 57600 baud rate. + + fusesoc run --target=icev_wireless servant + + iceprog build/servant_1.1.0/icestick-icestorm/servant_1.1.0.bin + ### iCESugar Pin 6 is used for UART output with 115200 baud rate. Thanks to the onboard diff --git a/data/icev_wireless.pcf b/data/icev_wireless.pcf new file mode 100644 index 00000000..124cb752 --- /dev/null +++ b/data/icev_wireless.pcf @@ -0,0 +1,5 @@ +# 12 MHz clock +set_io i_clk 35 + +# RS232 +set_io q 9 diff --git a/servant.core b/servant.core index aa4ca080..87f6d69c 100644 --- a/servant.core +++ b/servant.core @@ -64,8 +64,8 @@ filesets: - data/chameleon96/HPS.sv : {file_type : systemVerilogSource} - data/chameleon96/CV_96.v : {file_type : verilogSource} - servant/servive_clock_gen.v : {file_type : verilogSource} - - servant/servive.v : {file_type : verilogSource} - + - servant/servive.v : {file_type : verilogSource} + deca: files: - data/deca.sdc : {file_type : SDC} @@ -95,6 +95,7 @@ filesets: tinyfpga_bx: {files: [data/tinyfpga_bx.pcf : {file_type : PCF}]} icebreaker : {files: [data/icebreaker.pcf : {file_type : PCF}]} + icev_wireless : {files: [data/icev_wireless.pcf : {file_type : PCF}]} icesugar : {files: [data/icesugar.pcf : {file_type : PCF}]} alhambra : {files: [data/alhambra.pcf : {file_type : PCF}]} icestick : {files: [data/icestick.pcf : {file_type : PCF}]} @@ -122,7 +123,7 @@ filesets: - servant/servax.v : {file_type : verilogSource} - data/nexys_2.tcl : {file_type : tclSource} - data/nexys_2.ucf : {file_type : UCF} - + nexys_a7: files: - servant/servix_clock_gen.v : {file_type : verilogSource} @@ -211,9 +212,9 @@ targets: quartus: family : Cyclone V device : 5CSEBA6U19I7 - board_device_index : 2 + board_device_index : 2 toplevel: CV_96 - + deca: default_tool : quartus description: DECA development kit by Arrow / Terasic @@ -258,6 +259,17 @@ targets: pnr: next toplevel : service + icev_wireless: + default_tool : icestorm + filesets : [mem_files, soc, service, icev_wireless] + generate: [icev_wireless_pll] + parameters : [memfile, memsize, PLL=ICE40_PAD] + tools: + icestorm: + nextpnr_options: [--up5k, --freq, 16] + pnr: next + toplevel : service + icesugar: default_tool : icestorm description : iCE40UP5K Development Board by MuseLab @@ -506,7 +518,7 @@ parameters: RISCV_FORMAL: datatype : bool paramtype : vlogdefine - + MDU: datatype : int description : Enables RISC-V standard M-extension @@ -557,17 +569,17 @@ parameters: datatype : int description : Delay start of VCD dumping until the specified time paramtype : plusarg - + compressed: datatype : int description : Enable/Disable the Compressed extension paramtype : vlogparam - + align: datatype : int description : Enable/Disable the Misaligned access of instruction paramtype : vlogparam - + generate: icebreaker_pll: @@ -575,6 +587,11 @@ generate: parameters: freq_out : 16 + icev_wireless_pll: + generator: icepll + parameters: + freq_out : 16 + icesugar_pll: generator: icepll parameters: From 59f4ee954f7a3c50a44984981e6492d9f7c71672 Mon Sep 17 00:00:00 2001 From: gojimmypi <13059545+gojimmypi@users.noreply.github.com> Date: Sat, 6 Aug 2022 21:48:31 +0200 Subject: [PATCH 4/4] revert README; add pcf comment --- README.md | 11 ++--------- data/icev_wireless.pcf | 2 ++ 2 files changed, 4 insertions(+), 9 deletions(-) diff --git a/README.md b/README.md index 5c48433a..cccbb34f 100644 --- a/README.md +++ b/README.md @@ -25,14 +25,7 @@ Install FuseSoC `pip install fusesoc` -Create a workspace project directory to hold your `fusesoc.conf` and other project files as descibed in the [fusesoc Getting Started](https://github.com/olofk/fusesoc#getting-started): - -``` -mkdir myproject -cd myproject -``` - -Add the FuseSoC standard library: +Add the FuseSoC standard library `fusesoc library add fusesoc_cores https://github.com/fusesoc/fusesoc-cores` @@ -307,4 +300,4 @@ Don't go changing the clock frequency on a whim when running Zephyr. Or well, it ## TODO - Applications have to be preloaded to RAM at compile-time -- Make it faster and smaller +- Make it faster and smaller \ No newline at end of file diff --git a/data/icev_wireless.pcf b/data/icev_wireless.pcf index 124cb752..71c97cef 100644 --- a/data/icev_wireless.pcf +++ b/data/icev_wireless.pcf @@ -3,3 +3,5 @@ set_io i_clk 35 # RS232 set_io q 9 + +# use q 39 for red, q 40 for green, q 41 for blue LED