Rocksolid Light

Welcome to RetroBBS

mail  files  register  newsreader  groups  login

Message-ID:  

The sum of the Universe is zero.


devel / comp.lang.forth / BugsBoard: an FPGA design for the Digilent Cmod S7

SubjectAuthor
* BugsBoard: an FPGA design for the Digilent Cmod S7Myron Plichota
+* Re: BugsBoard: an FPGA design for the Digilent Cmod S7Myron Plichota
|`- Re: BugsBoard: an FPGA design for the Digilent Cmod S7Ruvim
`* Re: BugsBoard: an FPGA design for the Digilent Cmod S7Jurgen Pitaske
 +* Re: BugsBoard: an FPGA design for the Digilent Cmod S7James Brakefield
 |`* Re: BugsBoard: an FPGA design for the Digilent Cmod S7Jurgen Pitaske
 | +- Re: BugsBoard: an FPGA design for the Digilent Cmod S7Myron Plichota
 | `* Re: BugsBoard: an FPGA design for the Digilent Cmod S7Myron Plichota
 |  `* Re: BugsBoard: an FPGA design for the Digilent Cmod S7Jurgen Pitaske
 |   `* Re: BugsBoard: an FPGA design for the Digilent Cmod S7Myron Plichota
 |    +* Re: BugsBoard: an FPGA design for the Digilent Cmod S7Jurgen Pitaske
 |    |`- Re: BugsBoard: an FPGA design for the Digilent Cmod S7Myron Plichota
 |    `* Re: BugsBoard: an FPGA design for the Digilent Cmod S7Lorem Ipsum
 |     +- Re: BugsBoard: an FPGA design for the Digilent Cmod S7Lorem Ipsum
 |     `* Re: BugsBoard: an FPGA design for the Digilent Cmod S7Myron Plichota
 |      `* Re: BugsBoard: an FPGA design for the Digilent Cmod S7Lorem Ipsum
 |       `* Re: BugsBoard: an FPGA design for the Digilent Cmod S7Myron Plichota
 |        +- Re: BugsBoard: an FPGA design for the Digilent Cmod S7Myron Plichota
 |        `* Re: BugsBoard: an FPGA design for the Digilent Cmod S7Lorem Ipsum
 |         `* Re: BugsBoard: an FPGA design for the Digilent Cmod S7Myron Plichota
 |          +* Re: BugsBoard: an FPGA design for the Digilent Cmod S7Lorem Ipsum
 |          |`* Re: BugsBoard: an FPGA design for the Digilent Cmod S7Myron Plichota
 |          | `* Re: BugsBoard: an FPGA design for the Digilent Cmod S7Lorem Ipsum
 |          |  `* Re: BugsBoard: an FPGA design for the Digilent Cmod S7Myron Plichota
 |          |   +- Re: BugsBoard: an FPGA design for the Digilent Cmod S7Lorem Ipsum
 |          |   +- Re: BugsBoard: an FPGA design for the Digilent Cmod S7Myron Plichota
 |          |   +- Re: BugsBoard: an FPGA design for the Digilent Cmod S7Lorem Ipsum
 |          |   +- Re: BugsBoard: an FPGA design for the Digilent Cmod S7Jurgen Pitaske
 |          |   +- Re: BugsBoard: an FPGA design for the Digilent Cmod S7Lorem Ipsum
 |          |   +- Re: BugsBoard: an FPGA design for the Digilent Cmod S7Myron Plichota
 |          |   +- Re: BugsBoard: an FPGA design for the Digilent Cmod S7Jurgen Pitaske
 |          |   +- Re: BugsBoard: an FPGA design for the Digilent Cmod S7Lorem Ipsum
 |          |   +- Re: BugsBoard: an FPGA design for the Digilent Cmod S7Myron Plichota
 |          |   +- Re: BugsBoard: an FPGA design for the Digilent Cmod S7Lorem Ipsum
 |          |   +- Re: BugsBoard: an FPGA design for the Digilent Cmod S7Myron Plichota
 |          |   +- Re: BugsBoard: an FPGA design for the Digilent Cmod S7Lorem Ipsum
 |          |   +- Re: BugsBoard: an FPGA design for the Digilent Cmod S7Myron Plichota
 |          |   +- Re: BugsBoard: an FPGA design for the Digilent Cmod S7Jurgen Pitaske
 |          |   +- Re: BugsBoard: an FPGA design for the Digilent Cmod S7Myron Plichota
 |          |   +- Re: BugsBoard: an FPGA design for the Digilent Cmod S7Hugh Aguilar
 |          |   +- Re: BugsBoard: an FPGA design for the Digilent Cmod S7Myron Plichota
 |          |   +- Re: BugsBoard: an FPGA design for the Digilent Cmod S7Lorem Ipsum
 |          |   +- Re: BugsBoard: an FPGA design for the Digilent Cmod S7Myron Plichota
 |          |   +- Re: BugsBoard: an FPGA design for the Digilent Cmod S7Lorem Ipsum
 |          |   +- Re: BugsBoard: an FPGA design for the Digilent Cmod S7Myron Plichota
 |          |   +- Re: BugsBoard: an FPGA design for the Digilent Cmod S7Lorem Ipsum
 |          |   `- Re: BugsBoard: an FPGA design for the Digilent Cmod S7Myron Plichota
 |          `* Re: BugsBoard: an FPGA design for the Digilent Cmod S7none
 |           `- Re: BugsBoard: an FPGA design for the Digilent Cmod S7Myron Plichota
 `- Re: BugsBoard: an FPGA design for the Digilent Cmod S7Myron Plichota

Pages:12
BugsBoard: an FPGA design for the Digilent Cmod S7

<97d644a8-d38f-49b0-b73e-45ae276d327fn@googlegroups.com>

  copy mid

https://www.rocksolidbbs.com/devel/article-flat.php?id=25596&group=comp.lang.forth#25596

  copy link   Newsgroups: comp.lang.forth
X-Received: by 2002:ac8:7c2:0:b0:3a5:4c54:c0a6 with SMTP id m2-20020ac807c2000000b003a54c54c0a6mr36158937qth.651.1669812948619;
Wed, 30 Nov 2022 04:55:48 -0800 (PST)
X-Received: by 2002:ac8:564e:0:b0:3a6:6bed:e771 with SMTP id
14-20020ac8564e000000b003a66bede771mr23056803qtt.686.1669812948413; Wed, 30
Nov 2022 04:55:48 -0800 (PST)
Path: i2pn2.org!i2pn.org!usenet.blueworldhosting.com!feed1.usenet.blueworldhosting.com!peer02.iad!feed-me.highwinds-media.com!news.highwinds-media.com!news-out.google.com!nntp.google.com!postnews.google.com!google-groups.googlegroups.com!not-for-mail
Newsgroups: comp.lang.forth
Date: Wed, 30 Nov 2022 04:55:48 -0800 (PST)
Injection-Info: google-groups.googlegroups.com; posting-host=199.48.66.218; posting-account=zkoivgoAAABqROvHfKJPu3S9NWXITnSr
NNTP-Posting-Host: 199.48.66.218
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <97d644a8-d38f-49b0-b73e-45ae276d327fn@googlegroups.com>
Subject: BugsBoard: an FPGA design for the Digilent Cmod S7
From: myronplichota@gmail.com (Myron Plichota)
Injection-Date: Wed, 30 Nov 2022 12:55:48 +0000
Content-Type: text/plain; charset="UTF-8"
X-Received-Bytes: 2757
 by: Myron Plichota - Wed, 30 Nov 2022 12:55 UTC

The hardware is defined in Verilog. The *structured* assembler is written in Python3. Apps source code plays ball with the Python3 foundation.

e.g. apps/color_toy.py:

include('FPGAburn/appload.py') # must be on the first line

# play with LD0 color

ja(fwd('init'))

lbl('app_msg'); ascii('\r\npress BTN0 to reset')

# color intensities
lbl('red'); data([0])
lbl('green'); data([0])
lbl('blue'); data([0])

# commands

lbl('ir') # char -> # increment red
drop(); lld(red); inc(); lst(red); ret()

lbl('dr') # char -> # decrement red
drop(); lld(red); dec(); lst(red); ret()

lbl('ig') # char -> # increment green
drop(); lld(green); inc(); lst(green); ret()

lbl('dg') # char -> # decrement green
drop(); lld(green); dec(); lst(green); ret()

lbl('ib') # char -> # increment blue
drop(); lld(blue); inc(); lst(blue); ret()

lbl('db') # char -> # decrement blue
drop(); lld(blue); dec(); lst(blue); ret()

lbl('command') # -> # execute a recognized command
lld(arx_rdy)
_if()
lld(uart); dup(); cp(tx) # -> char # echo
dup(); lbxor(ord('R')); jz(ir)
dup(); lbxor(ord('r')); jz(dr)
dup(); lbxor(ord('G')); jz(ig)
dup(); lbxor(ord('g')); jz(dg)
dup(); lbxor(ord('B')); jz(ib)
dup(); lbxor(ord('b')); jz(db)
drop() # none of the above
_then()
ret()

lbl('init')
lit(app_msg); cp(tx_ascii)
_begin()
cp(command)
lld(red); lst(pwm1)
lld(green); lst(pwm2)
lld(blue); lst(pwm3)
_again()

lbl('app_end') # must be on the last line

BugsBoard_Primer.pdf is at https://drive.google.com/file/d/14iPt_j_lmINSs4cte3_MneA6D4UCBjZi/view?usp=sharing
A link to Bugs18bis.zip is in the downloads section.

Cheers - Myron Plichota

Re: BugsBoard: an FPGA design for the Digilent Cmod S7

<22e6e3a8-c0a4-4866-81da-aac4c51d07e8n@googlegroups.com>

  copy mid

https://www.rocksolidbbs.com/devel/article-flat.php?id=25597&group=comp.lang.forth#25597

  copy link   Newsgroups: comp.lang.forth
X-Received: by 2002:a05:622a:4899:b0:3a5:64a0:5eba with SMTP id fc25-20020a05622a489900b003a564a05ebamr42953587qtb.96.1669813241683;
Wed, 30 Nov 2022 05:00:41 -0800 (PST)
X-Received: by 2002:a37:b1c5:0:b0:6fb:11d1:dab2 with SMTP id
a188-20020a37b1c5000000b006fb11d1dab2mr55596019qkf.75.1669813240922; Wed, 30
Nov 2022 05:00:40 -0800 (PST)
Path: i2pn2.org!i2pn.org!usenet.blueworldhosting.com!feed1.usenet.blueworldhosting.com!peer02.iad!feed-me.highwinds-media.com!news.highwinds-media.com!news-out.google.com!nntp.google.com!postnews.google.com!google-groups.googlegroups.com!not-for-mail
Newsgroups: comp.lang.forth
Date: Wed, 30 Nov 2022 05:00:40 -0800 (PST)
In-Reply-To: <97d644a8-d38f-49b0-b73e-45ae276d327fn@googlegroups.com>
Injection-Info: google-groups.googlegroups.com; posting-host=199.48.66.218; posting-account=zkoivgoAAABqROvHfKJPu3S9NWXITnSr
NNTP-Posting-Host: 199.48.66.218
References: <97d644a8-d38f-49b0-b73e-45ae276d327fn@googlegroups.com>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <22e6e3a8-c0a4-4866-81da-aac4c51d07e8n@googlegroups.com>
Subject: Re: BugsBoard: an FPGA design for the Digilent Cmod S7
From: myronplichota@gmail.com (Myron Plichota)
Injection-Date: Wed, 30 Nov 2022 13:00:41 +0000
Content-Type: text/plain; charset="UTF-8"
X-Received-Bytes: 3160
 by: Myron Plichota - Wed, 30 Nov 2022 13:00 UTC

On Wednesday, November 30, 2022 at 7:55:49 AM UTC-5, Myron Plichota wrote:
> The hardware is defined in Verilog. The *structured* assembler is written in Python3. Apps source code plays ball with the Python3 foundation.
>
> e.g. apps/color_toy.py:
>
> include('FPGAburn/appload.py') # must be on the first line
>
> # play with LD0 color
>
> ja(fwd('init'))
>
> lbl('app_msg'); ascii('\r\npress BTN0 to reset')
>
> # color intensities
> lbl('red'); data([0])
> lbl('green'); data([0])
> lbl('blue'); data([0])
>
> # commands
>
> lbl('ir') # char -> # increment red
> drop(); lld(red); inc(); lst(red); ret()
>
> lbl('dr') # char -> # decrement red
> drop(); lld(red); dec(); lst(red); ret()
>
> lbl('ig') # char -> # increment green
> drop(); lld(green); inc(); lst(green); ret()
>
> lbl('dg') # char -> # decrement green
> drop(); lld(green); dec(); lst(green); ret()
>
> lbl('ib') # char -> # increment blue
> drop(); lld(blue); inc(); lst(blue); ret()
>
> lbl('db') # char -> # decrement blue
> drop(); lld(blue); dec(); lst(blue); ret()
>
> lbl('command') # -> # execute a recognized command
> lld(arx_rdy)
> _if()
> lld(uart); dup(); cp(tx) # -> char # echo
> dup(); lbxor(ord('R')); jz(ir)
> dup(); lbxor(ord('r')); jz(dr)
> dup(); lbxor(ord('G')); jz(ig)
> dup(); lbxor(ord('g')); jz(dg)
> dup(); lbxor(ord('B')); jz(ib)
> dup(); lbxor(ord('b')); jz(db)
> drop() # none of the above
> _then()
> ret()
>
> lbl('init')
> lit(app_msg); cp(tx_ascii)
> _begin()
> cp(command)
> lld(red); lst(pwm1)
> lld(green); lst(pwm2)
> lld(blue); lst(pwm3)
> _again()
>
> lbl('app_end') # must be on the last line
>
> BugsBoard_Primer.pdf is at https://drive.google.com/file/d/14iPt_j_lmINSs4cte3_MneA6D4UCBjZi/view?usp=sharing
> A link to Bugs18bis.zip is in the downloads section.
>
> Cheers - Myron Plichota
It's a pity that the indentation was screwed up by the new post tool :(

Re: BugsBoard: an FPGA design for the Digilent Cmod S7

<tm9p0q$2ouho$1@dont-email.me>

  copy mid

https://www.rocksolidbbs.com/devel/article-flat.php?id=25604&group=comp.lang.forth#25604

  copy link   Newsgroups: comp.lang.forth
Path: i2pn2.org!i2pn.org!eternal-september.org!reader01.eternal-september.org!.POSTED!not-for-mail
From: ruvim.pinka@gmail.com (Ruvim)
Newsgroups: comp.lang.forth
Subject: Re: BugsBoard: an FPGA design for the Digilent Cmod S7
Date: Thu, 1 Dec 2022 08:35:33 +0000
Organization: A noiseless patient Spider
Lines: 21
Message-ID: <tm9p0q$2ouho$1@dont-email.me>
References: <97d644a8-d38f-49b0-b73e-45ae276d327fn@googlegroups.com>
<22e6e3a8-c0a4-4866-81da-aac4c51d07e8n@googlegroups.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit
Injection-Date: Thu, 1 Dec 2022 08:35:38 -0000 (UTC)
Injection-Info: reader01.eternal-september.org; posting-host="b096acc83f39c9a6f4f492cde6c4da92";
logging-data="2914872"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX1/uyCVRV/PjmZV5GBCKFfs+"
User-Agent: Mozilla/5.0 (Windows NT 10.0; rv:102.0) Gecko/20100101
Firefox/102.0
Cancel-Lock: sha1:zfMKVg6TUvzc3yXpqrsiSNS+GPM=
In-Reply-To: <22e6e3a8-c0a4-4866-81da-aac4c51d07e8n@googlegroups.com>
Content-Language: en-US
 by: Ruvim - Thu, 1 Dec 2022 08:35 UTC

On 2022-11-30 13:00, Myron Plichota wrote:
> On Wednesday, November 30, 2022 at 7:55:49 AM UTC-5, Myron Plichota wrote:
>>
>> e.g. apps/color_toy.py:
>>
[...]

> It's a pity that the indentation was screwed up by the new post tool :(

It's a problem in the Google Groups reader only.

All the indentations are kept in your message when it's accessed via NNTP.

For example, see:
http://al.howardknight.net/?ID=166988358200
https://news.novabbs.com/programming/article-flat.php?id=21463&group=comp.lang.forth#21463

--
Ruvim

Re: BugsBoard: an FPGA design for the Digilent Cmod S7

<f37bb625-4a7b-417f-b331-1c75c20cadbdn@googlegroups.com>

  copy mid

https://www.rocksolidbbs.com/devel/article-flat.php?id=25626&group=comp.lang.forth#25626

  copy link   Newsgroups: comp.lang.forth
X-Received: by 2002:ad4:444d:0:b0:4c6:85e3:9fd4 with SMTP id l13-20020ad4444d000000b004c685e39fd4mr50074422qvt.3.1670067119464;
Sat, 03 Dec 2022 03:31:59 -0800 (PST)
X-Received: by 2002:a05:620a:13b4:b0:6f3:e5c8:de36 with SMTP id
m20-20020a05620a13b400b006f3e5c8de36mr49189556qki.546.1670067119200; Sat, 03
Dec 2022 03:31:59 -0800 (PST)
Path: i2pn2.org!i2pn.org!usenet.blueworldhosting.com!feed1.usenet.blueworldhosting.com!peer03.iad!feed-me.highwinds-media.com!news.highwinds-media.com!news-out.google.com!nntp.google.com!postnews.google.com!google-groups.googlegroups.com!not-for-mail
Newsgroups: comp.lang.forth
Date: Sat, 3 Dec 2022 03:31:58 -0800 (PST)
In-Reply-To: <97d644a8-d38f-49b0-b73e-45ae276d327fn@googlegroups.com>
Injection-Info: google-groups.googlegroups.com; posting-host=78.147.154.166; posting-account=eAOrwQkAAABheFES5y-02sBOFdTlBRio
NNTP-Posting-Host: 78.147.154.166
References: <97d644a8-d38f-49b0-b73e-45ae276d327fn@googlegroups.com>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <f37bb625-4a7b-417f-b331-1c75c20cadbdn@googlegroups.com>
Subject: Re: BugsBoard: an FPGA design for the Digilent Cmod S7
From: jpitaske@gmail.com (Jurgen Pitaske)
Injection-Date: Sat, 03 Dec 2022 11:31:59 +0000
Content-Type: text/plain; charset="UTF-8"
X-Received-Bytes: 3595
 by: Jurgen Pitaske - Sat, 3 Dec 2022 11:31 UTC

On Wednesday, 30 November 2022 at 12:55:49 UTC, Myron Plichota wrote:
> The hardware is defined in Verilog. The *structured* assembler is written in Python3. Apps source code plays ball with the Python3 foundation.
>
> e.g. apps/color_toy.py:
>
> include('FPGAburn/appload.py') # must be on the first line
>
> # play with LD0 color
>
> ja(fwd('init'))
>
> lbl('app_msg'); ascii('\r\npress BTN0 to reset')
>
> # color intensities
> lbl('red'); data([0])
> lbl('green'); data([0])
> lbl('blue'); data([0])
>
> # commands
>
> lbl('ir') # char -> # increment red
> drop(); lld(red); inc(); lst(red); ret()
>
> lbl('dr') # char -> # decrement red
> drop(); lld(red); dec(); lst(red); ret()
>
> lbl('ig') # char -> # increment green
> drop(); lld(green); inc(); lst(green); ret()
>
> lbl('dg') # char -> # decrement green
> drop(); lld(green); dec(); lst(green); ret()
>
> lbl('ib') # char -> # increment blue
> drop(); lld(blue); inc(); lst(blue); ret()
>
> lbl('db') # char -> # decrement blue
> drop(); lld(blue); dec(); lst(blue); ret()
>
> lbl('command') # -> # execute a recognized command
> lld(arx_rdy)
> _if()
> lld(uart); dup(); cp(tx) # -> char # echo
> dup(); lbxor(ord('R')); jz(ir)
> dup(); lbxor(ord('r')); jz(dr)
> dup(); lbxor(ord('G')); jz(ig)
> dup(); lbxor(ord('g')); jz(dg)
> dup(); lbxor(ord('B')); jz(ib)
> dup(); lbxor(ord('b')); jz(db)
> drop() # none of the above
> _then()
> ret()
>
> lbl('init')
> lit(app_msg); cp(tx_ascii)
> _begin()
> cp(command)
> lld(red); lst(pwm1)
> lld(green); lst(pwm2)
> lld(blue); lst(pwm3)
> _again()
>
> lbl('app_end') # must be on the last line
>
> BugsBoard_Primer.pdf is at https://drive.google.com/file/d/14iPt_j_lmINSs4cte3_MneA6D4UCBjZi/view?usp=sharing
> A link to Bugs18bis.zip is in the downloads section.
>
> Cheers - Myron Plichota

The number of people who own such a board is probably rather small.
And cost/availability might be an issue for many who want to give it a go.

I wonder if the NANDLAND Board / Lattice based could be a target for your software.
This would probably cover as well the related board from Lattice.
https://nandland.com/the-go-board/ has a lot of related documentation to get started.

Nandland board $65,
https://digilent.com/reference/programmable-logic/cmod-s7/start at $99 and not available at the moment

Re: BugsBoard: an FPGA design for the Digilent Cmod S7

<ad6b7a42-b48a-44b2-8dee-6b250161fb72n@googlegroups.com>

  copy mid

https://www.rocksolidbbs.com/devel/article-flat.php?id=25628&group=comp.lang.forth#25628

  copy link   Newsgroups: comp.lang.forth
X-Received: by 2002:ae9:e919:0:b0:6e0:90df:228f with SMTP id x25-20020ae9e919000000b006e090df228fmr50314487qkf.756.1670083239886;
Sat, 03 Dec 2022 08:00:39 -0800 (PST)
X-Received: by 2002:ad4:4082:0:b0:4bb:6a11:9418 with SMTP id
l2-20020ad44082000000b004bb6a119418mr52855376qvp.70.1670083239392; Sat, 03
Dec 2022 08:00:39 -0800 (PST)
Path: i2pn2.org!i2pn.org!usenet.blueworldhosting.com!feed1.usenet.blueworldhosting.com!peer03.iad!feed-me.highwinds-media.com!news.highwinds-media.com!news-out.google.com!nntp.google.com!postnews.google.com!google-groups.googlegroups.com!not-for-mail
Newsgroups: comp.lang.forth
Date: Sat, 3 Dec 2022 08:00:39 -0800 (PST)
In-Reply-To: <f37bb625-4a7b-417f-b331-1c75c20cadbdn@googlegroups.com>
Injection-Info: google-groups.googlegroups.com; posting-host=136.50.14.162; posting-account=AoizIQoAAADa7kQDpB0DAj2jwddxXUgl
NNTP-Posting-Host: 136.50.14.162
References: <97d644a8-d38f-49b0-b73e-45ae276d327fn@googlegroups.com> <f37bb625-4a7b-417f-b331-1c75c20cadbdn@googlegroups.com>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <ad6b7a42-b48a-44b2-8dee-6b250161fb72n@googlegroups.com>
Subject: Re: BugsBoard: an FPGA design for the Digilent Cmod S7
From: jim.brakefield@ieee.org (James Brakefield)
Injection-Date: Sat, 03 Dec 2022 16:00:39 +0000
Content-Type: text/plain; charset="UTF-8"
X-Received-Bytes: 4222
 by: James Brakefield - Sat, 3 Dec 2022 16:00 UTC

On Saturday, December 3, 2022 at 5:32:00 AM UTC-6, jpit...@gmail.com wrote:
> On Wednesday, 30 November 2022 at 12:55:49 UTC, Myron Plichota wrote:
> > The hardware is defined in Verilog. The *structured* assembler is written in Python3. Apps source code plays ball with the Python3 foundation.
> >
> > e.g. apps/color_toy.py:
> >
> > include('FPGAburn/appload.py') # must be on the first line
> >
> > # play with LD0 color
> >
> > ja(fwd('init'))
> >
> > lbl('app_msg'); ascii('\r\npress BTN0 to reset')
> >
> > # color intensities
> > lbl('red'); data([0])
> > lbl('green'); data([0])
> > lbl('blue'); data([0])
> >
> > # commands
> >
> > lbl('ir') # char -> # increment red
> > drop(); lld(red); inc(); lst(red); ret()
> >
> > lbl('dr') # char -> # decrement red
> > drop(); lld(red); dec(); lst(red); ret()
> >
> > lbl('ig') # char -> # increment green
> > drop(); lld(green); inc(); lst(green); ret()
> >
> > lbl('dg') # char -> # decrement green
> > drop(); lld(green); dec(); lst(green); ret()
> >
> > lbl('ib') # char -> # increment blue
> > drop(); lld(blue); inc(); lst(blue); ret()
> >
> > lbl('db') # char -> # decrement blue
> > drop(); lld(blue); dec(); lst(blue); ret()
> >
> > lbl('command') # -> # execute a recognized command
> > lld(arx_rdy)
> > _if()
> > lld(uart); dup(); cp(tx) # -> char # echo
> > dup(); lbxor(ord('R')); jz(ir)
> > dup(); lbxor(ord('r')); jz(dr)
> > dup(); lbxor(ord('G')); jz(ig)
> > dup(); lbxor(ord('g')); jz(dg)
> > dup(); lbxor(ord('B')); jz(ib)
> > dup(); lbxor(ord('b')); jz(db)
> > drop() # none of the above
> > _then()
> > ret()
> >
> > lbl('init')
> > lit(app_msg); cp(tx_ascii)
> > _begin()
> > cp(command)
> > lld(red); lst(pwm1)
> > lld(green); lst(pwm2)
> > lld(blue); lst(pwm3)
> > _again()
> >
> > lbl('app_end') # must be on the last line
> >
> > BugsBoard_Primer.pdf is at https://drive.google.com/file/d/14iPt_j_lmINSs4cte3_MneA6D4UCBjZi/view?usp=sharing
> > A link to Bugs18bis.zip is in the downloads section.
> >
> > Cheers - Myron Plichota
> The number of people who own such a board is probably rather small.
> And cost/availability might be an issue for many who want to give it a go.
>
> I wonder if the NANDLAND Board / Lattice based could be a target for your software.
> This would probably cover as well the related board from Lattice.
> https://nandland.com/the-go-board/ has a lot of related documentation to get started.
>
> Nandland board $65,
> https://digilent.com/reference/programmable-logic/cmod-s7/start at $99 and not available at the moment

FPGA board prices have gone way op over the last few years.
If you are a FPGA beginner and a student and want to avoid using a plug board,
the Terasic DE10-Lite and the Realdigital BooleanBoard give you the most for your money.
If user IO (buttons, switches and 7-segment display) is not an issue, the Tang Nano 9K deserves a look.

Re: BugsBoard: an FPGA design for the Digilent Cmod S7

<c5ab525b-df41-4a21-a734-3333f692dea3n@googlegroups.com>

  copy mid

https://www.rocksolidbbs.com/devel/article-flat.php?id=25633&group=comp.lang.forth#25633

  copy link   Newsgroups: comp.lang.forth
X-Received: by 2002:a37:46cd:0:b0:6fb:7c45:bd5 with SMTP id t196-20020a3746cd000000b006fb7c450bd5mr69364178qka.304.1670145985926;
Sun, 04 Dec 2022 01:26:25 -0800 (PST)
X-Received: by 2002:ac8:12c8:0:b0:3a7:e100:10a with SMTP id
b8-20020ac812c8000000b003a7e100010amr1491611qtj.588.1670145984150; Sun, 04
Dec 2022 01:26:24 -0800 (PST)
Path: i2pn2.org!i2pn.org!usenet.blueworldhosting.com!feed1.usenet.blueworldhosting.com!peer02.iad!feed-me.highwinds-media.com!news.highwinds-media.com!news-out.google.com!nntp.google.com!postnews.google.com!google-groups.googlegroups.com!not-for-mail
Newsgroups: comp.lang.forth
Date: Sun, 4 Dec 2022 01:26:23 -0800 (PST)
In-Reply-To: <ad6b7a42-b48a-44b2-8dee-6b250161fb72n@googlegroups.com>
Injection-Info: google-groups.googlegroups.com; posting-host=78.147.154.166; posting-account=eAOrwQkAAABheFES5y-02sBOFdTlBRio
NNTP-Posting-Host: 78.147.154.166
References: <97d644a8-d38f-49b0-b73e-45ae276d327fn@googlegroups.com>
<f37bb625-4a7b-417f-b331-1c75c20cadbdn@googlegroups.com> <ad6b7a42-b48a-44b2-8dee-6b250161fb72n@googlegroups.com>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <c5ab525b-df41-4a21-a734-3333f692dea3n@googlegroups.com>
Subject: Re: BugsBoard: an FPGA design for the Digilent Cmod S7
From: jpitaske@gmail.com (Jurgen Pitaske)
Injection-Date: Sun, 04 Dec 2022 09:26:25 +0000
Content-Type: text/plain; charset="UTF-8"
X-Received-Bytes: 5399
 by: Jurgen Pitaske - Sun, 4 Dec 2022 09:26 UTC

On Saturday, 3 December 2022 at 16:00:41 UTC, James Brakefield wrote:
> On Saturday, December 3, 2022 at 5:32:00 AM UTC-6, jpit...@gmail.com wrote:
> > On Wednesday, 30 November 2022 at 12:55:49 UTC, Myron Plichota wrote:
> > > The hardware is defined in Verilog. The *structured* assembler is written in Python3. Apps source code plays ball with the Python3 foundation.
> > >
> > > e.g. apps/color_toy.py:
> > >
> > > include('FPGAburn/appload.py') # must be on the first line
> > >
> > > # play with LD0 color
> > >
> > > ja(fwd('init'))
> > >
> > > lbl('app_msg'); ascii('\r\npress BTN0 to reset')
> > >
> > > # color intensities
> > > lbl('red'); data([0])
> > > lbl('green'); data([0])
> > > lbl('blue'); data([0])
> > >
> > > # commands
> > >
> > > lbl('ir') # char -> # increment red
> > > drop(); lld(red); inc(); lst(red); ret()
> > >
> > > lbl('dr') # char -> # decrement red
> > > drop(); lld(red); dec(); lst(red); ret()
> > >
> > > lbl('ig') # char -> # increment green
> > > drop(); lld(green); inc(); lst(green); ret()
> > >
> > > lbl('dg') # char -> # decrement green
> > > drop(); lld(green); dec(); lst(green); ret()
> > >
> > > lbl('ib') # char -> # increment blue
> > > drop(); lld(blue); inc(); lst(blue); ret()
> > >
> > > lbl('db') # char -> # decrement blue
> > > drop(); lld(blue); dec(); lst(blue); ret()
> > >
> > > lbl('command') # -> # execute a recognized command
> > > lld(arx_rdy)
> > > _if()
> > > lld(uart); dup(); cp(tx) # -> char # echo
> > > dup(); lbxor(ord('R')); jz(ir)
> > > dup(); lbxor(ord('r')); jz(dr)
> > > dup(); lbxor(ord('G')); jz(ig)
> > > dup(); lbxor(ord('g')); jz(dg)
> > > dup(); lbxor(ord('B')); jz(ib)
> > > dup(); lbxor(ord('b')); jz(db)
> > > drop() # none of the above
> > > _then()
> > > ret()
> > >
> > > lbl('init')
> > > lit(app_msg); cp(tx_ascii)
> > > _begin()
> > > cp(command)
> > > lld(red); lst(pwm1)
> > > lld(green); lst(pwm2)
> > > lld(blue); lst(pwm3)
> > > _again()
> > >
> > > lbl('app_end') # must be on the last line
> > >
> > > BugsBoard_Primer.pdf is at https://drive.google.com/file/d/14iPt_j_lmINSs4cte3_MneA6D4UCBjZi/view?usp=sharing
> > > A link to Bugs18bis.zip is in the downloads section.
> > >
> > > Cheers - Myron Plichota
> > The number of people who own such a board is probably rather small.
> > And cost/availability might be an issue for many who want to give it a go.
> >
> > I wonder if the NANDLAND Board / Lattice based could be a target for your software.
> > This would probably cover as well the related board from Lattice.
> > https://nandland.com/the-go-board/ has a lot of related documentation to get started.
> >
> > Nandland board $65,
> > https://digilent.com/reference/programmable-logic/cmod-s7/start at $99 and not available at the moment
> FPGA board prices have gone way op over the last few years.
> If you are a FPGA beginner and a student and want to avoid using a plug board,
> the Terasic DE10-Lite and the Realdigital BooleanBoard give you the most for your money.
> If user IO (buttons, switches and 7-segment display) is not an issue, the Tang Nano 9K deserves a look.

I had been looking at these low-cost boards at Pimoroni - but out of stock as expected.
https://shop.pimoroni.com/search?q=fpga%20board
But I still own many different versions from the past including some of those from Trenz-Electronics that I could use
https://shop.trenz-electronic.de/en/Products/Trenz-Electronic/TE0890-Spartan-7/ good for breadboards
The last time I switched one on, was
to verify the CDP1802 that Steve Teal did
https://www.amazon.co.uk/FIG-Forth-Manual-Documentation-Test-1802-ebook/dp/B01N42VLJE/ref=sr_1_19?qid=1670145231&refinements=p_27%3AJuergen+Pintaske&s=books&sr=1-19
and this got me to redo the CDP1802 book BMP802 and publish it on amazon as well
https://www.amazon.co.uk/DESIGN-IDEAS-BOOK-CDP1802-Microprocesor-ebook/dp/B09GWCVHGG/ref=sr_1_10?qid=1670145353&refinements=p_27%3AJuergen+Pintaske&s=books&sr=1-10
All for the fun of it.

Re: BugsBoard: an FPGA design for the Digilent Cmod S7

<d2d7d6cf-7a69-447f-a4a1-a51ec3030192n@googlegroups.com>

  copy mid

https://www.rocksolidbbs.com/devel/article-flat.php?id=25634&group=comp.lang.forth#25634

  copy link   Newsgroups: comp.lang.forth
X-Received: by 2002:a05:620a:3714:b0:6fa:16fe:93f6 with SMTP id de20-20020a05620a371400b006fa16fe93f6mr67356344qkb.258.1670146577014;
Sun, 04 Dec 2022 01:36:17 -0800 (PST)
X-Received: by 2002:ac8:7343:0:b0:3a4:c30b:c640 with SMTP id
q3-20020ac87343000000b003a4c30bc640mr53915185qtp.25.1670146576801; Sun, 04
Dec 2022 01:36:16 -0800 (PST)
Path: i2pn2.org!i2pn.org!usenet.blueworldhosting.com!feed1.usenet.blueworldhosting.com!peer02.iad!feed-me.highwinds-media.com!news.highwinds-media.com!news-out.google.com!nntp.google.com!postnews.google.com!google-groups.googlegroups.com!not-for-mail
Newsgroups: comp.lang.forth
Date: Sun, 4 Dec 2022 01:36:16 -0800 (PST)
In-Reply-To: <f37bb625-4a7b-417f-b331-1c75c20cadbdn@googlegroups.com>
Injection-Info: google-groups.googlegroups.com; posting-host=199.48.66.218; posting-account=zkoivgoAAABqROvHfKJPu3S9NWXITnSr
NNTP-Posting-Host: 199.48.66.218
References: <97d644a8-d38f-49b0-b73e-45ae276d327fn@googlegroups.com> <f37bb625-4a7b-417f-b331-1c75c20cadbdn@googlegroups.com>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <d2d7d6cf-7a69-447f-a4a1-a51ec3030192n@googlegroups.com>
Subject: Re: BugsBoard: an FPGA design for the Digilent Cmod S7
From: myronplichota@gmail.com (Myron Plichota)
Injection-Date: Sun, 04 Dec 2022 09:36:17 +0000
Content-Type: text/plain; charset="UTF-8"
X-Received-Bytes: 4278
 by: Myron Plichota - Sun, 4 Dec 2022 09:36 UTC

On Saturday, December 3, 2022 at 6:32:00 AM UTC-5, jpit...@gmail.com wrote:
> On Wednesday, 30 November 2022 at 12:55:49 UTC, Myron Plichota wrote:
> > The hardware is defined in Verilog. The *structured* assembler is written in Python3. Apps source code plays ball with the Python3 foundation.
> >
> > e.g. apps/color_toy.py:
> >
> > include('FPGAburn/appload.py') # must be on the first line
> >
> > # play with LD0 color
> >
> > ja(fwd('init'))
> >
> > lbl('app_msg'); ascii('\r\npress BTN0 to reset')
> >
> > # color intensities
> > lbl('red'); data([0])
> > lbl('green'); data([0])
> > lbl('blue'); data([0])
> >
> > # commands
> >
> > lbl('ir') # char -> # increment red
> > drop(); lld(red); inc(); lst(red); ret()
> >
> > lbl('dr') # char -> # decrement red
> > drop(); lld(red); dec(); lst(red); ret()
> >
> > lbl('ig') # char -> # increment green
> > drop(); lld(green); inc(); lst(green); ret()
> >
> > lbl('dg') # char -> # decrement green
> > drop(); lld(green); dec(); lst(green); ret()
> >
> > lbl('ib') # char -> # increment blue
> > drop(); lld(blue); inc(); lst(blue); ret()
> >
> > lbl('db') # char -> # decrement blue
> > drop(); lld(blue); dec(); lst(blue); ret()
> >
> > lbl('command') # -> # execute a recognized command
> > lld(arx_rdy)
> > _if()
> > lld(uart); dup(); cp(tx) # -> char # echo
> > dup(); lbxor(ord('R')); jz(ir)
> > dup(); lbxor(ord('r')); jz(dr)
> > dup(); lbxor(ord('G')); jz(ig)
> > dup(); lbxor(ord('g')); jz(dg)
> > dup(); lbxor(ord('B')); jz(ib)
> > dup(); lbxor(ord('b')); jz(db)
> > drop() # none of the above
> > _then()
> > ret()
> >
> > lbl('init')
> > lit(app_msg); cp(tx_ascii)
> > _begin()
> > cp(command)
> > lld(red); lst(pwm1)
> > lld(green); lst(pwm2)
> > lld(blue); lst(pwm3)
> > _again()
> >
> > lbl('app_end') # must be on the last line
> >
> > BugsBoard_Primer.pdf is at https://drive.google.com/file/d/14iPt_j_lmINSs4cte3_MneA6D4UCBjZi/view?usp=sharing
> > A link to Bugs18bis.zip is in the downloads section.
> >
> > Cheers - Myron Plichota
> The number of people who own such a board is probably rather small.
> And cost/availability might be an issue for many who want to give it a go.
>
> I wonder if the NANDLAND Board / Lattice based could be a target for your software.
> This would probably cover as well the related board from Lattice.
> https://nandland.com/the-go-board/ has a lot of related documentation to get started.
>
> Nandland board $65,
> https://digilent.com/reference/programmable-logic/cmod-s7/start at $99 and not available at the moment
I have built Lattice iCE40 HX1k and HX8k stack-machine SoCs for the iCEstick and EB85.
HX1k can provide 2Kx18-bits of RAM, 9 of 16 blocks.
HX8k can provide 6Kx18-bits of RAM, 27 of 32 blocks.
iCE40 has no multiplier blocks.
The Go Board IO pinout philosophy is very dedicated.
I have no skin in the game, but I do not recommend this particular board for a Verilog transplant operation.

Re: BugsBoard: an FPGA design for the Digilent Cmod S7

<b8f3d4c5-efd9-4bc4-9866-befa86416525n@googlegroups.com>

  copy mid

https://www.rocksolidbbs.com/devel/article-flat.php?id=25635&group=comp.lang.forth#25635

  copy link   Newsgroups: comp.lang.forth
X-Received: by 2002:a05:622a:50a7:b0:39c:eb15:b6df with SMTP id fp39-20020a05622a50a700b0039ceb15b6dfmr71576297qtb.518.1670147018473;
Sun, 04 Dec 2022 01:43:38 -0800 (PST)
X-Received: by 2002:ac8:7312:0:b0:3a5:3628:4304 with SMTP id
x18-20020ac87312000000b003a536284304mr58036555qto.517.1670147018283; Sun, 04
Dec 2022 01:43:38 -0800 (PST)
Path: i2pn2.org!i2pn.org!usenet.blueworldhosting.com!feed1.usenet.blueworldhosting.com!peer02.iad!feed-me.highwinds-media.com!news.highwinds-media.com!news-out.google.com!nntp.google.com!postnews.google.com!google-groups.googlegroups.com!not-for-mail
Newsgroups: comp.lang.forth
Date: Sun, 4 Dec 2022 01:43:38 -0800 (PST)
In-Reply-To: <c5ab525b-df41-4a21-a734-3333f692dea3n@googlegroups.com>
Injection-Info: google-groups.googlegroups.com; posting-host=199.48.66.218; posting-account=zkoivgoAAABqROvHfKJPu3S9NWXITnSr
NNTP-Posting-Host: 199.48.66.218
References: <97d644a8-d38f-49b0-b73e-45ae276d327fn@googlegroups.com>
<f37bb625-4a7b-417f-b331-1c75c20cadbdn@googlegroups.com> <ad6b7a42-b48a-44b2-8dee-6b250161fb72n@googlegroups.com>
<c5ab525b-df41-4a21-a734-3333f692dea3n@googlegroups.com>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <b8f3d4c5-efd9-4bc4-9866-befa86416525n@googlegroups.com>
Subject: Re: BugsBoard: an FPGA design for the Digilent Cmod S7
From: myronplichota@gmail.com (Myron Plichota)
Injection-Date: Sun, 04 Dec 2022 09:43:38 +0000
Content-Type: text/plain; charset="UTF-8"
X-Received-Bytes: 5827
 by: Myron Plichota - Sun, 4 Dec 2022 09:43 UTC

On Sunday, December 4, 2022 at 4:26:27 AM UTC-5, jpit...@gmail.com wrote:
> On Saturday, 3 December 2022 at 16:00:41 UTC, James Brakefield wrote:
> > On Saturday, December 3, 2022 at 5:32:00 AM UTC-6, jpit...@gmail.com wrote:
> > > On Wednesday, 30 November 2022 at 12:55:49 UTC, Myron Plichota wrote:
> > > > The hardware is defined in Verilog. The *structured* assembler is written in Python3. Apps source code plays ball with the Python3 foundation.
> > > >
> > > > e.g. apps/color_toy.py:
> > > >
> > > > include('FPGAburn/appload.py') # must be on the first line
> > > >
> > > > # play with LD0 color
> > > >
> > > > ja(fwd('init'))
> > > >
> > > > lbl('app_msg'); ascii('\r\npress BTN0 to reset')
> > > >
> > > > # color intensities
> > > > lbl('red'); data([0])
> > > > lbl('green'); data([0])
> > > > lbl('blue'); data([0])
> > > >
> > > > # commands
> > > >
> > > > lbl('ir') # char -> # increment red
> > > > drop(); lld(red); inc(); lst(red); ret()
> > > >
> > > > lbl('dr') # char -> # decrement red
> > > > drop(); lld(red); dec(); lst(red); ret()
> > > >
> > > > lbl('ig') # char -> # increment green
> > > > drop(); lld(green); inc(); lst(green); ret()
> > > >
> > > > lbl('dg') # char -> # decrement green
> > > > drop(); lld(green); dec(); lst(green); ret()
> > > >
> > > > lbl('ib') # char -> # increment blue
> > > > drop(); lld(blue); inc(); lst(blue); ret()
> > > >
> > > > lbl('db') # char -> # decrement blue
> > > > drop(); lld(blue); dec(); lst(blue); ret()
> > > >
> > > > lbl('command') # -> # execute a recognized command
> > > > lld(arx_rdy)
> > > > _if()
> > > > lld(uart); dup(); cp(tx) # -> char # echo
> > > > dup(); lbxor(ord('R')); jz(ir)
> > > > dup(); lbxor(ord('r')); jz(dr)
> > > > dup(); lbxor(ord('G')); jz(ig)
> > > > dup(); lbxor(ord('g')); jz(dg)
> > > > dup(); lbxor(ord('B')); jz(ib)
> > > > dup(); lbxor(ord('b')); jz(db)
> > > > drop() # none of the above
> > > > _then()
> > > > ret()
> > > >
> > > > lbl('init')
> > > > lit(app_msg); cp(tx_ascii)
> > > > _begin()
> > > > cp(command)
> > > > lld(red); lst(pwm1)
> > > > lld(green); lst(pwm2)
> > > > lld(blue); lst(pwm3)
> > > > _again()
> > > >
> > > > lbl('app_end') # must be on the last line
> > > >
> > > > BugsBoard_Primer.pdf is at https://drive.google.com/file/d/14iPt_j_lmINSs4cte3_MneA6D4UCBjZi/view?usp=sharing
> > > > A link to Bugs18bis.zip is in the downloads section.
> > > >
> > > > Cheers - Myron Plichota
> > > The number of people who own such a board is probably rather small.
> > > And cost/availability might be an issue for many who want to give it a go.
> > >
> > > I wonder if the NANDLAND Board / Lattice based could be a target for your software.
> > > This would probably cover as well the related board from Lattice.
> > > https://nandland.com/the-go-board/ has a lot of related documentation to get started.
> > >
> > > Nandland board $65,
> > > https://digilent.com/reference/programmable-logic/cmod-s7/start at $99 and not available at the moment
> > FPGA board prices have gone way op over the last few years.
> > If you are a FPGA beginner and a student and want to avoid using a plug board,
> > the Terasic DE10-Lite and the Realdigital BooleanBoard give you the most for your money.
> > If user IO (buttons, switches and 7-segment display) is not an issue, the Tang Nano 9K deserves a look.
> I had been looking at these low-cost boards at Pimoroni - but out of stock as expected.
> https://shop.pimoroni.com/search?q=fpga%20board
> But I still own many different versions from the past including some of those from Trenz-Electronics that I could use
> https://shop.trenz-electronic.de/en/Products/Trenz-Electronic/TE0890-Spartan-7/ good for breadboards
> The last time I switched one on, was
> to verify the CDP1802 that Steve Teal did
> https://www.amazon.co.uk/FIG-Forth-Manual-Documentation-Test-1802-ebook/dp/B01N42VLJE/ref=sr_1_19?qid=1670145231&refinements=p_27%3AJuergen+Pintaske&s=books&sr=1-19
> and this got me to redo the CDP1802 book BMP802 and publish it on amazon as well
> https://www.amazon.co.uk/DESIGN-IDEAS-BOOK-CDP1802-Microprocesor-ebook/dp/B09GWCVHGG/ref=sr_1_10?qid=1670145353&refinements=p_27%3AJuergen+Pintaske&s=books&sr=1-10
> All for the fun of it.
CDP1802! I cut my teeth on that axe and began my love/hate relationship with Forth in COSMAC land.

Re: BugsBoard: an FPGA design for the Digilent Cmod S7

<d396919a-3d60-409c-ba9f-aa89a5b410dcn@googlegroups.com>

  copy mid

https://www.rocksolidbbs.com/devel/article-flat.php?id=25637&group=comp.lang.forth#25637

  copy link   Newsgroups: comp.lang.forth
X-Received: by 2002:a05:6214:5913:b0:4c6:ed12:77a7 with SMTP id lp19-20020a056214591300b004c6ed1277a7mr35554619qvb.14.1670155193601;
Sun, 04 Dec 2022 03:59:53 -0800 (PST)
X-Received: by 2002:ad4:4e74:0:b0:4c7:693a:5506 with SMTP id
ec20-20020ad44e74000000b004c7693a5506mr832771qvb.70.1670155193018; Sun, 04
Dec 2022 03:59:53 -0800 (PST)
Path: i2pn2.org!i2pn.org!usenet.blueworldhosting.com!feed1.usenet.blueworldhosting.com!peer02.iad!feed-me.highwinds-media.com!news.highwinds-media.com!news-out.google.com!nntp.google.com!postnews.google.com!google-groups.googlegroups.com!not-for-mail
Newsgroups: comp.lang.forth
Date: Sun, 4 Dec 2022 03:59:52 -0800 (PST)
In-Reply-To: <c5ab525b-df41-4a21-a734-3333f692dea3n@googlegroups.com>
Injection-Info: google-groups.googlegroups.com; posting-host=199.48.66.218; posting-account=zkoivgoAAABqROvHfKJPu3S9NWXITnSr
NNTP-Posting-Host: 199.48.66.218
References: <97d644a8-d38f-49b0-b73e-45ae276d327fn@googlegroups.com>
<f37bb625-4a7b-417f-b331-1c75c20cadbdn@googlegroups.com> <ad6b7a42-b48a-44b2-8dee-6b250161fb72n@googlegroups.com>
<c5ab525b-df41-4a21-a734-3333f692dea3n@googlegroups.com>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <d396919a-3d60-409c-ba9f-aa89a5b410dcn@googlegroups.com>
Subject: Re: BugsBoard: an FPGA design for the Digilent Cmod S7
From: myronplichota@gmail.com (Myron Plichota)
Injection-Date: Sun, 04 Dec 2022 11:59:53 +0000
Content-Type: text/plain; charset="UTF-8"
X-Received-Bytes: 6302
 by: Myron Plichota - Sun, 4 Dec 2022 11:59 UTC

On Sunday, December 4, 2022 at 4:26:27 AM UTC-5, jpit...@gmail.com wrote:
> On Saturday, 3 December 2022 at 16:00:41 UTC, James Brakefield wrote:
> > On Saturday, December 3, 2022 at 5:32:00 AM UTC-6, jpit...@gmail.com wrote:
> > > On Wednesday, 30 November 2022 at 12:55:49 UTC, Myron Plichota wrote:
> > > > The hardware is defined in Verilog. The *structured* assembler is written in Python3. Apps source code plays ball with the Python3 foundation.
> > > >
> > > > e.g. apps/color_toy.py:
> > > >
> > > > include('FPGAburn/appload.py') # must be on the first line
> > > >
> > > > # play with LD0 color
> > > >
> > > > ja(fwd('init'))
> > > >
> > > > lbl('app_msg'); ascii('\r\npress BTN0 to reset')
> > > >
> > > > # color intensities
> > > > lbl('red'); data([0])
> > > > lbl('green'); data([0])
> > > > lbl('blue'); data([0])
> > > >
> > > > # commands
> > > >
> > > > lbl('ir') # char -> # increment red
> > > > drop(); lld(red); inc(); lst(red); ret()
> > > >
> > > > lbl('dr') # char -> # decrement red
> > > > drop(); lld(red); dec(); lst(red); ret()
> > > >
> > > > lbl('ig') # char -> # increment green
> > > > drop(); lld(green); inc(); lst(green); ret()
> > > >
> > > > lbl('dg') # char -> # decrement green
> > > > drop(); lld(green); dec(); lst(green); ret()
> > > >
> > > > lbl('ib') # char -> # increment blue
> > > > drop(); lld(blue); inc(); lst(blue); ret()
> > > >
> > > > lbl('db') # char -> # decrement blue
> > > > drop(); lld(blue); dec(); lst(blue); ret()
> > > >
> > > > lbl('command') # -> # execute a recognized command
> > > > lld(arx_rdy)
> > > > _if()
> > > > lld(uart); dup(); cp(tx) # -> char # echo
> > > > dup(); lbxor(ord('R')); jz(ir)
> > > > dup(); lbxor(ord('r')); jz(dr)
> > > > dup(); lbxor(ord('G')); jz(ig)
> > > > dup(); lbxor(ord('g')); jz(dg)
> > > > dup(); lbxor(ord('B')); jz(ib)
> > > > dup(); lbxor(ord('b')); jz(db)
> > > > drop() # none of the above
> > > > _then()
> > > > ret()
> > > >
> > > > lbl('init')
> > > > lit(app_msg); cp(tx_ascii)
> > > > _begin()
> > > > cp(command)
> > > > lld(red); lst(pwm1)
> > > > lld(green); lst(pwm2)
> > > > lld(blue); lst(pwm3)
> > > > _again()
> > > >
> > > > lbl('app_end') # must be on the last line
> > > >
> > > > BugsBoard_Primer.pdf is at https://drive.google.com/file/d/14iPt_j_lmINSs4cte3_MneA6D4UCBjZi/view?usp=sharing
> > > > A link to Bugs18bis.zip is in the downloads section.
> > > >
> > > > Cheers - Myron Plichota
> > > The number of people who own such a board is probably rather small.
> > > And cost/availability might be an issue for many who want to give it a go.
> > >
> > > I wonder if the NANDLAND Board / Lattice based could be a target for your software.
> > > This would probably cover as well the related board from Lattice.
> > > https://nandland.com/the-go-board/ has a lot of related documentation to get started.
> > >
> > > Nandland board $65,
> > > https://digilent.com/reference/programmable-logic/cmod-s7/start at $99 and not available at the moment
> > FPGA board prices have gone way op over the last few years.
> > If you are a FPGA beginner and a student and want to avoid using a plug board,
> > the Terasic DE10-Lite and the Realdigital BooleanBoard give you the most for your money.
> > If user IO (buttons, switches and 7-segment display) is not an issue, the Tang Nano 9K deserves a look.
> I had been looking at these low-cost boards at Pimoroni - but out of stock as expected.
> https://shop.pimoroni.com/search?q=fpga%20board
> But I still own many different versions from the past including some of those from Trenz-Electronics that I could use
> https://shop.trenz-electronic.de/en/Products/Trenz-Electronic/TE0890-Spartan-7/ good for breadboards
> The last time I switched one on, was
> to verify the CDP1802 that Steve Teal did
> https://www.amazon.co.uk/FIG-Forth-Manual-Documentation-Test-1802-ebook/dp/B01N42VLJE/ref=sr_1_19?qid=1670145231&refinements=p_27%3AJuergen+Pintaske&s=books&sr=1-19
> and this got me to redo the CDP1802 book BMP802 and publish it on amazon as well
> https://www.amazon.co.uk/DESIGN-IDEAS-BOOK-CDP1802-Microprocesor-ebook/dp/B09GWCVHGG/ref=sr_1_10?qid=1670145353&refinements=p_27%3AJuergen+Pintaske&s=books&sr=1-10
> All for the fun of it.
https://shop.trenz-electronic.de/en/Products/Trenz-Electronic/TE0890-Spartan-7/
This has definite transplant potential. It uses the same XC7S25 FPGA.
But:
1) I don't see an on-board USB/UART connector. But I see FTDI on the silk screen, which suggests a workaround.
2) Through-hole pin pitch is not consistently on a 0.1"x0.1" grid, and this is bad for a hobby board.

The published BugsBoard design is far from holy, e.g. 3 PWM channels are dedicated to drive the on-board RGB LED for fun.
I'd be delighted to hear about succesful mutations on other FPGA-based boards.

Re: BugsBoard: an FPGA design for the Digilent Cmod S7

<e2f97697-6534-488d-97e7-d932a0ef1a16n@googlegroups.com>

  copy mid

https://www.rocksolidbbs.com/devel/article-flat.php?id=25640&group=comp.lang.forth#25640

  copy link   Newsgroups: comp.lang.forth
X-Received: by 2002:a05:6214:4305:b0:4bb:e8a8:46b7 with SMTP id oe5-20020a056214430500b004bbe8a846b7mr57946402qvb.43.1670166254741;
Sun, 04 Dec 2022 07:04:14 -0800 (PST)
X-Received: by 2002:a0c:bf41:0:b0:4c6:23d0:c340 with SMTP id
b1-20020a0cbf41000000b004c623d0c340mr53830729qvj.66.1670166254425; Sun, 04
Dec 2022 07:04:14 -0800 (PST)
Path: i2pn2.org!i2pn.org!weretis.net!feeder6.news.weretis.net!news.misty.com!border-2.nntp.ord.giganews.com!nntp.giganews.com!news-out.google.com!nntp.google.com!postnews.google.com!google-groups.googlegroups.com!not-for-mail
Newsgroups: comp.lang.forth
Date: Sun, 4 Dec 2022 07:04:14 -0800 (PST)
In-Reply-To: <d396919a-3d60-409c-ba9f-aa89a5b410dcn@googlegroups.com>
Injection-Info: google-groups.googlegroups.com; posting-host=78.147.154.166; posting-account=eAOrwQkAAABheFES5y-02sBOFdTlBRio
NNTP-Posting-Host: 78.147.154.166
References: <97d644a8-d38f-49b0-b73e-45ae276d327fn@googlegroups.com>
<f37bb625-4a7b-417f-b331-1c75c20cadbdn@googlegroups.com> <ad6b7a42-b48a-44b2-8dee-6b250161fb72n@googlegroups.com>
<c5ab525b-df41-4a21-a734-3333f692dea3n@googlegroups.com> <d396919a-3d60-409c-ba9f-aa89a5b410dcn@googlegroups.com>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <e2f97697-6534-488d-97e7-d932a0ef1a16n@googlegroups.com>
Subject: Re: BugsBoard: an FPGA design for the Digilent Cmod S7
From: jpitaske@gmail.com (Jurgen Pitaske)
Injection-Date: Sun, 04 Dec 2022 15:04:14 +0000
Content-Type: text/plain; charset="UTF-8"
Lines: 111
 by: Jurgen Pitaske - Sun, 4 Dec 2022 15:04 UTC

On Sunday, 4 December 2022 at 11:59:54 UTC, Myron Plichota wrote:
> On Sunday, December 4, 2022 at 4:26:27 AM UTC-5, jpit...@gmail.com wrote:
> > On Saturday, 3 December 2022 at 16:00:41 UTC, James Brakefield wrote:
> > > On Saturday, December 3, 2022 at 5:32:00 AM UTC-6, jpit...@gmail.com wrote:
> > > > On Wednesday, 30 November 2022 at 12:55:49 UTC, Myron Plichota wrote:
> > > > > The hardware is defined in Verilog. The *structured* assembler is written in Python3. Apps source code plays ball with the Python3 foundation.
> > > > >
> > > > > e.g. apps/color_toy.py:
> > > > >
> > > > > include('FPGAburn/appload.py') # must be on the first line
> > > > >
> > > > > # play with LD0 color
> > > > >
> > > > > ja(fwd('init'))
> > > > >
> > > > > lbl('app_msg'); ascii('\r\npress BTN0 to reset')
> > > > >
> > > > > # color intensities
> > > > > lbl('red'); data([0])
> > > > > lbl('green'); data([0])
> > > > > lbl('blue'); data([0])
> > > > >
> > > > > # commands
> > > > >
> > > > > lbl('ir') # char -> # increment red
> > > > > drop(); lld(red); inc(); lst(red); ret()
> > > > >
> > > > > lbl('dr') # char -> # decrement red
> > > > > drop(); lld(red); dec(); lst(red); ret()
> > > > >
> > > > > lbl('ig') # char -> # increment green
> > > > > drop(); lld(green); inc(); lst(green); ret()
> > > > >
> > > > > lbl('dg') # char -> # decrement green
> > > > > drop(); lld(green); dec(); lst(green); ret()
> > > > >
> > > > > lbl('ib') # char -> # increment blue
> > > > > drop(); lld(blue); inc(); lst(blue); ret()
> > > > >
> > > > > lbl('db') # char -> # decrement blue
> > > > > drop(); lld(blue); dec(); lst(blue); ret()
> > > > >
> > > > > lbl('command') # -> # execute a recognized command
> > > > > lld(arx_rdy)
> > > > > _if()
> > > > > lld(uart); dup(); cp(tx) # -> char # echo
> > > > > dup(); lbxor(ord('R')); jz(ir)
> > > > > dup(); lbxor(ord('r')); jz(dr)
> > > > > dup(); lbxor(ord('G')); jz(ig)
> > > > > dup(); lbxor(ord('g')); jz(dg)
> > > > > dup(); lbxor(ord('B')); jz(ib)
> > > > > dup(); lbxor(ord('b')); jz(db)
> > > > > drop() # none of the above
> > > > > _then()
> > > > > ret()
> > > > >
> > > > > lbl('init')
> > > > > lit(app_msg); cp(tx_ascii)
> > > > > _begin()
> > > > > cp(command)
> > > > > lld(red); lst(pwm1)
> > > > > lld(green); lst(pwm2)
> > > > > lld(blue); lst(pwm3)
> > > > > _again()
> > > > >
> > > > > lbl('app_end') # must be on the last line
> > > > >
> > > > > BugsBoard_Primer.pdf is at https://drive.google.com/file/d/14iPt_j_lmINSs4cte3_MneA6D4UCBjZi/view?usp=sharing
> > > > > A link to Bugs18bis.zip is in the downloads section.
> > > > >
> > > > > Cheers - Myron Plichota
> > > > The number of people who own such a board is probably rather small.
> > > > And cost/availability might be an issue for many who want to give it a go.
> > > >
> > > > I wonder if the NANDLAND Board / Lattice based could be a target for your software.
> > > > This would probably cover as well the related board from Lattice.
> > > > https://nandland.com/the-go-board/ has a lot of related documentation to get started.
> > > >
> > > > Nandland board $65,
> > > > https://digilent.com/reference/programmable-logic/cmod-s7/start at $99 and not available at the moment
> > > FPGA board prices have gone way op over the last few years.
> > > If you are a FPGA beginner and a student and want to avoid using a plug board,
> > > the Terasic DE10-Lite and the Realdigital BooleanBoard give you the most for your money.
> > > If user IO (buttons, switches and 7-segment display) is not an issue, the Tang Nano 9K deserves a look.
> > I had been looking at these low-cost boards at Pimoroni - but out of stock as expected.
> > https://shop.pimoroni.com/search?q=fpga%20board
> > But I still own many different versions from the past including some of those from Trenz-Electronics that I could use
> > https://shop.trenz-electronic.de/en/Products/Trenz-Electronic/TE0890-Spartan-7/ good for breadboards
> > The last time I switched one on, was
> > to verify the CDP1802 that Steve Teal did
> > https://www.amazon.co.uk/FIG-Forth-Manual-Documentation-Test-1802-ebook/dp/B01N42VLJE/ref=sr_1_19?qid=1670145231&refinements=p_27%3AJuergen+Pintaske&s=books&sr=1-19
> > and this got me to redo the CDP1802 book BMP802 and publish it on amazon as well
> > https://www.amazon.co.uk/DESIGN-IDEAS-BOOK-CDP1802-Microprocesor-ebook/dp/B09GWCVHGG/ref=sr_1_10?qid=1670145353&refinements=p_27%3AJuergen+Pintaske&s=books&sr=1-10
> > All for the fun of it.
> https://shop.trenz-electronic.de/en/Products/Trenz-Electronic/TE0890-Spartan-7/
> This has definite transplant potential. It uses the same XC7S25 FPGA.
> But:
> 1) I don't see an on-board USB/UART connector. But I see FTDI on the silk screen, which suggests a workaround.
> 2) Through-hole pin pitch is not consistently on a 0.1"x0.1" grid, and this is bad for a hobby board.
>
> The published BugsBoard design is far from holy, e.g. 3 PWM channels are dedicated to drive the on-board RGB LED for fun.
> I'd be delighted to hear about succesful mutations on other FPGA-based boards.

There are so many versions on the website, this one might fit better for you
https://shop.trenz-electronic.de/en/Products/Programmable-Logic/Gowin-LittleBee/

And regarding 0.1" pitch: I have used this solution in the past:
male headers soldered into the board
female header stuck onlo them
short wires soldered to female header
the other end of the wire soldered onto male header and this stuck into the breadboard.
And if this is too wide for a normal breadboard - one breadboard on each side and a lot of space for extensions ...

Re: BugsBoard: an FPGA design for the Digilent Cmod S7

<2068cfb8-d4bd-4c35-8002-a6b807521ca4n@googlegroups.com>

  copy mid

https://www.rocksolidbbs.com/devel/article-flat.php?id=25648&group=comp.lang.forth#25648

  copy link   Newsgroups: comp.lang.forth
X-Received: by 2002:a05:620a:13f1:b0:6fa:1c1:26de with SMTP id h17-20020a05620a13f100b006fa01c126demr73441243qkl.511.1670229493519;
Mon, 05 Dec 2022 00:38:13 -0800 (PST)
X-Received: by 2002:a0c:9091:0:b0:4bb:7920:eed4 with SMTP id
p17-20020a0c9091000000b004bb7920eed4mr76012826qvp.90.1670229493292; Mon, 05
Dec 2022 00:38:13 -0800 (PST)
Path: i2pn2.org!i2pn.org!usenet.blueworldhosting.com!feed1.usenet.blueworldhosting.com!peer01.iad!feed-me.highwinds-media.com!news.highwinds-media.com!news-out.google.com!nntp.google.com!postnews.google.com!google-groups.googlegroups.com!not-for-mail
Newsgroups: comp.lang.forth
Date: Mon, 5 Dec 2022 00:38:13 -0800 (PST)
In-Reply-To: <e2f97697-6534-488d-97e7-d932a0ef1a16n@googlegroups.com>
Injection-Info: google-groups.googlegroups.com; posting-host=199.48.66.218; posting-account=zkoivgoAAABqROvHfKJPu3S9NWXITnSr
NNTP-Posting-Host: 199.48.66.218
References: <97d644a8-d38f-49b0-b73e-45ae276d327fn@googlegroups.com>
<f37bb625-4a7b-417f-b331-1c75c20cadbdn@googlegroups.com> <ad6b7a42-b48a-44b2-8dee-6b250161fb72n@googlegroups.com>
<c5ab525b-df41-4a21-a734-3333f692dea3n@googlegroups.com> <d396919a-3d60-409c-ba9f-aa89a5b410dcn@googlegroups.com>
<e2f97697-6534-488d-97e7-d932a0ef1a16n@googlegroups.com>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <2068cfb8-d4bd-4c35-8002-a6b807521ca4n@googlegroups.com>
Subject: Re: BugsBoard: an FPGA design for the Digilent Cmod S7
From: myronplichota@gmail.com (Myron Plichota)
Injection-Date: Mon, 05 Dec 2022 08:38:13 +0000
Content-Type: text/plain; charset="UTF-8"
X-Received-Bytes: 7759
 by: Myron Plichota - Mon, 5 Dec 2022 08:38 UTC

On Sunday, December 4, 2022 at 10:04:16 AM UTC-5, jpit...@gmail.com wrote:
> On Sunday, 4 December 2022 at 11:59:54 UTC, Myron Plichota wrote:
> > On Sunday, December 4, 2022 at 4:26:27 AM UTC-5, jpit...@gmail.com wrote:
> > > On Saturday, 3 December 2022 at 16:00:41 UTC, James Brakefield wrote:
> > > > On Saturday, December 3, 2022 at 5:32:00 AM UTC-6, jpit...@gmail.com wrote:
> > > > > On Wednesday, 30 November 2022 at 12:55:49 UTC, Myron Plichota wrote:
> > > > > > The hardware is defined in Verilog. The *structured* assembler is written in Python3. Apps source code plays ball with the Python3 foundation.
> > > > > >
> > > > > > e.g. apps/color_toy.py:
> > > > > >
> > > > > > include('FPGAburn/appload.py') # must be on the first line
> > > > > >
> > > > > > # play with LD0 color
> > > > > >
> > > > > > ja(fwd('init'))
> > > > > >
> > > > > > lbl('app_msg'); ascii('\r\npress BTN0 to reset')
> > > > > >
> > > > > > # color intensities
> > > > > > lbl('red'); data([0])
> > > > > > lbl('green'); data([0])
> > > > > > lbl('blue'); data([0])
> > > > > >
> > > > > > # commands
> > > > > >
> > > > > > lbl('ir') # char -> # increment red
> > > > > > drop(); lld(red); inc(); lst(red); ret()
> > > > > >
> > > > > > lbl('dr') # char -> # decrement red
> > > > > > drop(); lld(red); dec(); lst(red); ret()
> > > > > >
> > > > > > lbl('ig') # char -> # increment green
> > > > > > drop(); lld(green); inc(); lst(green); ret()
> > > > > >
> > > > > > lbl('dg') # char -> # decrement green
> > > > > > drop(); lld(green); dec(); lst(green); ret()
> > > > > >
> > > > > > lbl('ib') # char -> # increment blue
> > > > > > drop(); lld(blue); inc(); lst(blue); ret()
> > > > > >
> > > > > > lbl('db') # char -> # decrement blue
> > > > > > drop(); lld(blue); dec(); lst(blue); ret()
> > > > > >
> > > > > > lbl('command') # -> # execute a recognized command
> > > > > > lld(arx_rdy)
> > > > > > _if()
> > > > > > lld(uart); dup(); cp(tx) # -> char # echo
> > > > > > dup(); lbxor(ord('R')); jz(ir)
> > > > > > dup(); lbxor(ord('r')); jz(dr)
> > > > > > dup(); lbxor(ord('G')); jz(ig)
> > > > > > dup(); lbxor(ord('g')); jz(dg)
> > > > > > dup(); lbxor(ord('B')); jz(ib)
> > > > > > dup(); lbxor(ord('b')); jz(db)
> > > > > > drop() # none of the above
> > > > > > _then()
> > > > > > ret()
> > > > > >
> > > > > > lbl('init')
> > > > > > lit(app_msg); cp(tx_ascii)
> > > > > > _begin()
> > > > > > cp(command)
> > > > > > lld(red); lst(pwm1)
> > > > > > lld(green); lst(pwm2)
> > > > > > lld(blue); lst(pwm3)
> > > > > > _again()
> > > > > >
> > > > > > lbl('app_end') # must be on the last line
> > > > > >
> > > > > > BugsBoard_Primer.pdf is at https://drive.google.com/file/d/14iPt_j_lmINSs4cte3_MneA6D4UCBjZi/view?usp=sharing
> > > > > > A link to Bugs18bis.zip is in the downloads section.
> > > > > >
> > > > > > Cheers - Myron Plichota
> > > > > The number of people who own such a board is probably rather small.
> > > > > And cost/availability might be an issue for many who want to give it a go.
> > > > >
> > > > > I wonder if the NANDLAND Board / Lattice based could be a target for your software.
> > > > > This would probably cover as well the related board from Lattice.
> > > > > https://nandland.com/the-go-board/ has a lot of related documentation to get started.
> > > > >
> > > > > Nandland board $65,
> > > > > https://digilent.com/reference/programmable-logic/cmod-s7/start at $99 and not available at the moment
> > > > FPGA board prices have gone way op over the last few years.
> > > > If you are a FPGA beginner and a student and want to avoid using a plug board,
> > > > the Terasic DE10-Lite and the Realdigital BooleanBoard give you the most for your money.
> > > > If user IO (buttons, switches and 7-segment display) is not an issue, the Tang Nano 9K deserves a look.
> > > I had been looking at these low-cost boards at Pimoroni - but out of stock as expected.
> > > https://shop.pimoroni.com/search?q=fpga%20board
> > > But I still own many different versions from the past including some of those from Trenz-Electronics that I could use
> > > https://shop.trenz-electronic.de/en/Products/Trenz-Electronic/TE0890-Spartan-7/ good for breadboards
> > > The last time I switched one on, was
> > > to verify the CDP1802 that Steve Teal did
> > > https://www.amazon.co.uk/FIG-Forth-Manual-Documentation-Test-1802-ebook/dp/B01N42VLJE/ref=sr_1_19?qid=1670145231&refinements=p_27%3AJuergen+Pintaske&s=books&sr=1-19
> > > and this got me to redo the CDP1802 book BMP802 and publish it on amazon as well
> > > https://www.amazon.co.uk/DESIGN-IDEAS-BOOK-CDP1802-Microprocesor-ebook/dp/B09GWCVHGG/ref=sr_1_10?qid=1670145353&refinements=p_27%3AJuergen+Pintaske&s=books&sr=1-10
> > > All for the fun of it.
> > https://shop.trenz-electronic.de/en/Products/Trenz-Electronic/TE0890-Spartan-7/
> > This has definite transplant potential. It uses the same XC7S25 FPGA.
> > But:
> > 1) I don't see an on-board USB/UART connector. But I see FTDI on the silk screen, which suggests a workaround.
> > 2) Through-hole pin pitch is not consistently on a 0.1"x0.1" grid, and this is bad for a hobby board.
> >
> > The published BugsBoard design is far from holy, e.g. 3 PWM channels are dedicated to drive the on-board RGB LED for fun.
> > I'd be delighted to hear about succesful mutations on other FPGA-based boards.
> There are so many versions on the website, this one might fit better for you
> https://shop.trenz-electronic.de/en/Products/Programmable-Logic/Gowin-LittleBee/
>
> And regarding 0.1" pitch: I have used this solution in the past:
> male headers soldered into the board
> female header stuck onlo them
> short wires soldered to female header
> the other end of the wire soldered onto male header and this stuck into the breadboard.
> And if this is too wide for a normal breadboard - one breadboard on each side and a lot of space for extensions ...
A quick review of the FPGA datasheet shows problems:
1) block RAM lacks separate read and write clocks in single-port mode
2) there is a maximum of 26Kx18-bits block RAM available
I do not recommend that board.

Re: BugsBoard: an FPGA design for the Digilent Cmod S7

<2050fd6c-3213-4606-8a5b-b76c5bd4ee7en@googlegroups.com>

  copy mid

https://www.rocksolidbbs.com/devel/article-flat.php?id=25649&group=comp.lang.forth#25649

  copy link   Newsgroups: comp.lang.forth
X-Received: by 2002:ac8:4792:0:b0:3a7:e606:2783 with SMTP id k18-20020ac84792000000b003a7e6062783mr1460725qtq.511.1670230284894;
Mon, 05 Dec 2022 00:51:24 -0800 (PST)
X-Received: by 2002:a05:6214:3683:b0:4b4:5664:6393 with SMTP id
nl3-20020a056214368300b004b456646393mr59785252qvb.51.1670230284591; Mon, 05
Dec 2022 00:51:24 -0800 (PST)
Path: i2pn2.org!i2pn.org!weretis.net!feeder8.news.weretis.net!sewer!alphared!news.uzoreto.com!feeder1.cambriumusenet.nl!feed.tweak.nl!209.85.160.216.MISMATCH!news-out.google.com!nntp.google.com!postnews.google.com!google-groups.googlegroups.com!not-for-mail
Newsgroups: comp.lang.forth
Date: Mon, 5 Dec 2022 00:51:24 -0800 (PST)
In-Reply-To: <2068cfb8-d4bd-4c35-8002-a6b807521ca4n@googlegroups.com>
Injection-Info: google-groups.googlegroups.com; posting-host=78.147.154.166; posting-account=eAOrwQkAAABheFES5y-02sBOFdTlBRio
NNTP-Posting-Host: 78.147.154.166
References: <97d644a8-d38f-49b0-b73e-45ae276d327fn@googlegroups.com>
<f37bb625-4a7b-417f-b331-1c75c20cadbdn@googlegroups.com> <ad6b7a42-b48a-44b2-8dee-6b250161fb72n@googlegroups.com>
<c5ab525b-df41-4a21-a734-3333f692dea3n@googlegroups.com> <d396919a-3d60-409c-ba9f-aa89a5b410dcn@googlegroups.com>
<e2f97697-6534-488d-97e7-d932a0ef1a16n@googlegroups.com> <2068cfb8-d4bd-4c35-8002-a6b807521ca4n@googlegroups.com>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <2050fd6c-3213-4606-8a5b-b76c5bd4ee7en@googlegroups.com>
Subject: Re: BugsBoard: an FPGA design for the Digilent Cmod S7
From: jpitaske@gmail.com (Jurgen Pitaske)
Injection-Date: Mon, 05 Dec 2022 08:51:24 +0000
Content-Type: text/plain; charset="UTF-8"
 by: Jurgen Pitaske - Mon, 5 Dec 2022 08:51 UTC

On Monday, 5 December 2022 at 08:38:14 UTC, Myron Plichota wrote:
> On Sunday, December 4, 2022 at 10:04:16 AM UTC-5, jpit...@gmail.com wrote:
> > On Sunday, 4 December 2022 at 11:59:54 UTC, Myron Plichota wrote:
> > > On Sunday, December 4, 2022 at 4:26:27 AM UTC-5, jpit...@gmail.com wrote:
> > > > On Saturday, 3 December 2022 at 16:00:41 UTC, James Brakefield wrote:
> > > > > On Saturday, December 3, 2022 at 5:32:00 AM UTC-6, jpit...@gmail.com wrote:
> > > > > > On Wednesday, 30 November 2022 at 12:55:49 UTC, Myron Plichota wrote:
> > > > > > > The hardware is defined in Verilog. The *structured* assembler is written in Python3. Apps source code plays ball with the Python3 foundation.
> > > > > > >
> > > > > > > e.g. apps/color_toy.py:
> > > > > > >
> > > > > > > include('FPGAburn/appload.py') # must be on the first line
> > > > > > >
> > > > > > > # play with LD0 color
> > > > > > >
> > > > > > > ja(fwd('init'))
> > > > > > >
> > > > > > > lbl('app_msg'); ascii('\r\npress BTN0 to reset')
> > > > > > >
> > > > > > > # color intensities
> > > > > > > lbl('red'); data([0])
> > > > > > > lbl('green'); data([0])
> > > > > > > lbl('blue'); data([0])
> > > > > > >
> > > > > > > # commands
> > > > > > >
> > > > > > > lbl('ir') # char -> # increment red
> > > > > > > drop(); lld(red); inc(); lst(red); ret()
> > > > > > >
> > > > > > > lbl('dr') # char -> # decrement red
> > > > > > > drop(); lld(red); dec(); lst(red); ret()
> > > > > > >
> > > > > > > lbl('ig') # char -> # increment green
> > > > > > > drop(); lld(green); inc(); lst(green); ret()
> > > > > > >
> > > > > > > lbl('dg') # char -> # decrement green
> > > > > > > drop(); lld(green); dec(); lst(green); ret()
> > > > > > >
> > > > > > > lbl('ib') # char -> # increment blue
> > > > > > > drop(); lld(blue); inc(); lst(blue); ret()
> > > > > > >
> > > > > > > lbl('db') # char -> # decrement blue
> > > > > > > drop(); lld(blue); dec(); lst(blue); ret()
> > > > > > >
> > > > > > > lbl('command') # -> # execute a recognized command
> > > > > > > lld(arx_rdy)
> > > > > > > _if()
> > > > > > > lld(uart); dup(); cp(tx) # -> char # echo
> > > > > > > dup(); lbxor(ord('R')); jz(ir)
> > > > > > > dup(); lbxor(ord('r')); jz(dr)
> > > > > > > dup(); lbxor(ord('G')); jz(ig)
> > > > > > > dup(); lbxor(ord('g')); jz(dg)
> > > > > > > dup(); lbxor(ord('B')); jz(ib)
> > > > > > > dup(); lbxor(ord('b')); jz(db)
> > > > > > > drop() # none of the above
> > > > > > > _then()
> > > > > > > ret()
> > > > > > >
> > > > > > > lbl('init')
> > > > > > > lit(app_msg); cp(tx_ascii)
> > > > > > > _begin()
> > > > > > > cp(command)
> > > > > > > lld(red); lst(pwm1)
> > > > > > > lld(green); lst(pwm2)
> > > > > > > lld(blue); lst(pwm3)
> > > > > > > _again()
> > > > > > >
> > > > > > > lbl('app_end') # must be on the last line
> > > > > > >
> > > > > > > BugsBoard_Primer.pdf is at https://drive.google.com/file/d/14iPt_j_lmINSs4cte3_MneA6D4UCBjZi/view?usp=sharing
> > > > > > > A link to Bugs18bis.zip is in the downloads section.
> > > > > > >
> > > > > > > Cheers - Myron Plichota
> > > > > > The number of people who own such a board is probably rather small.
> > > > > > And cost/availability might be an issue for many who want to give it a go.
> > > > > >
> > > > > > I wonder if the NANDLAND Board / Lattice based could be a target for your software.
> > > > > > This would probably cover as well the related board from Lattice.
> > > > > > https://nandland.com/the-go-board/ has a lot of related documentation to get started.
> > > > > >
> > > > > > Nandland board $65,
> > > > > > https://digilent.com/reference/programmable-logic/cmod-s7/start at $99 and not available at the moment
> > > > > FPGA board prices have gone way op over the last few years.
> > > > > If you are a FPGA beginner and a student and want to avoid using a plug board,
> > > > > the Terasic DE10-Lite and the Realdigital BooleanBoard give you the most for your money.
> > > > > If user IO (buttons, switches and 7-segment display) is not an issue, the Tang Nano 9K deserves a look.
> > > > I had been looking at these low-cost boards at Pimoroni - but out of stock as expected.
> > > > https://shop.pimoroni.com/search?q=fpga%20board
> > > > But I still own many different versions from the past including some of those from Trenz-Electronics that I could use
> > > > https://shop.trenz-electronic.de/en/Products/Trenz-Electronic/TE0890-Spartan-7/ good for breadboards
> > > > The last time I switched one on, was
> > > > to verify the CDP1802 that Steve Teal did
> > > > https://www.amazon.co.uk/FIG-Forth-Manual-Documentation-Test-1802-ebook/dp/B01N42VLJE/ref=sr_1_19?qid=1670145231&refinements=p_27%3AJuergen+Pintaske&s=books&sr=1-19
> > > > and this got me to redo the CDP1802 book BMP802 and publish it on amazon as well
> > > > https://www.amazon.co.uk/DESIGN-IDEAS-BOOK-CDP1802-Microprocesor-ebook/dp/B09GWCVHGG/ref=sr_1_10?qid=1670145353&refinements=p_27%3AJuergen+Pintaske&s=books&sr=1-10
> > > > All for the fun of it.
> > > https://shop.trenz-electronic.de/en/Products/Trenz-Electronic/TE0890-Spartan-7/
> > > This has definite transplant potential. It uses the same XC7S25 FPGA.
> > > But:
> > > 1) I don't see an on-board USB/UART connector. But I see FTDI on the silk screen, which suggests a workaround.
> > > 2) Through-hole pin pitch is not consistently on a 0.1"x0.1" grid, and this is bad for a hobby board.
> > >
> > > The published BugsBoard design is far from holy, e.g. 3 PWM channels are dedicated to drive the on-board RGB LED for fun.
> > > I'd be delighted to hear about succesful mutations on other FPGA-based boards.
> > There are so many versions on the website, this one might fit better for you
> > https://shop.trenz-electronic.de/en/Products/Programmable-Logic/Gowin-LittleBee/
> >
> > And regarding 0.1" pitch: I have used this solution in the past:
> > male headers soldered into the board
> > female header stuck onlo them
> > short wires soldered to female header
> > the other end of the wire soldered onto male header and this stuck into the breadboard.
> > And if this is too wide for a normal breadboard - one breadboard on each side and a lot of space for extensions ...
> A quick review of the FPGA datasheet shows problems:
> 1) block RAM lacks separate read and write clocks in single-port mode
> 2) there is a maximum of 26Kx18-bits block RAM available
> I do not recommend that board.

I think we are looking at this the wrong way around.
I just picked one of the large variety there that seemed to fit nicely
regarding prototyping and breadboard and had USB.
You are the specialist who knows what you want to your applications.

Re: BugsBoard: an FPGA design for the Digilent Cmod S7

<477a6440-e585-485a-87f3-ff68949f720fn@googlegroups.com>

  copy mid

https://www.rocksolidbbs.com/devel/article-flat.php?id=25654&group=comp.lang.forth#25654

  copy link   Newsgroups: comp.lang.forth
X-Received: by 2002:a0c:8091:0:b0:4bb:b8ec:2bc7 with SMTP id 17-20020a0c8091000000b004bbb8ec2bc7mr59928461qvb.20.1670262794000;
Mon, 05 Dec 2022 09:53:14 -0800 (PST)
X-Received: by 2002:ad4:4c03:0:b0:4bc:182e:78c2 with SMTP id
bz3-20020ad44c03000000b004bc182e78c2mr57167123qvb.2.1670262793696; Mon, 05
Dec 2022 09:53:13 -0800 (PST)
Path: i2pn2.org!i2pn.org!usenet.blueworldhosting.com!feed1.usenet.blueworldhosting.com!peer02.iad!feed-me.highwinds-media.com!news.highwinds-media.com!news-out.google.com!nntp.google.com!postnews.google.com!google-groups.googlegroups.com!not-for-mail
Newsgroups: comp.lang.forth
Date: Mon, 5 Dec 2022 09:53:13 -0800 (PST)
In-Reply-To: <2068cfb8-d4bd-4c35-8002-a6b807521ca4n@googlegroups.com>
Injection-Info: google-groups.googlegroups.com; posting-host=63.114.57.174; posting-account=I-_H_woAAAA9zzro6crtEpUAyIvzd19b
NNTP-Posting-Host: 63.114.57.174
References: <97d644a8-d38f-49b0-b73e-45ae276d327fn@googlegroups.com>
<f37bb625-4a7b-417f-b331-1c75c20cadbdn@googlegroups.com> <ad6b7a42-b48a-44b2-8dee-6b250161fb72n@googlegroups.com>
<c5ab525b-df41-4a21-a734-3333f692dea3n@googlegroups.com> <d396919a-3d60-409c-ba9f-aa89a5b410dcn@googlegroups.com>
<e2f97697-6534-488d-97e7-d932a0ef1a16n@googlegroups.com> <2068cfb8-d4bd-4c35-8002-a6b807521ca4n@googlegroups.com>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <477a6440-e585-485a-87f3-ff68949f720fn@googlegroups.com>
Subject: Re: BugsBoard: an FPGA design for the Digilent Cmod S7
From: gnuarm.deletethisbit@gmail.com (Lorem Ipsum)
Injection-Date: Mon, 05 Dec 2022 17:53:13 +0000
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
X-Received-Bytes: 9150
 by: Lorem Ipsum - Mon, 5 Dec 2022 17:53 UTC

On Monday, December 5, 2022 at 3:38:14 AM UTC-5, Myron Plichota wrote:
> On Sunday, December 4, 2022 at 10:04:16 AM UTC-5, jpit...@gmail.com wrote:
> > On Sunday, 4 December 2022 at 11:59:54 UTC, Myron Plichota wrote:
> > > On Sunday, December 4, 2022 at 4:26:27 AM UTC-5, jpit...@gmail.com wrote:
> > > > On Saturday, 3 December 2022 at 16:00:41 UTC, James Brakefield wrote:
> > > > > On Saturday, December 3, 2022 at 5:32:00 AM UTC-6, jpit...@gmail.com wrote:
> > > > > > On Wednesday, 30 November 2022 at 12:55:49 UTC, Myron Plichota wrote:
> > > > > > > The hardware is defined in Verilog. The *structured* assembler is written in Python3. Apps source code plays ball with the Python3 foundation.
> > > > > > >
> > > > > > > e.g. apps/color_toy.py:
> > > > > > >
> > > > > > > include('FPGAburn/appload.py') # must be on the first line
> > > > > > >
> > > > > > > # play with LD0 color
> > > > > > >
> > > > > > > ja(fwd('init'))
> > > > > > >
> > > > > > > lbl('app_msg'); ascii('\r\npress BTN0 to reset')
> > > > > > >
> > > > > > > # color intensities
> > > > > > > lbl('red'); data([0])
> > > > > > > lbl('green'); data([0])
> > > > > > > lbl('blue'); data([0])
> > > > > > >
> > > > > > > # commands
> > > > > > >
> > > > > > > lbl('ir') # char -> # increment red
> > > > > > > drop(); lld(red); inc(); lst(red); ret()
> > > > > > >
> > > > > > > lbl('dr') # char -> # decrement red
> > > > > > > drop(); lld(red); dec(); lst(red); ret()
> > > > > > >
> > > > > > > lbl('ig') # char -> # increment green
> > > > > > > drop(); lld(green); inc(); lst(green); ret()
> > > > > > >
> > > > > > > lbl('dg') # char -> # decrement green
> > > > > > > drop(); lld(green); dec(); lst(green); ret()
> > > > > > >
> > > > > > > lbl('ib') # char -> # increment blue
> > > > > > > drop(); lld(blue); inc(); lst(blue); ret()
> > > > > > >
> > > > > > > lbl('db') # char -> # decrement blue
> > > > > > > drop(); lld(blue); dec(); lst(blue); ret()
> > > > > > >
> > > > > > > lbl('command') # -> # execute a recognized command
> > > > > > > lld(arx_rdy)
> > > > > > > _if()
> > > > > > > lld(uart); dup(); cp(tx) # -> char # echo
> > > > > > > dup(); lbxor(ord('R')); jz(ir)
> > > > > > > dup(); lbxor(ord('r')); jz(dr)
> > > > > > > dup(); lbxor(ord('G')); jz(ig)
> > > > > > > dup(); lbxor(ord('g')); jz(dg)
> > > > > > > dup(); lbxor(ord('B')); jz(ib)
> > > > > > > dup(); lbxor(ord('b')); jz(db)
> > > > > > > drop() # none of the above
> > > > > > > _then()
> > > > > > > ret()
> > > > > > >
> > > > > > > lbl('init')
> > > > > > > lit(app_msg); cp(tx_ascii)
> > > > > > > _begin()
> > > > > > > cp(command)
> > > > > > > lld(red); lst(pwm1)
> > > > > > > lld(green); lst(pwm2)
> > > > > > > lld(blue); lst(pwm3)
> > > > > > > _again()
> > > > > > >
> > > > > > > lbl('app_end') # must be on the last line
> > > > > > >
> > > > > > > BugsBoard_Primer.pdf is at https://drive.google.com/file/d/14iPt_j_lmINSs4cte3_MneA6D4UCBjZi/view?usp=sharing
> > > > > > > A link to Bugs18bis.zip is in the downloads section.
> > > > > > >
> > > > > > > Cheers - Myron Plichota
> > > > > > The number of people who own such a board is probably rather small.
> > > > > > And cost/availability might be an issue for many who want to give it a go.
> > > > > >
> > > > > > I wonder if the NANDLAND Board / Lattice based could be a target for your software.
> > > > > > This would probably cover as well the related board from Lattice.
> > > > > > https://nandland.com/the-go-board/ has a lot of related documentation to get started.
> > > > > >
> > > > > > Nandland board $65,
> > > > > > https://digilent.com/reference/programmable-logic/cmod-s7/start at $99 and not available at the moment
> > > > > FPGA board prices have gone way op over the last few years.
> > > > > If you are a FPGA beginner and a student and want to avoid using a plug board,
> > > > > the Terasic DE10-Lite and the Realdigital BooleanBoard give you the most for your money.
> > > > > If user IO (buttons, switches and 7-segment display) is not an issue, the Tang Nano 9K deserves a look.
> > > > I had been looking at these low-cost boards at Pimoroni - but out of stock as expected.
> > > > https://shop.pimoroni.com/search?q=fpga%20board
> > > > But I still own many different versions from the past including some of those from Trenz-Electronics that I could use
> > > > https://shop.trenz-electronic.de/en/Products/Trenz-Electronic/TE0890-Spartan-7/ good for breadboards
> > > > The last time I switched one on, was
> > > > to verify the CDP1802 that Steve Teal did
> > > > https://www.amazon.co.uk/FIG-Forth-Manual-Documentation-Test-1802-ebook/dp/B01N42VLJE/ref=sr_1_19?qid=1670145231&refinements=p_27%3AJuergen+Pintaske&s=books&sr=1-19
> > > > and this got me to redo the CDP1802 book BMP802 and publish it on amazon as well
> > > > https://www.amazon.co.uk/DESIGN-IDEAS-BOOK-CDP1802-Microprocesor-ebook/dp/B09GWCVHGG/ref=sr_1_10?qid=1670145353&refinements=p_27%3AJuergen+Pintaske&s=books&sr=1-10
> > > > All for the fun of it.
> > > https://shop.trenz-electronic.de/en/Products/Trenz-Electronic/TE0890-Spartan-7/
> > > This has definite transplant potential. It uses the same XC7S25 FPGA.
> > > But:
> > > 1) I don't see an on-board USB/UART connector. But I see FTDI on the silk screen, which suggests a workaround.
> > > 2) Through-hole pin pitch is not consistently on a 0.1"x0.1" grid, and this is bad for a hobby board.
> > >
> > > The published BugsBoard design is far from holy, e.g. 3 PWM channels are dedicated to drive the on-board RGB LED for fun.
> > > I'd be delighted to hear about succesful mutations on other FPGA-based boards.
> > There are so many versions on the website, this one might fit better for you
> > https://shop.trenz-electronic.de/en/Products/Programmable-Logic/Gowin-LittleBee/
> >
> > And regarding 0.1" pitch: I have used this solution in the past:
> > male headers soldered into the board
> > female header stuck onlo them
> > short wires soldered to female header
> > the other end of the wire soldered onto male header and this stuck into the breadboard.
> > And if this is too wide for a normal breadboard - one breadboard on each side and a lot of space for extensions ...
> A quick review of the FPGA datasheet shows problems:
> 1) block RAM lacks separate read and write clocks in single-port mode

That would be called "semi-dual port" mode.

> 2) there is a maximum of 26Kx18-bits block RAM available

Every part has limitations. Why is 26 blocks of 2k x 18 BRAM a serious limitation? I'm planning to use this part in a design I'm working on.

> I do not recommend that board.

For what?

If you look at the schematics for this board, it will show the particular FTDI chip used. That will provide a lot of information about how to use it. It has been a couple of years, but I seem to recall that chip can provide both JTAG programming, and a serial port.

--

Rick C.

- Get 1,000 miles of free Supercharging
- Tesla referral code - https://ts.la/richard11209

Re: BugsBoard: an FPGA design for the Digilent Cmod S7

<76f7b821-09f9-4dc0-8d59-7d19c5ed62a9n@googlegroups.com>

  copy mid

https://www.rocksolidbbs.com/devel/article-flat.php?id=25656&group=comp.lang.forth#25656

  copy link   Newsgroups: comp.lang.forth
X-Received: by 2002:ac8:6896:0:b0:3a5:6aa1:7cd6 with SMTP id m22-20020ac86896000000b003a56aa17cd6mr60944090qtq.146.1670274034796;
Mon, 05 Dec 2022 13:00:34 -0800 (PST)
X-Received: by 2002:ac8:5988:0:b0:3a5:9370:ccf4 with SMTP id
e8-20020ac85988000000b003a59370ccf4mr67290777qte.376.1670274034496; Mon, 05
Dec 2022 13:00:34 -0800 (PST)
Path: i2pn2.org!i2pn.org!usenet.blueworldhosting.com!feed1.usenet.blueworldhosting.com!peer02.iad!feed-me.highwinds-media.com!news.highwinds-media.com!news-out.google.com!nntp.google.com!postnews.google.com!google-groups.googlegroups.com!not-for-mail
Newsgroups: comp.lang.forth
Date: Mon, 5 Dec 2022 13:00:34 -0800 (PST)
In-Reply-To: <477a6440-e585-485a-87f3-ff68949f720fn@googlegroups.com>
Injection-Info: google-groups.googlegroups.com; posting-host=63.114.57.174; posting-account=I-_H_woAAAA9zzro6crtEpUAyIvzd19b
NNTP-Posting-Host: 63.114.57.174
References: <97d644a8-d38f-49b0-b73e-45ae276d327fn@googlegroups.com>
<f37bb625-4a7b-417f-b331-1c75c20cadbdn@googlegroups.com> <ad6b7a42-b48a-44b2-8dee-6b250161fb72n@googlegroups.com>
<c5ab525b-df41-4a21-a734-3333f692dea3n@googlegroups.com> <d396919a-3d60-409c-ba9f-aa89a5b410dcn@googlegroups.com>
<e2f97697-6534-488d-97e7-d932a0ef1a16n@googlegroups.com> <2068cfb8-d4bd-4c35-8002-a6b807521ca4n@googlegroups.com>
<477a6440-e585-485a-87f3-ff68949f720fn@googlegroups.com>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <76f7b821-09f9-4dc0-8d59-7d19c5ed62a9n@googlegroups.com>
Subject: Re: BugsBoard: an FPGA design for the Digilent Cmod S7
From: gnuarm.deletethisbit@gmail.com (Lorem Ipsum)
Injection-Date: Mon, 05 Dec 2022 21:00:34 +0000
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
X-Received-Bytes: 9846
 by: Lorem Ipsum - Mon, 5 Dec 2022 21:00 UTC

On Monday, December 5, 2022 at 12:53:15 PM UTC-5, Lorem Ipsum wrote:
> On Monday, December 5, 2022 at 3:38:14 AM UTC-5, Myron Plichota wrote:
> > On Sunday, December 4, 2022 at 10:04:16 AM UTC-5, jpit...@gmail.com wrote:
> > > On Sunday, 4 December 2022 at 11:59:54 UTC, Myron Plichota wrote:
> > > > On Sunday, December 4, 2022 at 4:26:27 AM UTC-5, jpit...@gmail.com wrote:
> > > > > On Saturday, 3 December 2022 at 16:00:41 UTC, James Brakefield wrote:
> > > > > > On Saturday, December 3, 2022 at 5:32:00 AM UTC-6, jpit...@gmail.com wrote:
> > > > > > > On Wednesday, 30 November 2022 at 12:55:49 UTC, Myron Plichota wrote:
> > > > > > > > The hardware is defined in Verilog. The *structured* assembler is written in Python3. Apps source code plays ball with the Python3 foundation.
> > > > > > > >
> > > > > > > > e.g. apps/color_toy.py:
> > > > > > > >
> > > > > > > > include('FPGAburn/appload.py') # must be on the first line
> > > > > > > >
> > > > > > > > # play with LD0 color
> > > > > > > >
> > > > > > > > ja(fwd('init'))
> > > > > > > >
> > > > > > > > lbl('app_msg'); ascii('\r\npress BTN0 to reset')
> > > > > > > >
> > > > > > > > # color intensities
> > > > > > > > lbl('red'); data([0])
> > > > > > > > lbl('green'); data([0])
> > > > > > > > lbl('blue'); data([0])
> > > > > > > >
> > > > > > > > # commands
> > > > > > > >
> > > > > > > > lbl('ir') # char -> # increment red
> > > > > > > > drop(); lld(red); inc(); lst(red); ret()
> > > > > > > >
> > > > > > > > lbl('dr') # char -> # decrement red
> > > > > > > > drop(); lld(red); dec(); lst(red); ret()
> > > > > > > >
> > > > > > > > lbl('ig') # char -> # increment green
> > > > > > > > drop(); lld(green); inc(); lst(green); ret()
> > > > > > > >
> > > > > > > > lbl('dg') # char -> # decrement green
> > > > > > > > drop(); lld(green); dec(); lst(green); ret()
> > > > > > > >
> > > > > > > > lbl('ib') # char -> # increment blue
> > > > > > > > drop(); lld(blue); inc(); lst(blue); ret()
> > > > > > > >
> > > > > > > > lbl('db') # char -> # decrement blue
> > > > > > > > drop(); lld(blue); dec(); lst(blue); ret()
> > > > > > > >
> > > > > > > > lbl('command') # -> # execute a recognized command
> > > > > > > > lld(arx_rdy)
> > > > > > > > _if()
> > > > > > > > lld(uart); dup(); cp(tx) # -> char # echo
> > > > > > > > dup(); lbxor(ord('R')); jz(ir)
> > > > > > > > dup(); lbxor(ord('r')); jz(dr)
> > > > > > > > dup(); lbxor(ord('G')); jz(ig)
> > > > > > > > dup(); lbxor(ord('g')); jz(dg)
> > > > > > > > dup(); lbxor(ord('B')); jz(ib)
> > > > > > > > dup(); lbxor(ord('b')); jz(db)
> > > > > > > > drop() # none of the above
> > > > > > > > _then()
> > > > > > > > ret()
> > > > > > > >
> > > > > > > > lbl('init')
> > > > > > > > lit(app_msg); cp(tx_ascii)
> > > > > > > > _begin()
> > > > > > > > cp(command)
> > > > > > > > lld(red); lst(pwm1)
> > > > > > > > lld(green); lst(pwm2)
> > > > > > > > lld(blue); lst(pwm3)
> > > > > > > > _again()
> > > > > > > >
> > > > > > > > lbl('app_end') # must be on the last line
> > > > > > > >
> > > > > > > > BugsBoard_Primer.pdf is at https://drive.google.com/file/d/14iPt_j_lmINSs4cte3_MneA6D4UCBjZi/view?usp=sharing
> > > > > > > > A link to Bugs18bis.zip is in the downloads section.
> > > > > > > >
> > > > > > > > Cheers - Myron Plichota
> > > > > > > The number of people who own such a board is probably rather small.
> > > > > > > And cost/availability might be an issue for many who want to give it a go.
> > > > > > >
> > > > > > > I wonder if the NANDLAND Board / Lattice based could be a target for your software.
> > > > > > > This would probably cover as well the related board from Lattice.
> > > > > > > https://nandland.com/the-go-board/ has a lot of related documentation to get started.
> > > > > > >
> > > > > > > Nandland board $65,
> > > > > > > https://digilent.com/reference/programmable-logic/cmod-s7/start at $99 and not available at the moment
> > > > > > FPGA board prices have gone way op over the last few years.
> > > > > > If you are a FPGA beginner and a student and want to avoid using a plug board,
> > > > > > the Terasic DE10-Lite and the Realdigital BooleanBoard give you the most for your money.
> > > > > > If user IO (buttons, switches and 7-segment display) is not an issue, the Tang Nano 9K deserves a look.
> > > > > I had been looking at these low-cost boards at Pimoroni - but out of stock as expected.
> > > > > https://shop.pimoroni.com/search?q=fpga%20board
> > > > > But I still own many different versions from the past including some of those from Trenz-Electronics that I could use
> > > > > https://shop.trenz-electronic.de/en/Products/Trenz-Electronic/TE0890-Spartan-7/ good for breadboards
> > > > > The last time I switched one on, was
> > > > > to verify the CDP1802 that Steve Teal did
> > > > > https://www.amazon.co.uk/FIG-Forth-Manual-Documentation-Test-1802-ebook/dp/B01N42VLJE/ref=sr_1_19?qid=1670145231&refinements=p_27%3AJuergen+Pintaske&s=books&sr=1-19
> > > > > and this got me to redo the CDP1802 book BMP802 and publish it on amazon as well
> > > > > https://www.amazon.co.uk/DESIGN-IDEAS-BOOK-CDP1802-Microprocesor-ebook/dp/B09GWCVHGG/ref=sr_1_10?qid=1670145353&refinements=p_27%3AJuergen+Pintaske&s=books&sr=1-10
> > > > > All for the fun of it.
> > > > https://shop.trenz-electronic.de/en/Products/Trenz-Electronic/TE0890-Spartan-7/
> > > > This has definite transplant potential. It uses the same XC7S25 FPGA.
> > > > But:
> > > > 1) I don't see an on-board USB/UART connector. But I see FTDI on the silk screen, which suggests a workaround.
> > > > 2) Through-hole pin pitch is not consistently on a 0.1"x0.1" grid, and this is bad for a hobby board.
> > > >
> > > > The published BugsBoard design is far from holy, e.g. 3 PWM channels are dedicated to drive the on-board RGB LED for fun.
> > > > I'd be delighted to hear about succesful mutations on other FPGA-based boards.
> > > There are so many versions on the website, this one might fit better for you
> > > https://shop.trenz-electronic.de/en/Products/Programmable-Logic/Gowin-LittleBee/
> > >
> > > And regarding 0.1" pitch: I have used this solution in the past:
> > > male headers soldered into the board
> > > female header stuck onlo them
> > > short wires soldered to female header
> > > the other end of the wire soldered onto male header and this stuck into the breadboard.
> > > And if this is too wide for a normal breadboard - one breadboard on each side and a lot of space for extensions ...
> > A quick review of the FPGA datasheet shows problems:
> > 1) block RAM lacks separate read and write clocks in single-port mode
>
> That would be called "semi-dual port" mode.
>
> > 2) there is a maximum of 26Kx18-bits block RAM available
>
> Every part has limitations. Why is 26 blocks of 2k x 18 BRAM a serious limitation? I'm planning to use this part in a design I'm working on.
>
> > I do not recommend that board.
>
> For what?
>
> If you look at the schematics for this board, it will show the particular FTDI chip used. That will provide a lot of information about how to use it.. It has been a couple of years, but I seem to recall that chip can provide both JTAG programming, and a serial port.


Click here to read the complete article
Re: BugsBoard: an FPGA design for the Digilent Cmod S7

<afb99f0f-41e6-4b4d-b760-96427ccf5269n@googlegroups.com>

  copy mid

https://www.rocksolidbbs.com/devel/article-flat.php?id=25658&group=comp.lang.forth#25658

  copy link   Newsgroups: comp.lang.forth
X-Received: by 2002:a37:711:0:b0:6fe:c86a:c1c4 with SMTP id 17-20020a370711000000b006fec86ac1c4mr3832717qkh.518.1670293771743;
Mon, 05 Dec 2022 18:29:31 -0800 (PST)
X-Received: by 2002:a05:622a:2:b0:3a5:926c:e824 with SMTP id
x2-20020a05622a000200b003a5926ce824mr64919327qtw.546.1670293771532; Mon, 05
Dec 2022 18:29:31 -0800 (PST)
Path: i2pn2.org!i2pn.org!usenet.blueworldhosting.com!feed1.usenet.blueworldhosting.com!peer03.iad!feed-me.highwinds-media.com!news.highwinds-media.com!news-out.google.com!nntp.google.com!postnews.google.com!google-groups.googlegroups.com!not-for-mail
Newsgroups: comp.lang.forth
Date: Mon, 5 Dec 2022 18:29:31 -0800 (PST)
In-Reply-To: <2050fd6c-3213-4606-8a5b-b76c5bd4ee7en@googlegroups.com>
Injection-Info: google-groups.googlegroups.com; posting-host=199.48.66.218; posting-account=zkoivgoAAABqROvHfKJPu3S9NWXITnSr
NNTP-Posting-Host: 199.48.66.218
References: <97d644a8-d38f-49b0-b73e-45ae276d327fn@googlegroups.com>
<f37bb625-4a7b-417f-b331-1c75c20cadbdn@googlegroups.com> <ad6b7a42-b48a-44b2-8dee-6b250161fb72n@googlegroups.com>
<c5ab525b-df41-4a21-a734-3333f692dea3n@googlegroups.com> <d396919a-3d60-409c-ba9f-aa89a5b410dcn@googlegroups.com>
<e2f97697-6534-488d-97e7-d932a0ef1a16n@googlegroups.com> <2068cfb8-d4bd-4c35-8002-a6b807521ca4n@googlegroups.com>
<2050fd6c-3213-4606-8a5b-b76c5bd4ee7en@googlegroups.com>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <afb99f0f-41e6-4b4d-b760-96427ccf5269n@googlegroups.com>
Subject: Re: BugsBoard: an FPGA design for the Digilent Cmod S7
From: myronplichota@gmail.com (Myron Plichota)
Injection-Date: Tue, 06 Dec 2022 02:29:31 +0000
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
X-Received-Bytes: 9432
 by: Myron Plichota - Tue, 6 Dec 2022 02:29 UTC

On Monday, December 5, 2022 at 3:51:26 AM UTC-5, jpit...@gmail.com wrote:
> On Monday, 5 December 2022 at 08:38:14 UTC, Myron Plichota wrote:
> > On Sunday, December 4, 2022 at 10:04:16 AM UTC-5, jpit...@gmail.com wrote:
> > > On Sunday, 4 December 2022 at 11:59:54 UTC, Myron Plichota wrote:
> > > > On Sunday, December 4, 2022 at 4:26:27 AM UTC-5, jpit...@gmail.com wrote:
> > > > > On Saturday, 3 December 2022 at 16:00:41 UTC, James Brakefield wrote:
> > > > > > On Saturday, December 3, 2022 at 5:32:00 AM UTC-6, jpit...@gmail.com wrote:
> > > > > > > On Wednesday, 30 November 2022 at 12:55:49 UTC, Myron Plichota wrote:
> > > > > > > > The hardware is defined in Verilog. The *structured* assembler is written in Python3. Apps source code plays ball with the Python3 foundation.
> > > > > > > >
> > > > > > > > e.g. apps/color_toy.py:
> > > > > > > >
> > > > > > > > include('FPGAburn/appload.py') # must be on the first line
> > > > > > > >
> > > > > > > > # play with LD0 color
> > > > > > > >
> > > > > > > > ja(fwd('init'))
> > > > > > > >
> > > > > > > > lbl('app_msg'); ascii('\r\npress BTN0 to reset')
> > > > > > > >
> > > > > > > > # color intensities
> > > > > > > > lbl('red'); data([0])
> > > > > > > > lbl('green'); data([0])
> > > > > > > > lbl('blue'); data([0])
> > > > > > > >
> > > > > > > > # commands
> > > > > > > >
> > > > > > > > lbl('ir') # char -> # increment red
> > > > > > > > drop(); lld(red); inc(); lst(red); ret()
> > > > > > > >
> > > > > > > > lbl('dr') # char -> # decrement red
> > > > > > > > drop(); lld(red); dec(); lst(red); ret()
> > > > > > > >
> > > > > > > > lbl('ig') # char -> # increment green
> > > > > > > > drop(); lld(green); inc(); lst(green); ret()
> > > > > > > >
> > > > > > > > lbl('dg') # char -> # decrement green
> > > > > > > > drop(); lld(green); dec(); lst(green); ret()
> > > > > > > >
> > > > > > > > lbl('ib') # char -> # increment blue
> > > > > > > > drop(); lld(blue); inc(); lst(blue); ret()
> > > > > > > >
> > > > > > > > lbl('db') # char -> # decrement blue
> > > > > > > > drop(); lld(blue); dec(); lst(blue); ret()
> > > > > > > >
> > > > > > > > lbl('command') # -> # execute a recognized command
> > > > > > > > lld(arx_rdy)
> > > > > > > > _if()
> > > > > > > > lld(uart); dup(); cp(tx) # -> char # echo
> > > > > > > > dup(); lbxor(ord('R')); jz(ir)
> > > > > > > > dup(); lbxor(ord('r')); jz(dr)
> > > > > > > > dup(); lbxor(ord('G')); jz(ig)
> > > > > > > > dup(); lbxor(ord('g')); jz(dg)
> > > > > > > > dup(); lbxor(ord('B')); jz(ib)
> > > > > > > > dup(); lbxor(ord('b')); jz(db)
> > > > > > > > drop() # none of the above
> > > > > > > > _then()
> > > > > > > > ret()
> > > > > > > >
> > > > > > > > lbl('init')
> > > > > > > > lit(app_msg); cp(tx_ascii)
> > > > > > > > _begin()
> > > > > > > > cp(command)
> > > > > > > > lld(red); lst(pwm1)
> > > > > > > > lld(green); lst(pwm2)
> > > > > > > > lld(blue); lst(pwm3)
> > > > > > > > _again()
> > > > > > > >
> > > > > > > > lbl('app_end') # must be on the last line
> > > > > > > >
> > > > > > > > BugsBoard_Primer.pdf is at https://drive.google.com/file/d/14iPt_j_lmINSs4cte3_MneA6D4UCBjZi/view?usp=sharing
> > > > > > > > A link to Bugs18bis.zip is in the downloads section.
> > > > > > > >
> > > > > > > > Cheers - Myron Plichota
> > > > > > > The number of people who own such a board is probably rather small.
> > > > > > > And cost/availability might be an issue for many who want to give it a go.
> > > > > > >
> > > > > > > I wonder if the NANDLAND Board / Lattice based could be a target for your software.
> > > > > > > This would probably cover as well the related board from Lattice.
> > > > > > > https://nandland.com/the-go-board/ has a lot of related documentation to get started.
> > > > > > >
> > > > > > > Nandland board $65,
> > > > > > > https://digilent.com/reference/programmable-logic/cmod-s7/start at $99 and not available at the moment
> > > > > > FPGA board prices have gone way op over the last few years.
> > > > > > If you are a FPGA beginner and a student and want to avoid using a plug board,
> > > > > > the Terasic DE10-Lite and the Realdigital BooleanBoard give you the most for your money.
> > > > > > If user IO (buttons, switches and 7-segment display) is not an issue, the Tang Nano 9K deserves a look.
> > > > > I had been looking at these low-cost boards at Pimoroni - but out of stock as expected.
> > > > > https://shop.pimoroni.com/search?q=fpga%20board
> > > > > But I still own many different versions from the past including some of those from Trenz-Electronics that I could use
> > > > > https://shop.trenz-electronic.de/en/Products/Trenz-Electronic/TE0890-Spartan-7/ good for breadboards
> > > > > The last time I switched one on, was
> > > > > to verify the CDP1802 that Steve Teal did
> > > > > https://www.amazon.co.uk/FIG-Forth-Manual-Documentation-Test-1802-ebook/dp/B01N42VLJE/ref=sr_1_19?qid=1670145231&refinements=p_27%3AJuergen+Pintaske&s=books&sr=1-19
> > > > > and this got me to redo the CDP1802 book BMP802 and publish it on amazon as well
> > > > > https://www.amazon.co.uk/DESIGN-IDEAS-BOOK-CDP1802-Microprocesor-ebook/dp/B09GWCVHGG/ref=sr_1_10?qid=1670145353&refinements=p_27%3AJuergen+Pintaske&s=books&sr=1-10
> > > > > All for the fun of it.
> > > > https://shop.trenz-electronic.de/en/Products/Trenz-Electronic/TE0890-Spartan-7/
> > > > This has definite transplant potential. It uses the same XC7S25 FPGA.
> > > > But:
> > > > 1) I don't see an on-board USB/UART connector. But I see FTDI on the silk screen, which suggests a workaround.
> > > > 2) Through-hole pin pitch is not consistently on a 0.1"x0.1" grid, and this is bad for a hobby board.
> > > >
> > > > The published BugsBoard design is far from holy, e.g. 3 PWM channels are dedicated to drive the on-board RGB LED for fun.
> > > > I'd be delighted to hear about succesful mutations on other FPGA-based boards.
> > > There are so many versions on the website, this one might fit better for you
> > > https://shop.trenz-electronic.de/en/Products/Programmable-Logic/Gowin-LittleBee/
> > >
> > > And regarding 0.1" pitch: I have used this solution in the past:
> > > male headers soldered into the board
> > > female header stuck onlo them
> > > short wires soldered to female header
> > > the other end of the wire soldered onto male header and this stuck into the breadboard.
> > > And if this is too wide for a normal breadboard - one breadboard on each side and a lot of space for extensions ...
> > A quick review of the FPGA datasheet shows problems:
> > 1) block RAM lacks separate read and write clocks in single-port mode
> > 2) there is a maximum of 26Kx18-bits block RAM available
> > I do not recommend that board.
> I think we are looking at this the wrong way around.
> I just picked one of the large variety there that seemed to fit nicely
> regarding prototyping and breadboard and had USB.
> You are the specialist who knows what you want to your applications.
I jumped to the conclusion that this conversation topic wandered into candidate FPGAs for a BugsBoard transplant. My comments are motivated by the desire to spare adopters time and money, if they wish to perform said transplant (which is not a trivial matter).


Click here to read the complete article
Re: BugsBoard: an FPGA design for the Digilent Cmod S7

<1c22a136-2767-44fe-9c2b-40326c2e5ce1n@googlegroups.com>

  copy mid

https://www.rocksolidbbs.com/devel/article-flat.php?id=25659&group=comp.lang.forth#25659

  copy link   Newsgroups: comp.lang.forth
X-Received: by 2002:a05:6214:3383:b0:4c6:dd9:586c with SMTP id mv3-20020a056214338300b004c60dd9586cmr58170049qvb.40.1670295885778;
Mon, 05 Dec 2022 19:04:45 -0800 (PST)
X-Received: by 2002:a05:6214:5693:b0:4bb:59c1:3ded with SMTP id
lm19-20020a056214569300b004bb59c13dedmr63043089qvb.68.1670295885536; Mon, 05
Dec 2022 19:04:45 -0800 (PST)
Path: i2pn2.org!i2pn.org!usenet.blueworldhosting.com!feed1.usenet.blueworldhosting.com!peer03.iad!feed-me.highwinds-media.com!news.highwinds-media.com!news-out.google.com!nntp.google.com!postnews.google.com!google-groups.googlegroups.com!not-for-mail
Newsgroups: comp.lang.forth
Date: Mon, 5 Dec 2022 19:04:45 -0800 (PST)
In-Reply-To: <477a6440-e585-485a-87f3-ff68949f720fn@googlegroups.com>
Injection-Info: google-groups.googlegroups.com; posting-host=199.48.66.218; posting-account=zkoivgoAAABqROvHfKJPu3S9NWXITnSr
NNTP-Posting-Host: 199.48.66.218
References: <97d644a8-d38f-49b0-b73e-45ae276d327fn@googlegroups.com>
<f37bb625-4a7b-417f-b331-1c75c20cadbdn@googlegroups.com> <ad6b7a42-b48a-44b2-8dee-6b250161fb72n@googlegroups.com>
<c5ab525b-df41-4a21-a734-3333f692dea3n@googlegroups.com> <d396919a-3d60-409c-ba9f-aa89a5b410dcn@googlegroups.com>
<e2f97697-6534-488d-97e7-d932a0ef1a16n@googlegroups.com> <2068cfb8-d4bd-4c35-8002-a6b807521ca4n@googlegroups.com>
<477a6440-e585-485a-87f3-ff68949f720fn@googlegroups.com>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <1c22a136-2767-44fe-9c2b-40326c2e5ce1n@googlegroups.com>
Subject: Re: BugsBoard: an FPGA design for the Digilent Cmod S7
From: myronplichota@gmail.com (Myron Plichota)
Injection-Date: Tue, 06 Dec 2022 03:04:45 +0000
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
X-Received-Bytes: 9931
 by: Myron Plichota - Tue, 6 Dec 2022 03:04 UTC

On Monday, December 5, 2022 at 12:53:15 PM UTC-5, gnuarm.del...@gmail.com wrote:
> On Monday, December 5, 2022 at 3:38:14 AM UTC-5, Myron Plichota wrote:
> > On Sunday, December 4, 2022 at 10:04:16 AM UTC-5, jpit...@gmail.com wrote:
> > > On Sunday, 4 December 2022 at 11:59:54 UTC, Myron Plichota wrote:
> > > > On Sunday, December 4, 2022 at 4:26:27 AM UTC-5, jpit...@gmail.com wrote:
> > > > > On Saturday, 3 December 2022 at 16:00:41 UTC, James Brakefield wrote:
> > > > > > On Saturday, December 3, 2022 at 5:32:00 AM UTC-6, jpit...@gmail.com wrote:
> > > > > > > On Wednesday, 30 November 2022 at 12:55:49 UTC, Myron Plichota wrote:
> > > > > > > > The hardware is defined in Verilog. The *structured* assembler is written in Python3. Apps source code plays ball with the Python3 foundation.
> > > > > > > >
> > > > > > > > e.g. apps/color_toy.py:
> > > > > > > >
> > > > > > > > include('FPGAburn/appload.py') # must be on the first line
> > > > > > > >
> > > > > > > > # play with LD0 color
> > > > > > > >
> > > > > > > > ja(fwd('init'))
> > > > > > > >
> > > > > > > > lbl('app_msg'); ascii('\r\npress BTN0 to reset')
> > > > > > > >
> > > > > > > > # color intensities
> > > > > > > > lbl('red'); data([0])
> > > > > > > > lbl('green'); data([0])
> > > > > > > > lbl('blue'); data([0])
> > > > > > > >
> > > > > > > > # commands
> > > > > > > >
> > > > > > > > lbl('ir') # char -> # increment red
> > > > > > > > drop(); lld(red); inc(); lst(red); ret()
> > > > > > > >
> > > > > > > > lbl('dr') # char -> # decrement red
> > > > > > > > drop(); lld(red); dec(); lst(red); ret()
> > > > > > > >
> > > > > > > > lbl('ig') # char -> # increment green
> > > > > > > > drop(); lld(green); inc(); lst(green); ret()
> > > > > > > >
> > > > > > > > lbl('dg') # char -> # decrement green
> > > > > > > > drop(); lld(green); dec(); lst(green); ret()
> > > > > > > >
> > > > > > > > lbl('ib') # char -> # increment blue
> > > > > > > > drop(); lld(blue); inc(); lst(blue); ret()
> > > > > > > >
> > > > > > > > lbl('db') # char -> # decrement blue
> > > > > > > > drop(); lld(blue); dec(); lst(blue); ret()
> > > > > > > >
> > > > > > > > lbl('command') # -> # execute a recognized command
> > > > > > > > lld(arx_rdy)
> > > > > > > > _if()
> > > > > > > > lld(uart); dup(); cp(tx) # -> char # echo
> > > > > > > > dup(); lbxor(ord('R')); jz(ir)
> > > > > > > > dup(); lbxor(ord('r')); jz(dr)
> > > > > > > > dup(); lbxor(ord('G')); jz(ig)
> > > > > > > > dup(); lbxor(ord('g')); jz(dg)
> > > > > > > > dup(); lbxor(ord('B')); jz(ib)
> > > > > > > > dup(); lbxor(ord('b')); jz(db)
> > > > > > > > drop() # none of the above
> > > > > > > > _then()
> > > > > > > > ret()
> > > > > > > >
> > > > > > > > lbl('init')
> > > > > > > > lit(app_msg); cp(tx_ascii)
> > > > > > > > _begin()
> > > > > > > > cp(command)
> > > > > > > > lld(red); lst(pwm1)
> > > > > > > > lld(green); lst(pwm2)
> > > > > > > > lld(blue); lst(pwm3)
> > > > > > > > _again()
> > > > > > > >
> > > > > > > > lbl('app_end') # must be on the last line
> > > > > > > >
> > > > > > > > BugsBoard_Primer.pdf is at https://drive.google.com/file/d/14iPt_j_lmINSs4cte3_MneA6D4UCBjZi/view?usp=sharing
> > > > > > > > A link to Bugs18bis.zip is in the downloads section.
> > > > > > > >
> > > > > > > > Cheers - Myron Plichota
> > > > > > > The number of people who own such a board is probably rather small.
> > > > > > > And cost/availability might be an issue for many who want to give it a go.
> > > > > > >
> > > > > > > I wonder if the NANDLAND Board / Lattice based could be a target for your software.
> > > > > > > This would probably cover as well the related board from Lattice.
> > > > > > > https://nandland.com/the-go-board/ has a lot of related documentation to get started.
> > > > > > >
> > > > > > > Nandland board $65,
> > > > > > > https://digilent.com/reference/programmable-logic/cmod-s7/start at $99 and not available at the moment
> > > > > > FPGA board prices have gone way op over the last few years.
> > > > > > If you are a FPGA beginner and a student and want to avoid using a plug board,
> > > > > > the Terasic DE10-Lite and the Realdigital BooleanBoard give you the most for your money.
> > > > > > If user IO (buttons, switches and 7-segment display) is not an issue, the Tang Nano 9K deserves a look.
> > > > > I had been looking at these low-cost boards at Pimoroni - but out of stock as expected.
> > > > > https://shop.pimoroni.com/search?q=fpga%20board
> > > > > But I still own many different versions from the past including some of those from Trenz-Electronics that I could use
> > > > > https://shop.trenz-electronic.de/en/Products/Trenz-Electronic/TE0890-Spartan-7/ good for breadboards
> > > > > The last time I switched one on, was
> > > > > to verify the CDP1802 that Steve Teal did
> > > > > https://www.amazon.co.uk/FIG-Forth-Manual-Documentation-Test-1802-ebook/dp/B01N42VLJE/ref=sr_1_19?qid=1670145231&refinements=p_27%3AJuergen+Pintaske&s=books&sr=1-19
> > > > > and this got me to redo the CDP1802 book BMP802 and publish it on amazon as well
> > > > > https://www.amazon.co.uk/DESIGN-IDEAS-BOOK-CDP1802-Microprocesor-ebook/dp/B09GWCVHGG/ref=sr_1_10?qid=1670145353&refinements=p_27%3AJuergen+Pintaske&s=books&sr=1-10
> > > > > All for the fun of it.
> > > > https://shop.trenz-electronic.de/en/Products/Trenz-Electronic/TE0890-Spartan-7/
> > > > This has definite transplant potential. It uses the same XC7S25 FPGA.
> > > > But:
> > > > 1) I don't see an on-board USB/UART connector. But I see FTDI on the silk screen, which suggests a workaround.
> > > > 2) Through-hole pin pitch is not consistently on a 0.1"x0.1" grid, and this is bad for a hobby board.
> > > >
> > > > The published BugsBoard design is far from holy, e.g. 3 PWM channels are dedicated to drive the on-board RGB LED for fun.
> > > > I'd be delighted to hear about succesful mutations on other FPGA-based boards.
> > > There are so many versions on the website, this one might fit better for you
> > > https://shop.trenz-electronic.de/en/Products/Programmable-Logic/Gowin-LittleBee/
> > >
> > > And regarding 0.1" pitch: I have used this solution in the past:
> > > male headers soldered into the board
> > > female header stuck onlo them
> > > short wires soldered to female header
> > > the other end of the wire soldered onto male header and this stuck into the breadboard.
> > > And if this is too wide for a normal breadboard - one breadboard on each side and a lot of space for extensions ...
> > A quick review of the FPGA datasheet shows problems:
> > 1) block RAM lacks separate read and write clocks in single-port mode
> That would be called "semi-dual port" mode.
> > 2) there is a maximum of 26Kx18-bits block RAM available
> Every part has limitations. Why is 26 blocks of 2k x 18 BRAM a serious limitation? I'm planning to use this part in a design I'm working on.
> > I do not recommend that board.
> For what?
>
> If you look at the schematics for this board, it will show the particular FTDI chip used. That will provide a lot of information about how to use it.. It has been a couple of years, but I seem to recall that chip can provide both JTAG programming, and a serial port.
>
> --
>
> Rick C.
>
> - Get 1,000 miles of free Supercharging
> - Tesla referral code - https://ts.la/richard11209
Popping the stack:
1) Q: do not recommend for what? A: a BugsBoard transplant
2) Q: RAM limitation? A: depends on how much (or little) on-chip code and data you have use for
3) semi dual port mode: I noticed that, and the block diagram does not suggest to me that ram1c.v would successfully compile.


Click here to read the complete article
Re: BugsBoard: an FPGA design for the Digilent Cmod S7

<00e5889f-0afc-463a-a3f8-e10b6599ba41n@googlegroups.com>

  copy mid

https://www.rocksolidbbs.com/devel/article-flat.php?id=25660&group=comp.lang.forth#25660

  copy link   Newsgroups: comp.lang.forth
X-Received: by 2002:a05:6214:a0b:b0:4c6:f93f:1cfa with SMTP id dw11-20020a0562140a0b00b004c6f93f1cfamr38909422qvb.49.1670312587894;
Mon, 05 Dec 2022 23:43:07 -0800 (PST)
X-Received: by 2002:a37:512:0:b0:6fe:d1a0:ba88 with SMTP id
18-20020a370512000000b006fed1a0ba88mr3644010qkf.233.1670312587629; Mon, 05
Dec 2022 23:43:07 -0800 (PST)
Path: i2pn2.org!i2pn.org!usenet.blueworldhosting.com!feed1.usenet.blueworldhosting.com!peer03.iad!feed-me.highwinds-media.com!news.highwinds-media.com!news-out.google.com!nntp.google.com!postnews.google.com!google-groups.googlegroups.com!not-for-mail
Newsgroups: comp.lang.forth
Date: Mon, 5 Dec 2022 23:43:07 -0800 (PST)
In-Reply-To: <1c22a136-2767-44fe-9c2b-40326c2e5ce1n@googlegroups.com>
Injection-Info: google-groups.googlegroups.com; posting-host=65.207.89.54; posting-account=I-_H_woAAAA9zzro6crtEpUAyIvzd19b
NNTP-Posting-Host: 65.207.89.54
References: <97d644a8-d38f-49b0-b73e-45ae276d327fn@googlegroups.com>
<f37bb625-4a7b-417f-b331-1c75c20cadbdn@googlegroups.com> <ad6b7a42-b48a-44b2-8dee-6b250161fb72n@googlegroups.com>
<c5ab525b-df41-4a21-a734-3333f692dea3n@googlegroups.com> <d396919a-3d60-409c-ba9f-aa89a5b410dcn@googlegroups.com>
<e2f97697-6534-488d-97e7-d932a0ef1a16n@googlegroups.com> <2068cfb8-d4bd-4c35-8002-a6b807521ca4n@googlegroups.com>
<477a6440-e585-485a-87f3-ff68949f720fn@googlegroups.com> <1c22a136-2767-44fe-9c2b-40326c2e5ce1n@googlegroups.com>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <00e5889f-0afc-463a-a3f8-e10b6599ba41n@googlegroups.com>
Subject: Re: BugsBoard: an FPGA design for the Digilent Cmod S7
From: gnuarm.deletethisbit@gmail.com (Lorem Ipsum)
Injection-Date: Tue, 06 Dec 2022 07:43:07 +0000
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
X-Received-Bytes: 10601
 by: Lorem Ipsum - Tue, 6 Dec 2022 07:43 UTC

On Monday, December 5, 2022 at 10:04:47 PM UTC-5, Myron Plichota wrote:
> On Monday, December 5, 2022 at 12:53:15 PM UTC-5, gnuarm.del...@gmail.com wrote:
> > On Monday, December 5, 2022 at 3:38:14 AM UTC-5, Myron Plichota wrote:
> > > On Sunday, December 4, 2022 at 10:04:16 AM UTC-5, jpit...@gmail.com wrote:
> > > > On Sunday, 4 December 2022 at 11:59:54 UTC, Myron Plichota wrote:
> > > > > On Sunday, December 4, 2022 at 4:26:27 AM UTC-5, jpit...@gmail.com wrote:
> > > > > > On Saturday, 3 December 2022 at 16:00:41 UTC, James Brakefield wrote:
> > > > > > > On Saturday, December 3, 2022 at 5:32:00 AM UTC-6, jpit...@gmail.com wrote:
> > > > > > > > On Wednesday, 30 November 2022 at 12:55:49 UTC, Myron Plichota wrote:
> > > > > > > > > The hardware is defined in Verilog. The *structured* assembler is written in Python3. Apps source code plays ball with the Python3 foundation.
> > > > > > > > >
> > > > > > > > > e.g. apps/color_toy.py:
> > > > > > > > >
> > > > > > > > > include('FPGAburn/appload.py') # must be on the first line
> > > > > > > > >
> > > > > > > > > # play with LD0 color
> > > > > > > > >
> > > > > > > > > ja(fwd('init'))
> > > > > > > > >
> > > > > > > > > lbl('app_msg'); ascii('\r\npress BTN0 to reset')
> > > > > > > > >
> > > > > > > > > # color intensities
> > > > > > > > > lbl('red'); data([0])
> > > > > > > > > lbl('green'); data([0])
> > > > > > > > > lbl('blue'); data([0])
> > > > > > > > >
> > > > > > > > > # commands
> > > > > > > > >
> > > > > > > > > lbl('ir') # char -> # increment red
> > > > > > > > > drop(); lld(red); inc(); lst(red); ret()
> > > > > > > > >
> > > > > > > > > lbl('dr') # char -> # decrement red
> > > > > > > > > drop(); lld(red); dec(); lst(red); ret()
> > > > > > > > >
> > > > > > > > > lbl('ig') # char -> # increment green
> > > > > > > > > drop(); lld(green); inc(); lst(green); ret()
> > > > > > > > >
> > > > > > > > > lbl('dg') # char -> # decrement green
> > > > > > > > > drop(); lld(green); dec(); lst(green); ret()
> > > > > > > > >
> > > > > > > > > lbl('ib') # char -> # increment blue
> > > > > > > > > drop(); lld(blue); inc(); lst(blue); ret()
> > > > > > > > >
> > > > > > > > > lbl('db') # char -> # decrement blue
> > > > > > > > > drop(); lld(blue); dec(); lst(blue); ret()
> > > > > > > > >
> > > > > > > > > lbl('command') # -> # execute a recognized command
> > > > > > > > > lld(arx_rdy)
> > > > > > > > > _if()
> > > > > > > > > lld(uart); dup(); cp(tx) # -> char # echo
> > > > > > > > > dup(); lbxor(ord('R')); jz(ir)
> > > > > > > > > dup(); lbxor(ord('r')); jz(dr)
> > > > > > > > > dup(); lbxor(ord('G')); jz(ig)
> > > > > > > > > dup(); lbxor(ord('g')); jz(dg)
> > > > > > > > > dup(); lbxor(ord('B')); jz(ib)
> > > > > > > > > dup(); lbxor(ord('b')); jz(db)
> > > > > > > > > drop() # none of the above
> > > > > > > > > _then()
> > > > > > > > > ret()
> > > > > > > > >
> > > > > > > > > lbl('init')
> > > > > > > > > lit(app_msg); cp(tx_ascii)
> > > > > > > > > _begin()
> > > > > > > > > cp(command)
> > > > > > > > > lld(red); lst(pwm1)
> > > > > > > > > lld(green); lst(pwm2)
> > > > > > > > > lld(blue); lst(pwm3)
> > > > > > > > > _again()
> > > > > > > > >
> > > > > > > > > lbl('app_end') # must be on the last line
> > > > > > > > >
> > > > > > > > > BugsBoard_Primer.pdf is at https://drive.google.com/file/d/14iPt_j_lmINSs4cte3_MneA6D4UCBjZi/view?usp=sharing
> > > > > > > > > A link to Bugs18bis.zip is in the downloads section.
> > > > > > > > >
> > > > > > > > > Cheers - Myron Plichota
> > > > > > > > The number of people who own such a board is probably rather small.
> > > > > > > > And cost/availability might be an issue for many who want to give it a go.
> > > > > > > >
> > > > > > > > I wonder if the NANDLAND Board / Lattice based could be a target for your software.
> > > > > > > > This would probably cover as well the related board from Lattice.
> > > > > > > > https://nandland.com/the-go-board/ has a lot of related documentation to get started.
> > > > > > > >
> > > > > > > > Nandland board $65,
> > > > > > > > https://digilent.com/reference/programmable-logic/cmod-s7/start at $99 and not available at the moment
> > > > > > > FPGA board prices have gone way op over the last few years.
> > > > > > > If you are a FPGA beginner and a student and want to avoid using a plug board,
> > > > > > > the Terasic DE10-Lite and the Realdigital BooleanBoard give you the most for your money.
> > > > > > > If user IO (buttons, switches and 7-segment display) is not an issue, the Tang Nano 9K deserves a look.
> > > > > > I had been looking at these low-cost boards at Pimoroni - but out of stock as expected.
> > > > > > https://shop.pimoroni.com/search?q=fpga%20board
> > > > > > But I still own many different versions from the past including some of those from Trenz-Electronics that I could use
> > > > > > https://shop.trenz-electronic.de/en/Products/Trenz-Electronic/TE0890-Spartan-7/ good for breadboards
> > > > > > The last time I switched one on, was
> > > > > > to verify the CDP1802 that Steve Teal did
> > > > > > https://www.amazon.co.uk/FIG-Forth-Manual-Documentation-Test-1802-ebook/dp/B01N42VLJE/ref=sr_1_19?qid=1670145231&refinements=p_27%3AJuergen+Pintaske&s=books&sr=1-19
> > > > > > and this got me to redo the CDP1802 book BMP802 and publish it on amazon as well
> > > > > > https://www.amazon.co.uk/DESIGN-IDEAS-BOOK-CDP1802-Microprocesor-ebook/dp/B09GWCVHGG/ref=sr_1_10?qid=1670145353&refinements=p_27%3AJuergen+Pintaske&s=books&sr=1-10
> > > > > > All for the fun of it.
> > > > > https://shop.trenz-electronic.de/en/Products/Trenz-Electronic/TE0890-Spartan-7/
> > > > > This has definite transplant potential. It uses the same XC7S25 FPGA.
> > > > > But:
> > > > > 1) I don't see an on-board USB/UART connector. But I see FTDI on the silk screen, which suggests a workaround.
> > > > > 2) Through-hole pin pitch is not consistently on a 0.1"x0.1" grid, and this is bad for a hobby board.
> > > > >
> > > > > The published BugsBoard design is far from holy, e.g. 3 PWM channels are dedicated to drive the on-board RGB LED for fun.
> > > > > I'd be delighted to hear about succesful mutations on other FPGA-based boards.
> > > > There are so many versions on the website, this one might fit better for you
> > > > https://shop.trenz-electronic.de/en/Products/Programmable-Logic/Gowin-LittleBee/
> > > >
> > > > And regarding 0.1" pitch: I have used this solution in the past:
> > > > male headers soldered into the board
> > > > female header stuck onlo them
> > > > short wires soldered to female header
> > > > the other end of the wire soldered onto male header and this stuck into the breadboard.
> > > > And if this is too wide for a normal breadboard - one breadboard on each side and a lot of space for extensions ...
> > > A quick review of the FPGA datasheet shows problems:
> > > 1) block RAM lacks separate read and write clocks in single-port mode
> > That would be called "semi-dual port" mode.
> > > 2) there is a maximum of 26Kx18-bits block RAM available
> > Every part has limitations. Why is 26 blocks of 2k x 18 BRAM a serious limitation? I'm planning to use this part in a design I'm working on.
> > > I do not recommend that board.
> > For what?
> >
> > If you look at the schematics for this board, it will show the particular FTDI chip used. That will provide a lot of information about how to use it. It has been a couple of years, but I seem to recall that chip can provide both JTAG programming, and a serial port.
> >
> > --
> >
> > Rick C.
> >
> > - Get 1,000 miles of free Supercharging
> > - Tesla referral code - https://ts.la/richard11209
> Popping the stack:
> 1) Q: do not recommend for what? A: a BugsBoard transplant
> 2) Q: RAM limitation? A: depends on how much (or little) on-chip code and data you have use for
> 3) semi dual port mode: I noticed that, and the block diagram does not suggest to me that ram1c.v would successfully compile.


Click here to read the complete article
Re: BugsBoard: an FPGA design for the Digilent Cmod S7

<c9f0b14c-bfb8-483e-b4f4-145007933b5dn@googlegroups.com>

  copy mid

https://www.rocksolidbbs.com/devel/article-flat.php?id=25662&group=comp.lang.forth#25662

  copy link   Newsgroups: comp.lang.forth
X-Received: by 2002:a05:620a:260d:b0:6fb:a9af:2238 with SMTP id z13-20020a05620a260d00b006fba9af2238mr59844607qko.457.1670327251960;
Tue, 06 Dec 2022 03:47:31 -0800 (PST)
X-Received: by 2002:ac8:5145:0:b0:3a5:4544:a46e with SMTP id
h5-20020ac85145000000b003a54544a46emr67905232qtn.305.1670327251729; Tue, 06
Dec 2022 03:47:31 -0800 (PST)
Path: i2pn2.org!i2pn.org!usenet.blueworldhosting.com!feed1.usenet.blueworldhosting.com!peer03.iad!feed-me.highwinds-media.com!news.highwinds-media.com!news-out.google.com!nntp.google.com!postnews.google.com!google-groups.googlegroups.com!not-for-mail
Newsgroups: comp.lang.forth
Date: Tue, 6 Dec 2022 03:47:31 -0800 (PST)
In-Reply-To: <00e5889f-0afc-463a-a3f8-e10b6599ba41n@googlegroups.com>
Injection-Info: google-groups.googlegroups.com; posting-host=199.48.66.218; posting-account=zkoivgoAAABqROvHfKJPu3S9NWXITnSr
NNTP-Posting-Host: 199.48.66.218
References: <97d644a8-d38f-49b0-b73e-45ae276d327fn@googlegroups.com>
<f37bb625-4a7b-417f-b331-1c75c20cadbdn@googlegroups.com> <ad6b7a42-b48a-44b2-8dee-6b250161fb72n@googlegroups.com>
<c5ab525b-df41-4a21-a734-3333f692dea3n@googlegroups.com> <d396919a-3d60-409c-ba9f-aa89a5b410dcn@googlegroups.com>
<e2f97697-6534-488d-97e7-d932a0ef1a16n@googlegroups.com> <2068cfb8-d4bd-4c35-8002-a6b807521ca4n@googlegroups.com>
<477a6440-e585-485a-87f3-ff68949f720fn@googlegroups.com> <1c22a136-2767-44fe-9c2b-40326c2e5ce1n@googlegroups.com>
<00e5889f-0afc-463a-a3f8-e10b6599ba41n@googlegroups.com>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <c9f0b14c-bfb8-483e-b4f4-145007933b5dn@googlegroups.com>
Subject: Re: BugsBoard: an FPGA design for the Digilent Cmod S7
From: myronplichota@gmail.com (Myron Plichota)
Injection-Date: Tue, 06 Dec 2022 11:47:31 +0000
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
X-Received-Bytes: 11228
 by: Myron Plichota - Tue, 6 Dec 2022 11:47 UTC

On Tuesday, December 6, 2022 at 2:43:09 AM UTC-5, gnuarm.del...@gmail.com wrote:
> On Monday, December 5, 2022 at 10:04:47 PM UTC-5, Myron Plichota wrote:
> > On Monday, December 5, 2022 at 12:53:15 PM UTC-5, gnuarm.del...@gmail.com wrote:
> > > On Monday, December 5, 2022 at 3:38:14 AM UTC-5, Myron Plichota wrote:
> > > > On Sunday, December 4, 2022 at 10:04:16 AM UTC-5, jpit...@gmail.com wrote:
> > > > > On Sunday, 4 December 2022 at 11:59:54 UTC, Myron Plichota wrote:
> > > > > > On Sunday, December 4, 2022 at 4:26:27 AM UTC-5, jpit...@gmail.com wrote:
> > > > > > > On Saturday, 3 December 2022 at 16:00:41 UTC, James Brakefield wrote:
> > > > > > > > On Saturday, December 3, 2022 at 5:32:00 AM UTC-6, jpit...@gmail.com wrote:
> > > > > > > > > On Wednesday, 30 November 2022 at 12:55:49 UTC, Myron Plichota wrote:
> > > > > > > > > > The hardware is defined in Verilog. The *structured* assembler is written in Python3. Apps source code plays ball with the Python3 foundation.
> > > > > > > > > >
> > > > > > > > > > e.g. apps/color_toy.py:
> > > > > > > > > >
> > > > > > > > > > include('FPGAburn/appload.py') # must be on the first line
> > > > > > > > > >
> > > > > > > > > > # play with LD0 color
> > > > > > > > > >
> > > > > > > > > > ja(fwd('init'))
> > > > > > > > > >
> > > > > > > > > > lbl('app_msg'); ascii('\r\npress BTN0 to reset')
> > > > > > > > > >
> > > > > > > > > > # color intensities
> > > > > > > > > > lbl('red'); data([0])
> > > > > > > > > > lbl('green'); data([0])
> > > > > > > > > > lbl('blue'); data([0])
> > > > > > > > > >
> > > > > > > > > > # commands
> > > > > > > > > >
> > > > > > > > > > lbl('ir') # char -> # increment red
> > > > > > > > > > drop(); lld(red); inc(); lst(red); ret()
> > > > > > > > > >
> > > > > > > > > > lbl('dr') # char -> # decrement red
> > > > > > > > > > drop(); lld(red); dec(); lst(red); ret()
> > > > > > > > > >
> > > > > > > > > > lbl('ig') # char -> # increment green
> > > > > > > > > > drop(); lld(green); inc(); lst(green); ret()
> > > > > > > > > >
> > > > > > > > > > lbl('dg') # char -> # decrement green
> > > > > > > > > > drop(); lld(green); dec(); lst(green); ret()
> > > > > > > > > >
> > > > > > > > > > lbl('ib') # char -> # increment blue
> > > > > > > > > > drop(); lld(blue); inc(); lst(blue); ret()
> > > > > > > > > >
> > > > > > > > > > lbl('db') # char -> # decrement blue
> > > > > > > > > > drop(); lld(blue); dec(); lst(blue); ret()
> > > > > > > > > >
> > > > > > > > > > lbl('command') # -> # execute a recognized command
> > > > > > > > > > lld(arx_rdy)
> > > > > > > > > > _if()
> > > > > > > > > > lld(uart); dup(); cp(tx) # -> char # echo
> > > > > > > > > > dup(); lbxor(ord('R')); jz(ir)
> > > > > > > > > > dup(); lbxor(ord('r')); jz(dr)
> > > > > > > > > > dup(); lbxor(ord('G')); jz(ig)
> > > > > > > > > > dup(); lbxor(ord('g')); jz(dg)
> > > > > > > > > > dup(); lbxor(ord('B')); jz(ib)
> > > > > > > > > > dup(); lbxor(ord('b')); jz(db)
> > > > > > > > > > drop() # none of the above
> > > > > > > > > > _then()
> > > > > > > > > > ret()
> > > > > > > > > >
> > > > > > > > > > lbl('init')
> > > > > > > > > > lit(app_msg); cp(tx_ascii)
> > > > > > > > > > _begin()
> > > > > > > > > > cp(command)
> > > > > > > > > > lld(red); lst(pwm1)
> > > > > > > > > > lld(green); lst(pwm2)
> > > > > > > > > > lld(blue); lst(pwm3)
> > > > > > > > > > _again()
> > > > > > > > > >
> > > > > > > > > > lbl('app_end') # must be on the last line
> > > > > > > > > >
> > > > > > > > > > BugsBoard_Primer.pdf is at https://drive.google.com/file/d/14iPt_j_lmINSs4cte3_MneA6D4UCBjZi/view?usp=sharing
> > > > > > > > > > A link to Bugs18bis.zip is in the downloads section.
> > > > > > > > > >
> > > > > > > > > > Cheers - Myron Plichota
> > > > > > > > > The number of people who own such a board is probably rather small.
> > > > > > > > > And cost/availability might be an issue for many who want to give it a go.
> > > > > > > > >
> > > > > > > > > I wonder if the NANDLAND Board / Lattice based could be a target for your software.
> > > > > > > > > This would probably cover as well the related board from Lattice.
> > > > > > > > > https://nandland.com/the-go-board/ has a lot of related documentation to get started.
> > > > > > > > >
> > > > > > > > > Nandland board $65,
> > > > > > > > > https://digilent.com/reference/programmable-logic/cmod-s7/start at $99 and not available at the moment
> > > > > > > > FPGA board prices have gone way op over the last few years.
> > > > > > > > If you are a FPGA beginner and a student and want to avoid using a plug board,
> > > > > > > > the Terasic DE10-Lite and the Realdigital BooleanBoard give you the most for your money.
> > > > > > > > If user IO (buttons, switches and 7-segment display) is not an issue, the Tang Nano 9K deserves a look.
> > > > > > > I had been looking at these low-cost boards at Pimoroni - but out of stock as expected.
> > > > > > > https://shop.pimoroni.com/search?q=fpga%20board
> > > > > > > But I still own many different versions from the past including some of those from Trenz-Electronics that I could use
> > > > > > > https://shop.trenz-electronic.de/en/Products/Trenz-Electronic/TE0890-Spartan-7/ good for breadboards
> > > > > > > The last time I switched one on, was
> > > > > > > to verify the CDP1802 that Steve Teal did
> > > > > > > https://www.amazon.co.uk/FIG-Forth-Manual-Documentation-Test-1802-ebook/dp/B01N42VLJE/ref=sr_1_19?qid=1670145231&refinements=p_27%3AJuergen+Pintaske&s=books&sr=1-19
> > > > > > > and this got me to redo the CDP1802 book BMP802 and publish it on amazon as well
> > > > > > > https://www.amazon.co.uk/DESIGN-IDEAS-BOOK-CDP1802-Microprocesor-ebook/dp/B09GWCVHGG/ref=sr_1_10?qid=1670145353&refinements=p_27%3AJuergen+Pintaske&s=books&sr=1-10
> > > > > > > All for the fun of it.
> > > > > > https://shop.trenz-electronic.de/en/Products/Trenz-Electronic/TE0890-Spartan-7/
> > > > > > This has definite transplant potential. It uses the same XC7S25 FPGA.
> > > > > > But:
> > > > > > 1) I don't see an on-board USB/UART connector. But I see FTDI on the silk screen, which suggests a workaround.
> > > > > > 2) Through-hole pin pitch is not consistently on a 0.1"x0.1" grid, and this is bad for a hobby board.
> > > > > >
> > > > > > The published BugsBoard design is far from holy, e.g. 3 PWM channels are dedicated to drive the on-board RGB LED for fun.
> > > > > > I'd be delighted to hear about succesful mutations on other FPGA-based boards.
> > > > > There are so many versions on the website, this one might fit better for you
> > > > > https://shop.trenz-electronic.de/en/Products/Programmable-Logic/Gowin-LittleBee/
> > > > >
> > > > > And regarding 0.1" pitch: I have used this solution in the past:
> > > > > male headers soldered into the board
> > > > > female header stuck onlo them
> > > > > short wires soldered to female header
> > > > > the other end of the wire soldered onto male header and this stuck into the breadboard.
> > > > > And if this is too wide for a normal breadboard - one breadboard on each side and a lot of space for extensions ...
> > > > A quick review of the FPGA datasheet shows problems:
> > > > 1) block RAM lacks separate read and write clocks in single-port mode
> > > That would be called "semi-dual port" mode.
> > > > 2) there is a maximum of 26Kx18-bits block RAM available
> > > Every part has limitations. Why is 26 blocks of 2k x 18 BRAM a serious limitation? I'm planning to use this part in a design I'm working on.
> > > > I do not recommend that board.
> > > For what?
> > >
> > > If you look at the schematics for this board, it will show the particular FTDI chip used. That will provide a lot of information about how to use it. It has been a couple of years, but I seem to recall that chip can provide both JTAG programming, and a serial port.
> > >
> > > --
> > >
> > > Rick C.
> > >
> > > - Get 1,000 miles of free Supercharging
> > > - Tesla referral code - https://ts.la/richard11209
> > Popping the stack:
> > 1) Q: do not recommend for what? A: a BugsBoard transplant
> > 2) Q: RAM limitation? A: depends on how much (or little) on-chip code and data you have use for
> > 3) semi dual port mode: I noticed that, and the block diagram does not suggest to me that ram1c.v would successfully compile.
> Not sure what you don't like about that file. I don't have time right now to dig into it. Is ram1c.v a file in the project you are talking about, or something from Gowin?
>
> --
>
> Rick C.
>
> +-- Get 1,000 miles of free Supercharging
> +-- Tesla referral code - https://ts.la/richard11209
Please take the time to comprehend ram1c.v in the BugsBoard.zip distro. Perchance it will serve you well. BTW, I never heard about Gowin before this discussion was started.


Click here to read the complete article
Re: BugsBoard: an FPGA design for the Digilent Cmod S7

<f450bdf1-544a-4885-bccc-536211be2e35n@googlegroups.com>

  copy mid

https://www.rocksolidbbs.com/devel/article-flat.php?id=25663&group=comp.lang.forth#25663

  copy link   Newsgroups: comp.lang.forth
X-Received: by 2002:a05:620a:687:b0:6fe:d744:c83f with SMTP id f7-20020a05620a068700b006fed744c83fmr1973004qkh.175.1670328445342;
Tue, 06 Dec 2022 04:07:25 -0800 (PST)
X-Received: by 2002:a05:620a:164f:b0:6fe:c477:2546 with SMTP id
c15-20020a05620a164f00b006fec4772546mr5331513qko.588.1670328444148; Tue, 06
Dec 2022 04:07:24 -0800 (PST)
Path: i2pn2.org!i2pn.org!usenet.blueworldhosting.com!feed1.usenet.blueworldhosting.com!peer03.iad!feed-me.highwinds-media.com!news.highwinds-media.com!news-out.google.com!nntp.google.com!postnews.google.com!google-groups.googlegroups.com!not-for-mail
Newsgroups: comp.lang.forth
Date: Tue, 6 Dec 2022 04:07:23 -0800 (PST)
In-Reply-To: <c9f0b14c-bfb8-483e-b4f4-145007933b5dn@googlegroups.com>
Injection-Info: google-groups.googlegroups.com; posting-host=199.48.66.218; posting-account=zkoivgoAAABqROvHfKJPu3S9NWXITnSr
NNTP-Posting-Host: 199.48.66.218
References: <97d644a8-d38f-49b0-b73e-45ae276d327fn@googlegroups.com>
<f37bb625-4a7b-417f-b331-1c75c20cadbdn@googlegroups.com> <ad6b7a42-b48a-44b2-8dee-6b250161fb72n@googlegroups.com>
<c5ab525b-df41-4a21-a734-3333f692dea3n@googlegroups.com> <d396919a-3d60-409c-ba9f-aa89a5b410dcn@googlegroups.com>
<e2f97697-6534-488d-97e7-d932a0ef1a16n@googlegroups.com> <2068cfb8-d4bd-4c35-8002-a6b807521ca4n@googlegroups.com>
<477a6440-e585-485a-87f3-ff68949f720fn@googlegroups.com> <1c22a136-2767-44fe-9c2b-40326c2e5ce1n@googlegroups.com>
<00e5889f-0afc-463a-a3f8-e10b6599ba41n@googlegroups.com> <c9f0b14c-bfb8-483e-b4f4-145007933b5dn@googlegroups.com>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <f450bdf1-544a-4885-bccc-536211be2e35n@googlegroups.com>
Subject: Re: BugsBoard: an FPGA design for the Digilent Cmod S7
From: myronplichota@gmail.com (Myron Plichota)
Injection-Date: Tue, 06 Dec 2022 12:07:25 +0000
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
X-Received-Bytes: 13555
 by: Myron Plichota - Tue, 6 Dec 2022 12:07 UTC

On Tuesday, December 6, 2022 at 6:47:33 AM UTC-5, Myron Plichota wrote:
> On Tuesday, December 6, 2022 at 2:43:09 AM UTC-5, gnuarm.del...@gmail.com wrote:
> > On Monday, December 5, 2022 at 10:04:47 PM UTC-5, Myron Plichota wrote:
> > > On Monday, December 5, 2022 at 12:53:15 PM UTC-5, gnuarm.del...@gmail..com wrote:
> > > > On Monday, December 5, 2022 at 3:38:14 AM UTC-5, Myron Plichota wrote:
> > > > > On Sunday, December 4, 2022 at 10:04:16 AM UTC-5, jpit...@gmail.com wrote:
> > > > > > On Sunday, 4 December 2022 at 11:59:54 UTC, Myron Plichota wrote:
> > > > > > > On Sunday, December 4, 2022 at 4:26:27 AM UTC-5, jpit...@gmail.com wrote:
> > > > > > > > On Saturday, 3 December 2022 at 16:00:41 UTC, James Brakefield wrote:
> > > > > > > > > On Saturday, December 3, 2022 at 5:32:00 AM UTC-6, jpit....@gmail.com wrote:
> > > > > > > > > > On Wednesday, 30 November 2022 at 12:55:49 UTC, Myron Plichota wrote:
> > > > > > > > > > > The hardware is defined in Verilog. The *structured* assembler is written in Python3. Apps source code plays ball with the Python3 foundation.
> > > > > > > > > > >
> > > > > > > > > > > e.g. apps/color_toy.py:
> > > > > > > > > > >
> > > > > > > > > > > include('FPGAburn/appload.py') # must be on the first line
> > > > > > > > > > >
> > > > > > > > > > > # play with LD0 color
> > > > > > > > > > >
> > > > > > > > > > > ja(fwd('init'))
> > > > > > > > > > >
> > > > > > > > > > > lbl('app_msg'); ascii('\r\npress BTN0 to reset')
> > > > > > > > > > >
> > > > > > > > > > > # color intensities
> > > > > > > > > > > lbl('red'); data([0])
> > > > > > > > > > > lbl('green'); data([0])
> > > > > > > > > > > lbl('blue'); data([0])
> > > > > > > > > > >
> > > > > > > > > > > # commands
> > > > > > > > > > >
> > > > > > > > > > > lbl('ir') # char -> # increment red
> > > > > > > > > > > drop(); lld(red); inc(); lst(red); ret()
> > > > > > > > > > >
> > > > > > > > > > > lbl('dr') # char -> # decrement red
> > > > > > > > > > > drop(); lld(red); dec(); lst(red); ret()
> > > > > > > > > > >
> > > > > > > > > > > lbl('ig') # char -> # increment green
> > > > > > > > > > > drop(); lld(green); inc(); lst(green); ret()
> > > > > > > > > > >
> > > > > > > > > > > lbl('dg') # char -> # decrement green
> > > > > > > > > > > drop(); lld(green); dec(); lst(green); ret()
> > > > > > > > > > >
> > > > > > > > > > > lbl('ib') # char -> # increment blue
> > > > > > > > > > > drop(); lld(blue); inc(); lst(blue); ret()
> > > > > > > > > > >
> > > > > > > > > > > lbl('db') # char -> # decrement blue
> > > > > > > > > > > drop(); lld(blue); dec(); lst(blue); ret()
> > > > > > > > > > >
> > > > > > > > > > > lbl('command') # -> # execute a recognized command
> > > > > > > > > > > lld(arx_rdy)
> > > > > > > > > > > _if()
> > > > > > > > > > > lld(uart); dup(); cp(tx) # -> char # echo
> > > > > > > > > > > dup(); lbxor(ord('R')); jz(ir)
> > > > > > > > > > > dup(); lbxor(ord('r')); jz(dr)
> > > > > > > > > > > dup(); lbxor(ord('G')); jz(ig)
> > > > > > > > > > > dup(); lbxor(ord('g')); jz(dg)
> > > > > > > > > > > dup(); lbxor(ord('B')); jz(ib)
> > > > > > > > > > > dup(); lbxor(ord('b')); jz(db)
> > > > > > > > > > > drop() # none of the above
> > > > > > > > > > > _then()
> > > > > > > > > > > ret()
> > > > > > > > > > >
> > > > > > > > > > > lbl('init')
> > > > > > > > > > > lit(app_msg); cp(tx_ascii)
> > > > > > > > > > > _begin()
> > > > > > > > > > > cp(command)
> > > > > > > > > > > lld(red); lst(pwm1)
> > > > > > > > > > > lld(green); lst(pwm2)
> > > > > > > > > > > lld(blue); lst(pwm3)
> > > > > > > > > > > _again()
> > > > > > > > > > >
> > > > > > > > > > > lbl('app_end') # must be on the last line
> > > > > > > > > > >
> > > > > > > > > > > BugsBoard_Primer.pdf is at https://drive.google.com/file/d/14iPt_j_lmINSs4cte3_MneA6D4UCBjZi/view?usp=sharing
> > > > > > > > > > > A link to Bugs18bis.zip is in the downloads section.
> > > > > > > > > > >
> > > > > > > > > > > Cheers - Myron Plichota
> > > > > > > > > > The number of people who own such a board is probably rather small.
> > > > > > > > > > And cost/availability might be an issue for many who want to give it a go.
> > > > > > > > > >
> > > > > > > > > > I wonder if the NANDLAND Board / Lattice based could be a target for your software.
> > > > > > > > > > This would probably cover as well the related board from Lattice.
> > > > > > > > > > https://nandland.com/the-go-board/ has a lot of related documentation to get started.
> > > > > > > > > >
> > > > > > > > > > Nandland board $65,
> > > > > > > > > > https://digilent.com/reference/programmable-logic/cmod-s7/start at $99 and not available at the moment
> > > > > > > > > FPGA board prices have gone way op over the last few years.
> > > > > > > > > If you are a FPGA beginner and a student and want to avoid using a plug board,
> > > > > > > > > the Terasic DE10-Lite and the Realdigital BooleanBoard give you the most for your money.
> > > > > > > > > If user IO (buttons, switches and 7-segment display) is not an issue, the Tang Nano 9K deserves a look.
> > > > > > > > I had been looking at these low-cost boards at Pimoroni - but out of stock as expected.
> > > > > > > > https://shop.pimoroni.com/search?q=fpga%20board
> > > > > > > > But I still own many different versions from the past including some of those from Trenz-Electronics that I could use
> > > > > > > > https://shop.trenz-electronic.de/en/Products/Trenz-Electronic/TE0890-Spartan-7/ good for breadboards
> > > > > > > > The last time I switched one on, was
> > > > > > > > to verify the CDP1802 that Steve Teal did
> > > > > > > > https://www.amazon.co.uk/FIG-Forth-Manual-Documentation-Test-1802-ebook/dp/B01N42VLJE/ref=sr_1_19?qid=1670145231&refinements=p_27%3AJuergen+Pintaske&s=books&sr=1-19
> > > > > > > > and this got me to redo the CDP1802 book BMP802 and publish it on amazon as well
> > > > > > > > https://www.amazon.co.uk/DESIGN-IDEAS-BOOK-CDP1802-Microprocesor-ebook/dp/B09GWCVHGG/ref=sr_1_10?qid=1670145353&refinements=p_27%3AJuergen+Pintaske&s=books&sr=1-10
> > > > > > > > All for the fun of it.
> > > > > > > https://shop.trenz-electronic.de/en/Products/Trenz-Electronic/TE0890-Spartan-7/
> > > > > > > This has definite transplant potential. It uses the same XC7S25 FPGA.
> > > > > > > But:
> > > > > > > 1) I don't see an on-board USB/UART connector. But I see FTDI on the silk screen, which suggests a workaround.
> > > > > > > 2) Through-hole pin pitch is not consistently on a 0.1"x0.1" grid, and this is bad for a hobby board.
> > > > > > >
> > > > > > > The published BugsBoard design is far from holy, e.g. 3 PWM channels are dedicated to drive the on-board RGB LED for fun.
> > > > > > > I'd be delighted to hear about succesful mutations on other FPGA-based boards.
> > > > > > There are so many versions on the website, this one might fit better for you
> > > > > > https://shop.trenz-electronic.de/en/Products/Programmable-Logic/Gowin-LittleBee/
> > > > > >
> > > > > > And regarding 0.1" pitch: I have used this solution in the past:
> > > > > > male headers soldered into the board
> > > > > > female header stuck onlo them
> > > > > > short wires soldered to female header
> > > > > > the other end of the wire soldered onto male header and this stuck into the breadboard.
> > > > > > And if this is too wide for a normal breadboard - one breadboard on each side and a lot of space for extensions ...
> > > > > A quick review of the FPGA datasheet shows problems:
> > > > > 1) block RAM lacks separate read and write clocks in single-port mode
> > > > That would be called "semi-dual port" mode.
> > > > > 2) there is a maximum of 26Kx18-bits block RAM available
> > > > Every part has limitations. Why is 26 blocks of 2k x 18 BRAM a serious limitation? I'm planning to use this part in a design I'm working on.
> > > > > I do not recommend that board.
> > > > For what?
> > > >
> > > > If you look at the schematics for this board, it will show the particular FTDI chip used. That will provide a lot of information about how to use it. It has been a couple of years, but I seem to recall that chip can provide both JTAG programming, and a serial port.
> > > >
> > > > --
> > > >
> > > > Rick C.
> > > >
> > > > - Get 1,000 miles of free Supercharging
> > > > - Tesla referral code - https://ts.la/richard11209
> > > Popping the stack:
> > > 1) Q: do not recommend for what? A: a BugsBoard transplant
> > > 2) Q: RAM limitation? A: depends on how much (or little) on-chip code and data you have use for
> > > 3) semi dual port mode: I noticed that, and the block diagram does not suggest to me that ram1c.v would successfully compile.
> > Not sure what you don't like about that file. I don't have time right now to dig into it. Is ram1c.v a file in the project you are talking about, or something from Gowin?
> >
> > --
> >
> > Rick C.
> >
> > +-- Get 1,000 miles of free Supercharging
> > +-- Tesla referral code - https://ts.la/richard11209
> Please take the time to comprehend ram1c.v in the BugsBoard.zip distro. Perchance it will serve you well. BTW, I never heard about Gowin before this discussion was started.
Meanwhile, hot off the press:
1) lib/sqrt.py:
# integer square root, thanks Wil Baden aka Neil Bawd RIP


Click here to read the complete article
Re: BugsBoard: an FPGA design for the Digilent Cmod S7

<a7f76113-b961-4b1f-b523-bcf6a19f9239n@googlegroups.com>

  copy mid

https://www.rocksolidbbs.com/devel/article-flat.php?id=25685&group=comp.lang.forth#25685

  copy link   Newsgroups: comp.lang.forth
X-Received: by 2002:ac8:4d06:0:b0:3a5:95cc:70e2 with SMTP id w6-20020ac84d06000000b003a595cc70e2mr81879827qtv.293.1670385079809;
Tue, 06 Dec 2022 19:51:19 -0800 (PST)
X-Received: by 2002:ac8:590c:0:b0:3a6:8684:5415 with SMTP id
12-20020ac8590c000000b003a686845415mr31096126qty.615.1670385079495; Tue, 06
Dec 2022 19:51:19 -0800 (PST)
Path: i2pn2.org!i2pn.org!usenet.blueworldhosting.com!feed1.usenet.blueworldhosting.com!peer03.iad!feed-me.highwinds-media.com!news.highwinds-media.com!news-out.google.com!nntp.google.com!postnews.google.com!google-groups.googlegroups.com!not-for-mail
Newsgroups: comp.lang.forth
Date: Tue, 6 Dec 2022 19:51:19 -0800 (PST)
In-Reply-To: <c9f0b14c-bfb8-483e-b4f4-145007933b5dn@googlegroups.com>
Injection-Info: google-groups.googlegroups.com; posting-host=2605:ba00:4117:fb49:80a1:470:1e26:c07e;
posting-account=I-_H_woAAAA9zzro6crtEpUAyIvzd19b
NNTP-Posting-Host: 2605:ba00:4117:fb49:80a1:470:1e26:c07e
References: <97d644a8-d38f-49b0-b73e-45ae276d327fn@googlegroups.com>
<f37bb625-4a7b-417f-b331-1c75c20cadbdn@googlegroups.com> <ad6b7a42-b48a-44b2-8dee-6b250161fb72n@googlegroups.com>
<c5ab525b-df41-4a21-a734-3333f692dea3n@googlegroups.com> <d396919a-3d60-409c-ba9f-aa89a5b410dcn@googlegroups.com>
<e2f97697-6534-488d-97e7-d932a0ef1a16n@googlegroups.com> <2068cfb8-d4bd-4c35-8002-a6b807521ca4n@googlegroups.com>
<477a6440-e585-485a-87f3-ff68949f720fn@googlegroups.com> <1c22a136-2767-44fe-9c2b-40326c2e5ce1n@googlegroups.com>
<00e5889f-0afc-463a-a3f8-e10b6599ba41n@googlegroups.com> <c9f0b14c-bfb8-483e-b4f4-145007933b5dn@googlegroups.com>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <a7f76113-b961-4b1f-b523-bcf6a19f9239n@googlegroups.com>
Subject: Re: BugsBoard: an FPGA design for the Digilent Cmod S7
From: gnuarm.deletethisbit@gmail.com (Lorem Ipsum)
Injection-Date: Wed, 07 Dec 2022 03:51:19 +0000
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
X-Received-Bytes: 11970
 by: Lorem Ipsum - Wed, 7 Dec 2022 03:51 UTC

On Tuesday, December 6, 2022 at 7:47:33 AM UTC-4, Myron Plichota wrote:
> On Tuesday, December 6, 2022 at 2:43:09 AM UTC-5, gnuarm.del...@gmail.com wrote:
> > On Monday, December 5, 2022 at 10:04:47 PM UTC-5, Myron Plichota wrote:
> > > On Monday, December 5, 2022 at 12:53:15 PM UTC-5, gnuarm.del...@gmail..com wrote:
> > > > On Monday, December 5, 2022 at 3:38:14 AM UTC-5, Myron Plichota wrote:
> > > > > On Sunday, December 4, 2022 at 10:04:16 AM UTC-5, jpit...@gmail.com wrote:
> > > > > > On Sunday, 4 December 2022 at 11:59:54 UTC, Myron Plichota wrote:
> > > > > > > On Sunday, December 4, 2022 at 4:26:27 AM UTC-5, jpit...@gmail.com wrote:
> > > > > > > > On Saturday, 3 December 2022 at 16:00:41 UTC, James Brakefield wrote:
> > > > > > > > > On Saturday, December 3, 2022 at 5:32:00 AM UTC-6, jpit....@gmail.com wrote:
> > > > > > > > > > On Wednesday, 30 November 2022 at 12:55:49 UTC, Myron Plichota wrote:
> > > > > > > > > > > The hardware is defined in Verilog. The *structured* assembler is written in Python3. Apps source code plays ball with the Python3 foundation.
> > > > > > > > > > >
> > > > > > > > > > > e.g. apps/color_toy.py:
> > > > > > > > > > >
> > > > > > > > > > > include('FPGAburn/appload.py') # must be on the first line
> > > > > > > > > > >
> > > > > > > > > > > # play with LD0 color
> > > > > > > > > > >
> > > > > > > > > > > ja(fwd('init'))
> > > > > > > > > > >
> > > > > > > > > > > lbl('app_msg'); ascii('\r\npress BTN0 to reset')
> > > > > > > > > > >
> > > > > > > > > > > # color intensities
> > > > > > > > > > > lbl('red'); data([0])
> > > > > > > > > > > lbl('green'); data([0])
> > > > > > > > > > > lbl('blue'); data([0])
> > > > > > > > > > >
> > > > > > > > > > > # commands
> > > > > > > > > > >
> > > > > > > > > > > lbl('ir') # char -> # increment red
> > > > > > > > > > > drop(); lld(red); inc(); lst(red); ret()
> > > > > > > > > > >
> > > > > > > > > > > lbl('dr') # char -> # decrement red
> > > > > > > > > > > drop(); lld(red); dec(); lst(red); ret()
> > > > > > > > > > >
> > > > > > > > > > > lbl('ig') # char -> # increment green
> > > > > > > > > > > drop(); lld(green); inc(); lst(green); ret()
> > > > > > > > > > >
> > > > > > > > > > > lbl('dg') # char -> # decrement green
> > > > > > > > > > > drop(); lld(green); dec(); lst(green); ret()
> > > > > > > > > > >
> > > > > > > > > > > lbl('ib') # char -> # increment blue
> > > > > > > > > > > drop(); lld(blue); inc(); lst(blue); ret()
> > > > > > > > > > >
> > > > > > > > > > > lbl('db') # char -> # decrement blue
> > > > > > > > > > > drop(); lld(blue); dec(); lst(blue); ret()
> > > > > > > > > > >
> > > > > > > > > > > lbl('command') # -> # execute a recognized command
> > > > > > > > > > > lld(arx_rdy)
> > > > > > > > > > > _if()
> > > > > > > > > > > lld(uart); dup(); cp(tx) # -> char # echo
> > > > > > > > > > > dup(); lbxor(ord('R')); jz(ir)
> > > > > > > > > > > dup(); lbxor(ord('r')); jz(dr)
> > > > > > > > > > > dup(); lbxor(ord('G')); jz(ig)
> > > > > > > > > > > dup(); lbxor(ord('g')); jz(dg)
> > > > > > > > > > > dup(); lbxor(ord('B')); jz(ib)
> > > > > > > > > > > dup(); lbxor(ord('b')); jz(db)
> > > > > > > > > > > drop() # none of the above
> > > > > > > > > > > _then()
> > > > > > > > > > > ret()
> > > > > > > > > > >
> > > > > > > > > > > lbl('init')
> > > > > > > > > > > lit(app_msg); cp(tx_ascii)
> > > > > > > > > > > _begin()
> > > > > > > > > > > cp(command)
> > > > > > > > > > > lld(red); lst(pwm1)
> > > > > > > > > > > lld(green); lst(pwm2)
> > > > > > > > > > > lld(blue); lst(pwm3)
> > > > > > > > > > > _again()
> > > > > > > > > > >
> > > > > > > > > > > lbl('app_end') # must be on the last line
> > > > > > > > > > >
> > > > > > > > > > > BugsBoard_Primer.pdf is at https://drive.google.com/file/d/14iPt_j_lmINSs4cte3_MneA6D4UCBjZi/view?usp=sharing
> > > > > > > > > > > A link to Bugs18bis.zip is in the downloads section.
> > > > > > > > > > >
> > > > > > > > > > > Cheers - Myron Plichota
> > > > > > > > > > The number of people who own such a board is probably rather small.
> > > > > > > > > > And cost/availability might be an issue for many who want to give it a go.
> > > > > > > > > >
> > > > > > > > > > I wonder if the NANDLAND Board / Lattice based could be a target for your software.
> > > > > > > > > > This would probably cover as well the related board from Lattice.
> > > > > > > > > > https://nandland.com/the-go-board/ has a lot of related documentation to get started.
> > > > > > > > > >
> > > > > > > > > > Nandland board $65,
> > > > > > > > > > https://digilent.com/reference/programmable-logic/cmod-s7/start at $99 and not available at the moment
> > > > > > > > > FPGA board prices have gone way op over the last few years.
> > > > > > > > > If you are a FPGA beginner and a student and want to avoid using a plug board,
> > > > > > > > > the Terasic DE10-Lite and the Realdigital BooleanBoard give you the most for your money.
> > > > > > > > > If user IO (buttons, switches and 7-segment display) is not an issue, the Tang Nano 9K deserves a look.
> > > > > > > > I had been looking at these low-cost boards at Pimoroni - but out of stock as expected.
> > > > > > > > https://shop.pimoroni.com/search?q=fpga%20board
> > > > > > > > But I still own many different versions from the past including some of those from Trenz-Electronics that I could use
> > > > > > > > https://shop.trenz-electronic.de/en/Products/Trenz-Electronic/TE0890-Spartan-7/ good for breadboards
> > > > > > > > The last time I switched one on, was
> > > > > > > > to verify the CDP1802 that Steve Teal did
> > > > > > > > https://www.amazon.co.uk/FIG-Forth-Manual-Documentation-Test-1802-ebook/dp/B01N42VLJE/ref=sr_1_19?qid=1670145231&refinements=p_27%3AJuergen+Pintaske&s=books&sr=1-19
> > > > > > > > and this got me to redo the CDP1802 book BMP802 and publish it on amazon as well
> > > > > > > > https://www.amazon.co.uk/DESIGN-IDEAS-BOOK-CDP1802-Microprocesor-ebook/dp/B09GWCVHGG/ref=sr_1_10?qid=1670145353&refinements=p_27%3AJuergen+Pintaske&s=books&sr=1-10
> > > > > > > > All for the fun of it.
> > > > > > > https://shop.trenz-electronic.de/en/Products/Trenz-Electronic/TE0890-Spartan-7/
> > > > > > > This has definite transplant potential. It uses the same XC7S25 FPGA.
> > > > > > > But:
> > > > > > > 1) I don't see an on-board USB/UART connector. But I see FTDI on the silk screen, which suggests a workaround.
> > > > > > > 2) Through-hole pin pitch is not consistently on a 0.1"x0.1" grid, and this is bad for a hobby board.
> > > > > > >
> > > > > > > The published BugsBoard design is far from holy, e.g. 3 PWM channels are dedicated to drive the on-board RGB LED for fun.
> > > > > > > I'd be delighted to hear about succesful mutations on other FPGA-based boards.
> > > > > > There are so many versions on the website, this one might fit better for you
> > > > > > https://shop.trenz-electronic.de/en/Products/Programmable-Logic/Gowin-LittleBee/
> > > > > >
> > > > > > And regarding 0.1" pitch: I have used this solution in the past:
> > > > > > male headers soldered into the board
> > > > > > female header stuck onlo them
> > > > > > short wires soldered to female header
> > > > > > the other end of the wire soldered onto male header and this stuck into the breadboard.
> > > > > > And if this is too wide for a normal breadboard - one breadboard on each side and a lot of space for extensions ...
> > > > > A quick review of the FPGA datasheet shows problems:
> > > > > 1) block RAM lacks separate read and write clocks in single-port mode
> > > > That would be called "semi-dual port" mode.
> > > > > 2) there is a maximum of 26Kx18-bits block RAM available
> > > > Every part has limitations. Why is 26 blocks of 2k x 18 BRAM a serious limitation? I'm planning to use this part in a design I'm working on.
> > > > > I do not recommend that board.
> > > > For what?
> > > >
> > > > If you look at the schematics for this board, it will show the particular FTDI chip used. That will provide a lot of information about how to use it. It has been a couple of years, but I seem to recall that chip can provide both JTAG programming, and a serial port.
> > > >
> > > > --
> > > >
> > > > Rick C.
> > > >
> > > > - Get 1,000 miles of free Supercharging
> > > > - Tesla referral code - https://ts.la/richard11209
> > > Popping the stack:
> > > 1) Q: do not recommend for what? A: a BugsBoard transplant
> > > 2) Q: RAM limitation? A: depends on how much (or little) on-chip code and data you have use for
> > > 3) semi dual port mode: I noticed that, and the block diagram does not suggest to me that ram1c.v would successfully compile.
> > Not sure what you don't like about that file. I don't have time right now to dig into it. Is ram1c.v a file in the project you are talking about, or something from Gowin?
> >
> > --
> >
> > Rick C.
> >
> > +-- Get 1,000 miles of free Supercharging
> > +-- Tesla referral code - https://ts.la/richard11209
> Please take the time to comprehend ram1c.v in the BugsBoard.zip distro. Perchance it will serve you well. BTW, I never heard about Gowin before this discussion was started.


Click here to read the complete article
Re: BugsBoard: an FPGA design for the Digilent Cmod S7

<b8411641-e13d-46b7-adaf-52690a50b84dn@googlegroups.com>

  copy mid

https://www.rocksolidbbs.com/devel/article-flat.php?id=25705&group=comp.lang.forth#25705

  copy link   Newsgroups: comp.lang.forth
X-Received: by 2002:ac8:7307:0:b0:3a7:f6f9:cde5 with SMTP id x7-20020ac87307000000b003a7f6f9cde5mr1896354qto.459.1670482501091;
Wed, 07 Dec 2022 22:55:01 -0800 (PST)
X-Received: by 2002:ae9:f111:0:b0:6fc:94f7:6cf6 with SMTP id
k17-20020ae9f111000000b006fc94f76cf6mr33400769qkg.517.1670482500830; Wed, 07
Dec 2022 22:55:00 -0800 (PST)
Path: i2pn2.org!i2pn.org!usenet.blueworldhosting.com!feed1.usenet.blueworldhosting.com!peer02.iad!feed-me.highwinds-media.com!news.highwinds-media.com!news-out.google.com!nntp.google.com!postnews.google.com!google-groups.googlegroups.com!not-for-mail
Newsgroups: comp.lang.forth
Date: Wed, 7 Dec 2022 22:55:00 -0800 (PST)
In-Reply-To: <a7f76113-b961-4b1f-b523-bcf6a19f9239n@googlegroups.com>
Injection-Info: google-groups.googlegroups.com; posting-host=199.48.66.218; posting-account=zkoivgoAAABqROvHfKJPu3S9NWXITnSr
NNTP-Posting-Host: 199.48.66.218
References: <97d644a8-d38f-49b0-b73e-45ae276d327fn@googlegroups.com>
<f37bb625-4a7b-417f-b331-1c75c20cadbdn@googlegroups.com> <ad6b7a42-b48a-44b2-8dee-6b250161fb72n@googlegroups.com>
<c5ab525b-df41-4a21-a734-3333f692dea3n@googlegroups.com> <d396919a-3d60-409c-ba9f-aa89a5b410dcn@googlegroups.com>
<e2f97697-6534-488d-97e7-d932a0ef1a16n@googlegroups.com> <2068cfb8-d4bd-4c35-8002-a6b807521ca4n@googlegroups.com>
<477a6440-e585-485a-87f3-ff68949f720fn@googlegroups.com> <1c22a136-2767-44fe-9c2b-40326c2e5ce1n@googlegroups.com>
<00e5889f-0afc-463a-a3f8-e10b6599ba41n@googlegroups.com> <c9f0b14c-bfb8-483e-b4f4-145007933b5dn@googlegroups.com>
<a7f76113-b961-4b1f-b523-bcf6a19f9239n@googlegroups.com>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <b8411641-e13d-46b7-adaf-52690a50b84dn@googlegroups.com>
Subject: Re: BugsBoard: an FPGA design for the Digilent Cmod S7
From: myronplichota@gmail.com (Myron Plichota)
Injection-Date: Thu, 08 Dec 2022 06:55:01 +0000
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
X-Received-Bytes: 12446
 by: Myron Plichota - Thu, 8 Dec 2022 06:55 UTC

On Tuesday, December 6, 2022 at 10:51:21 PM UTC-5, gnuarm.del...@gmail.com wrote:
> On Tuesday, December 6, 2022 at 7:47:33 AM UTC-4, Myron Plichota wrote:
> > On Tuesday, December 6, 2022 at 2:43:09 AM UTC-5, gnuarm.del...@gmail.com wrote:
> > > On Monday, December 5, 2022 at 10:04:47 PM UTC-5, Myron Plichota wrote:
> > > > On Monday, December 5, 2022 at 12:53:15 PM UTC-5, gnuarm.del...@gmail.com wrote:
> > > > > On Monday, December 5, 2022 at 3:38:14 AM UTC-5, Myron Plichota wrote:
> > > > > > On Sunday, December 4, 2022 at 10:04:16 AM UTC-5, jpit...@gmail..com wrote:
> > > > > > > On Sunday, 4 December 2022 at 11:59:54 UTC, Myron Plichota wrote:
> > > > > > > > On Sunday, December 4, 2022 at 4:26:27 AM UTC-5, jpit...@gmail.com wrote:
> > > > > > > > > On Saturday, 3 December 2022 at 16:00:41 UTC, James Brakefield wrote:
> > > > > > > > > > On Saturday, December 3, 2022 at 5:32:00 AM UTC-6, jpit....@gmail.com wrote:
> > > > > > > > > > > On Wednesday, 30 November 2022 at 12:55:49 UTC, Myron Plichota wrote:
> > > > > > > > > > > > The hardware is defined in Verilog. The *structured* assembler is written in Python3. Apps source code plays ball with the Python3 foundation.
> > > > > > > > > > > >
> > > > > > > > > > > > e.g. apps/color_toy.py:
> > > > > > > > > > > >
> > > > > > > > > > > > include('FPGAburn/appload.py') # must be on the first line
> > > > > > > > > > > >
> > > > > > > > > > > > # play with LD0 color
> > > > > > > > > > > >
> > > > > > > > > > > > ja(fwd('init'))
> > > > > > > > > > > >
> > > > > > > > > > > > lbl('app_msg'); ascii('\r\npress BTN0 to reset')
> > > > > > > > > > > >
> > > > > > > > > > > > # color intensities
> > > > > > > > > > > > lbl('red'); data([0])
> > > > > > > > > > > > lbl('green'); data([0])
> > > > > > > > > > > > lbl('blue'); data([0])
> > > > > > > > > > > >
> > > > > > > > > > > > # commands
> > > > > > > > > > > >
> > > > > > > > > > > > lbl('ir') # char -> # increment red
> > > > > > > > > > > > drop(); lld(red); inc(); lst(red); ret()
> > > > > > > > > > > >
> > > > > > > > > > > > lbl('dr') # char -> # decrement red
> > > > > > > > > > > > drop(); lld(red); dec(); lst(red); ret()
> > > > > > > > > > > >
> > > > > > > > > > > > lbl('ig') # char -> # increment green
> > > > > > > > > > > > drop(); lld(green); inc(); lst(green); ret()
> > > > > > > > > > > >
> > > > > > > > > > > > lbl('dg') # char -> # decrement green
> > > > > > > > > > > > drop(); lld(green); dec(); lst(green); ret()
> > > > > > > > > > > >
> > > > > > > > > > > > lbl('ib') # char -> # increment blue
> > > > > > > > > > > > drop(); lld(blue); inc(); lst(blue); ret()
> > > > > > > > > > > >
> > > > > > > > > > > > lbl('db') # char -> # decrement blue
> > > > > > > > > > > > drop(); lld(blue); dec(); lst(blue); ret()
> > > > > > > > > > > >
> > > > > > > > > > > > lbl('command') # -> # execute a recognized command
> > > > > > > > > > > > lld(arx_rdy)
> > > > > > > > > > > > _if()
> > > > > > > > > > > > lld(uart); dup(); cp(tx) # -> char # echo
> > > > > > > > > > > > dup(); lbxor(ord('R')); jz(ir)
> > > > > > > > > > > > dup(); lbxor(ord('r')); jz(dr)
> > > > > > > > > > > > dup(); lbxor(ord('G')); jz(ig)
> > > > > > > > > > > > dup(); lbxor(ord('g')); jz(dg)
> > > > > > > > > > > > dup(); lbxor(ord('B')); jz(ib)
> > > > > > > > > > > > dup(); lbxor(ord('b')); jz(db)
> > > > > > > > > > > > drop() # none of the above
> > > > > > > > > > > > _then()
> > > > > > > > > > > > ret()
> > > > > > > > > > > >
> > > > > > > > > > > > lbl('init')
> > > > > > > > > > > > lit(app_msg); cp(tx_ascii)
> > > > > > > > > > > > _begin()
> > > > > > > > > > > > cp(command)
> > > > > > > > > > > > lld(red); lst(pwm1)
> > > > > > > > > > > > lld(green); lst(pwm2)
> > > > > > > > > > > > lld(blue); lst(pwm3)
> > > > > > > > > > > > _again()
> > > > > > > > > > > >
> > > > > > > > > > > > lbl('app_end') # must be on the last line
> > > > > > > > > > > >
> > > > > > > > > > > > BugsBoard_Primer.pdf is at https://drive.google.com/file/d/14iPt_j_lmINSs4cte3_MneA6D4UCBjZi/view?usp=sharing
> > > > > > > > > > > > A link to Bugs18bis.zip is in the downloads section..
> > > > > > > > > > > >
> > > > > > > > > > > > Cheers - Myron Plichota
> > > > > > > > > > > The number of people who own such a board is probably rather small.
> > > > > > > > > > > And cost/availability might be an issue for many who want to give it a go.
> > > > > > > > > > >
> > > > > > > > > > > I wonder if the NANDLAND Board / Lattice based could be a target for your software.
> > > > > > > > > > > This would probably cover as well the related board from Lattice.
> > > > > > > > > > > https://nandland.com/the-go-board/ has a lot of related documentation to get started.
> > > > > > > > > > >
> > > > > > > > > > > Nandland board $65,
> > > > > > > > > > > https://digilent.com/reference/programmable-logic/cmod-s7/start at $99 and not available at the moment
> > > > > > > > > > FPGA board prices have gone way op over the last few years.
> > > > > > > > > > If you are a FPGA beginner and a student and want to avoid using a plug board,
> > > > > > > > > > the Terasic DE10-Lite and the Realdigital BooleanBoard give you the most for your money.
> > > > > > > > > > If user IO (buttons, switches and 7-segment display) is not an issue, the Tang Nano 9K deserves a look.
> > > > > > > > > I had been looking at these low-cost boards at Pimoroni - but out of stock as expected.
> > > > > > > > > https://shop.pimoroni.com/search?q=fpga%20board
> > > > > > > > > But I still own many different versions from the past including some of those from Trenz-Electronics that I could use
> > > > > > > > > https://shop.trenz-electronic.de/en/Products/Trenz-Electronic/TE0890-Spartan-7/ good for breadboards
> > > > > > > > > The last time I switched one on, was
> > > > > > > > > to verify the CDP1802 that Steve Teal did
> > > > > > > > > https://www.amazon.co.uk/FIG-Forth-Manual-Documentation-Test-1802-ebook/dp/B01N42VLJE/ref=sr_1_19?qid=1670145231&refinements=p_27%3AJuergen+Pintaske&s=books&sr=1-19
> > > > > > > > > and this got me to redo the CDP1802 book BMP802 and publish it on amazon as well
> > > > > > > > > https://www.amazon.co.uk/DESIGN-IDEAS-BOOK-CDP1802-Microprocesor-ebook/dp/B09GWCVHGG/ref=sr_1_10?qid=1670145353&refinements=p_27%3AJuergen+Pintaske&s=books&sr=1-10
> > > > > > > > > All for the fun of it.
> > > > > > > > https://shop.trenz-electronic.de/en/Products/Trenz-Electronic/TE0890-Spartan-7/
> > > > > > > > This has definite transplant potential. It uses the same XC7S25 FPGA.
> > > > > > > > But:
> > > > > > > > 1) I don't see an on-board USB/UART connector. But I see FTDI on the silk screen, which suggests a workaround.
> > > > > > > > 2) Through-hole pin pitch is not consistently on a 0.1"x0.1" grid, and this is bad for a hobby board.
> > > > > > > >
> > > > > > > > The published BugsBoard design is far from holy, e.g. 3 PWM channels are dedicated to drive the on-board RGB LED for fun.
> > > > > > > > I'd be delighted to hear about succesful mutations on other FPGA-based boards.
> > > > > > > There are so many versions on the website, this one might fit better for you
> > > > > > > https://shop.trenz-electronic.de/en/Products/Programmable-Logic/Gowin-LittleBee/
> > > > > > >
> > > > > > > And regarding 0.1" pitch: I have used this solution in the past:
> > > > > > > male headers soldered into the board
> > > > > > > female header stuck onlo them
> > > > > > > short wires soldered to female header
> > > > > > > the other end of the wire soldered onto male header and this stuck into the breadboard.
> > > > > > > And if this is too wide for a normal breadboard - one breadboard on each side and a lot of space for extensions ...
> > > > > > A quick review of the FPGA datasheet shows problems:
> > > > > > 1) block RAM lacks separate read and write clocks in single-port mode
> > > > > That would be called "semi-dual port" mode.
> > > > > > 2) there is a maximum of 26Kx18-bits block RAM available
> > > > > Every part has limitations. Why is 26 blocks of 2k x 18 BRAM a serious limitation? I'm planning to use this part in a design I'm working on.
> > > > > > I do not recommend that board.
> > > > > For what?
> > > > >
> > > > > If you look at the schematics for this board, it will show the particular FTDI chip used. That will provide a lot of information about how to use it. It has been a couple of years, but I seem to recall that chip can provide both JTAG programming, and a serial port.
> > > > >
> > > > > --
> > > > >
> > > > > Rick C.
> > > > >
> > > > > - Get 1,000 miles of free Supercharging
> > > > > - Tesla referral code - https://ts.la/richard11209
> > > > Popping the stack:
> > > > 1) Q: do not recommend for what? A: a BugsBoard transplant
> > > > 2) Q: RAM limitation? A: depends on how much (or little) on-chip code and data you have use for
> > > > 3) semi dual port mode: I noticed that, and the block diagram does not suggest to me that ram1c.v would successfully compile.
> > > Not sure what you don't like about that file. I don't have time right now to dig into it. Is ram1c.v a file in the project you are talking about, or something from Gowin?
> > >
> > > --
> > >
> > > Rick C.
> > >
> > > +-- Get 1,000 miles of free Supercharging
> > > +-- Tesla referral code - https://ts.la/richard11209
> > Please take the time to comprehend ram1c.v in the BugsBoard.zip distro. Perchance it will serve you well. BTW, I never heard about Gowin before this discussion was started.
> I'm sure there are many things I can spend my time studying. Is there some particular lesson in this file I should be aware of?
>
> --
>
> Rick C.
>
> -- Get 1,000 miles of free Supercharging
> -- Tesla referral code - https://ts.la/richard11209
How 'bout you take a look at it and decide for yourself?


Click here to read the complete article
Re: BugsBoard: an FPGA design for the Digilent Cmod S7

<baca9a0d-3253-43e0-9080-07274f32a3b0n@googlegroups.com>

  copy mid

https://www.rocksolidbbs.com/devel/article-flat.php?id=25706&group=comp.lang.forth#25706

  copy link   Newsgroups: comp.lang.forth
X-Received: by 2002:ac8:5a06:0:b0:3a6:57f0:2de6 with SMTP id n6-20020ac85a06000000b003a657f02de6mr64871973qta.674.1670486570445;
Thu, 08 Dec 2022 00:02:50 -0800 (PST)
X-Received: by 2002:a05:6214:3a06:b0:4c7:6236:f553 with SMTP id
nw6-20020a0562143a0600b004c76236f553mr15540436qvb.48.1670486570153; Thu, 08
Dec 2022 00:02:50 -0800 (PST)
Path: i2pn2.org!i2pn.org!usenet.blueworldhosting.com!feed1.usenet.blueworldhosting.com!peer02.iad!feed-me.highwinds-media.com!news.highwinds-media.com!news-out.google.com!nntp.google.com!postnews.google.com!google-groups.googlegroups.com!not-for-mail
Newsgroups: comp.lang.forth
Date: Thu, 8 Dec 2022 00:02:49 -0800 (PST)
In-Reply-To: <b8411641-e13d-46b7-adaf-52690a50b84dn@googlegroups.com>
Injection-Info: google-groups.googlegroups.com; posting-host=2605:ba00:4117:fb49:d897:6391:2b46:ed97;
posting-account=I-_H_woAAAA9zzro6crtEpUAyIvzd19b
NNTP-Posting-Host: 2605:ba00:4117:fb49:d897:6391:2b46:ed97
References: <97d644a8-d38f-49b0-b73e-45ae276d327fn@googlegroups.com>
<f37bb625-4a7b-417f-b331-1c75c20cadbdn@googlegroups.com> <ad6b7a42-b48a-44b2-8dee-6b250161fb72n@googlegroups.com>
<c5ab525b-df41-4a21-a734-3333f692dea3n@googlegroups.com> <d396919a-3d60-409c-ba9f-aa89a5b410dcn@googlegroups.com>
<e2f97697-6534-488d-97e7-d932a0ef1a16n@googlegroups.com> <2068cfb8-d4bd-4c35-8002-a6b807521ca4n@googlegroups.com>
<477a6440-e585-485a-87f3-ff68949f720fn@googlegroups.com> <1c22a136-2767-44fe-9c2b-40326c2e5ce1n@googlegroups.com>
<00e5889f-0afc-463a-a3f8-e10b6599ba41n@googlegroups.com> <c9f0b14c-bfb8-483e-b4f4-145007933b5dn@googlegroups.com>
<a7f76113-b961-4b1f-b523-bcf6a19f9239n@googlegroups.com> <b8411641-e13d-46b7-adaf-52690a50b84dn@googlegroups.com>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <baca9a0d-3253-43e0-9080-07274f32a3b0n@googlegroups.com>
Subject: Re: BugsBoard: an FPGA design for the Digilent Cmod S7
From: gnuarm.deletethisbit@gmail.com (Lorem Ipsum)
Injection-Date: Thu, 08 Dec 2022 08:02:50 +0000
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
X-Received-Bytes: 13197
 by: Lorem Ipsum - Thu, 8 Dec 2022 08:02 UTC

On Thursday, December 8, 2022 at 2:55:02 AM UTC-4, Myron Plichota wrote:
> On Tuesday, December 6, 2022 at 10:51:21 PM UTC-5, gnuarm.del...@gmail.com wrote:
> > On Tuesday, December 6, 2022 at 7:47:33 AM UTC-4, Myron Plichota wrote:
> > > On Tuesday, December 6, 2022 at 2:43:09 AM UTC-5, gnuarm.del...@gmail..com wrote:
> > > > On Monday, December 5, 2022 at 10:04:47 PM UTC-5, Myron Plichota wrote:
> > > > > On Monday, December 5, 2022 at 12:53:15 PM UTC-5, gnuarm.del...@gmail.com wrote:
> > > > > > On Monday, December 5, 2022 at 3:38:14 AM UTC-5, Myron Plichota wrote:
> > > > > > > On Sunday, December 4, 2022 at 10:04:16 AM UTC-5, jpit...@gmail.com wrote:
> > > > > > > > On Sunday, 4 December 2022 at 11:59:54 UTC, Myron Plichota wrote:
> > > > > > > > > On Sunday, December 4, 2022 at 4:26:27 AM UTC-5, jpit...@gmail.com wrote:
> > > > > > > > > > On Saturday, 3 December 2022 at 16:00:41 UTC, James Brakefield wrote:
> > > > > > > > > > > On Saturday, December 3, 2022 at 5:32:00 AM UTC-6, jpit...@gmail.com wrote:
> > > > > > > > > > > > On Wednesday, 30 November 2022 at 12:55:49 UTC, Myron Plichota wrote:
> > > > > > > > > > > > > The hardware is defined in Verilog. The *structured* assembler is written in Python3. Apps source code plays ball with the Python3 foundation.
> > > > > > > > > > > > >
> > > > > > > > > > > > > e.g. apps/color_toy.py:
> > > > > > > > > > > > >
> > > > > > > > > > > > > include('FPGAburn/appload.py') # must be on the first line
> > > > > > > > > > > > >
> > > > > > > > > > > > > # play with LD0 color
> > > > > > > > > > > > >
> > > > > > > > > > > > > ja(fwd('init'))
> > > > > > > > > > > > >
> > > > > > > > > > > > > lbl('app_msg'); ascii('\r\npress BTN0 to reset')
> > > > > > > > > > > > >
> > > > > > > > > > > > > # color intensities
> > > > > > > > > > > > > lbl('red'); data([0])
> > > > > > > > > > > > > lbl('green'); data([0])
> > > > > > > > > > > > > lbl('blue'); data([0])
> > > > > > > > > > > > >
> > > > > > > > > > > > > # commands
> > > > > > > > > > > > >
> > > > > > > > > > > > > lbl('ir') # char -> # increment red
> > > > > > > > > > > > > drop(); lld(red); inc(); lst(red); ret()
> > > > > > > > > > > > >
> > > > > > > > > > > > > lbl('dr') # char -> # decrement red
> > > > > > > > > > > > > drop(); lld(red); dec(); lst(red); ret()
> > > > > > > > > > > > >
> > > > > > > > > > > > > lbl('ig') # char -> # increment green
> > > > > > > > > > > > > drop(); lld(green); inc(); lst(green); ret()
> > > > > > > > > > > > >
> > > > > > > > > > > > > lbl('dg') # char -> # decrement green
> > > > > > > > > > > > > drop(); lld(green); dec(); lst(green); ret()
> > > > > > > > > > > > >
> > > > > > > > > > > > > lbl('ib') # char -> # increment blue
> > > > > > > > > > > > > drop(); lld(blue); inc(); lst(blue); ret()
> > > > > > > > > > > > >
> > > > > > > > > > > > > lbl('db') # char -> # decrement blue
> > > > > > > > > > > > > drop(); lld(blue); dec(); lst(blue); ret()
> > > > > > > > > > > > >
> > > > > > > > > > > > > lbl('command') # -> # execute a recognized command
> > > > > > > > > > > > > lld(arx_rdy)
> > > > > > > > > > > > > _if()
> > > > > > > > > > > > > lld(uart); dup(); cp(tx) # -> char # echo
> > > > > > > > > > > > > dup(); lbxor(ord('R')); jz(ir)
> > > > > > > > > > > > > dup(); lbxor(ord('r')); jz(dr)
> > > > > > > > > > > > > dup(); lbxor(ord('G')); jz(ig)
> > > > > > > > > > > > > dup(); lbxor(ord('g')); jz(dg)
> > > > > > > > > > > > > dup(); lbxor(ord('B')); jz(ib)
> > > > > > > > > > > > > dup(); lbxor(ord('b')); jz(db)
> > > > > > > > > > > > > drop() # none of the above
> > > > > > > > > > > > > _then()
> > > > > > > > > > > > > ret()
> > > > > > > > > > > > >
> > > > > > > > > > > > > lbl('init')
> > > > > > > > > > > > > lit(app_msg); cp(tx_ascii)
> > > > > > > > > > > > > _begin()
> > > > > > > > > > > > > cp(command)
> > > > > > > > > > > > > lld(red); lst(pwm1)
> > > > > > > > > > > > > lld(green); lst(pwm2)
> > > > > > > > > > > > > lld(blue); lst(pwm3)
> > > > > > > > > > > > > _again()
> > > > > > > > > > > > >
> > > > > > > > > > > > > lbl('app_end') # must be on the last line
> > > > > > > > > > > > >
> > > > > > > > > > > > > BugsBoard_Primer.pdf is at https://drive.google.com/file/d/14iPt_j_lmINSs4cte3_MneA6D4UCBjZi/view?usp=sharing
> > > > > > > > > > > > > A link to Bugs18bis.zip is in the downloads section.
> > > > > > > > > > > > >
> > > > > > > > > > > > > Cheers - Myron Plichota
> > > > > > > > > > > > The number of people who own such a board is probably rather small.
> > > > > > > > > > > > And cost/availability might be an issue for many who want to give it a go.
> > > > > > > > > > > >
> > > > > > > > > > > > I wonder if the NANDLAND Board / Lattice based could be a target for your software.
> > > > > > > > > > > > This would probably cover as well the related board from Lattice.
> > > > > > > > > > > > https://nandland.com/the-go-board/ has a lot of related documentation to get started.
> > > > > > > > > > > >
> > > > > > > > > > > > Nandland board $65,
> > > > > > > > > > > > https://digilent.com/reference/programmable-logic/cmod-s7/start at $99 and not available at the moment
> > > > > > > > > > > FPGA board prices have gone way op over the last few years.
> > > > > > > > > > > If you are a FPGA beginner and a student and want to avoid using a plug board,
> > > > > > > > > > > the Terasic DE10-Lite and the Realdigital BooleanBoard give you the most for your money.
> > > > > > > > > > > If user IO (buttons, switches and 7-segment display) is not an issue, the Tang Nano 9K deserves a look.
> > > > > > > > > > I had been looking at these low-cost boards at Pimoroni - but out of stock as expected.
> > > > > > > > > > https://shop.pimoroni.com/search?q=fpga%20board
> > > > > > > > > > But I still own many different versions from the past including some of those from Trenz-Electronics that I could use
> > > > > > > > > > https://shop.trenz-electronic.de/en/Products/Trenz-Electronic/TE0890-Spartan-7/ good for breadboards
> > > > > > > > > > The last time I switched one on, was
> > > > > > > > > > to verify the CDP1802 that Steve Teal did
> > > > > > > > > > https://www.amazon.co.uk/FIG-Forth-Manual-Documentation-Test-1802-ebook/dp/B01N42VLJE/ref=sr_1_19?qid=1670145231&refinements=p_27%3AJuergen+Pintaske&s=books&sr=1-19
> > > > > > > > > > and this got me to redo the CDP1802 book BMP802 and publish it on amazon as well
> > > > > > > > > > https://www.amazon.co.uk/DESIGN-IDEAS-BOOK-CDP1802-Microprocesor-ebook/dp/B09GWCVHGG/ref=sr_1_10?qid=1670145353&refinements=p_27%3AJuergen+Pintaske&s=books&sr=1-10
> > > > > > > > > > All for the fun of it.
> > > > > > > > > https://shop.trenz-electronic.de/en/Products/Trenz-Electronic/TE0890-Spartan-7/
> > > > > > > > > This has definite transplant potential. It uses the same XC7S25 FPGA.
> > > > > > > > > But:
> > > > > > > > > 1) I don't see an on-board USB/UART connector. But I see FTDI on the silk screen, which suggests a workaround.
> > > > > > > > > 2) Through-hole pin pitch is not consistently on a 0.1"x0..1" grid, and this is bad for a hobby board.
> > > > > > > > >
> > > > > > > > > The published BugsBoard design is far from holy, e.g. 3 PWM channels are dedicated to drive the on-board RGB LED for fun.
> > > > > > > > > I'd be delighted to hear about succesful mutations on other FPGA-based boards.
> > > > > > > > There are so many versions on the website, this one might fit better for you
> > > > > > > > https://shop.trenz-electronic.de/en/Products/Programmable-Logic/Gowin-LittleBee/
> > > > > > > >
> > > > > > > > And regarding 0.1" pitch: I have used this solution in the past:
> > > > > > > > male headers soldered into the board
> > > > > > > > female header stuck onlo them
> > > > > > > > short wires soldered to female header
> > > > > > > > the other end of the wire soldered onto male header and this stuck into the breadboard.
> > > > > > > > And if this is too wide for a normal breadboard - one breadboard on each side and a lot of space for extensions ...
> > > > > > > A quick review of the FPGA datasheet shows problems:
> > > > > > > 1) block RAM lacks separate read and write clocks in single-port mode
> > > > > > That would be called "semi-dual port" mode.
> > > > > > > 2) there is a maximum of 26Kx18-bits block RAM available
> > > > > > Every part has limitations. Why is 26 blocks of 2k x 18 BRAM a serious limitation? I'm planning to use this part in a design I'm working on.
> > > > > > > I do not recommend that board.
> > > > > > For what?
> > > > > >
> > > > > > If you look at the schematics for this board, it will show the particular FTDI chip used. That will provide a lot of information about how to use it. It has been a couple of years, but I seem to recall that chip can provide both JTAG programming, and a serial port.
> > > > > >
> > > > > > --
> > > > > >
> > > > > > Rick C.
> > > > > >
> > > > > > - Get 1,000 miles of free Supercharging
> > > > > > - Tesla referral code - https://ts.la/richard11209
> > > > > Popping the stack:
> > > > > 1) Q: do not recommend for what? A: a BugsBoard transplant
> > > > > 2) Q: RAM limitation? A: depends on how much (or little) on-chip code and data you have use for
> > > > > 3) semi dual port mode: I noticed that, and the block diagram does not suggest to me that ram1c.v would successfully compile.
> > > > Not sure what you don't like about that file. I don't have time right now to dig into it. Is ram1c.v a file in the project you are talking about, or something from Gowin?
> > > >
> > > > --
> > > >
> > > > Rick C.
> > > >
> > > > +-- Get 1,000 miles of free Supercharging
> > > > +-- Tesla referral code - https://ts.la/richard11209
> > > Please take the time to comprehend ram1c.v in the BugsBoard.zip distro. Perchance it will serve you well. BTW, I never heard about Gowin before this discussion was started.
> > I'm sure there are many things I can spend my time studying. Is there some particular lesson in this file I should be aware of?
> >
> > --
> >
> > Rick C.
> >
> > -- Get 1,000 miles of free Supercharging
> > -- Tesla referral code - https://ts.la/richard11209
> How 'bout you take a look at it and decide for yourself?


Click here to read the complete article
Re: BugsBoard: an FPGA design for the Digilent Cmod S7

<732f634c-1498-4cd6-a9b3-46fd26fc2405n@googlegroups.com>

  copy mid

https://www.rocksolidbbs.com/devel/article-flat.php?id=25707&group=comp.lang.forth#25707

  copy link   Newsgroups: comp.lang.forth
X-Received: by 2002:a37:8947:0:b0:6fa:11f6:518f with SMTP id l68-20020a378947000000b006fa11f6518fmr81999329qkd.774.1670487397012;
Thu, 08 Dec 2022 00:16:37 -0800 (PST)
X-Received: by 2002:ac8:5988:0:b0:3a5:9370:ccf4 with SMTP id
e8-20020ac85988000000b003a59370ccf4mr75080987qte.376.1670487396739; Thu, 08
Dec 2022 00:16:36 -0800 (PST)
Path: i2pn2.org!i2pn.org!usenet.blueworldhosting.com!feed1.usenet.blueworldhosting.com!peer02.iad!feed-me.highwinds-media.com!news.highwinds-media.com!news-out.google.com!nntp.google.com!postnews.google.com!google-groups.googlegroups.com!not-for-mail
Newsgroups: comp.lang.forth
Date: Thu, 8 Dec 2022 00:16:36 -0800 (PST)
In-Reply-To: <baca9a0d-3253-43e0-9080-07274f32a3b0n@googlegroups.com>
Injection-Info: google-groups.googlegroups.com; posting-host=199.48.66.218; posting-account=zkoivgoAAABqROvHfKJPu3S9NWXITnSr
NNTP-Posting-Host: 199.48.66.218
References: <97d644a8-d38f-49b0-b73e-45ae276d327fn@googlegroups.com>
<f37bb625-4a7b-417f-b331-1c75c20cadbdn@googlegroups.com> <ad6b7a42-b48a-44b2-8dee-6b250161fb72n@googlegroups.com>
<c5ab525b-df41-4a21-a734-3333f692dea3n@googlegroups.com> <d396919a-3d60-409c-ba9f-aa89a5b410dcn@googlegroups.com>
<e2f97697-6534-488d-97e7-d932a0ef1a16n@googlegroups.com> <2068cfb8-d4bd-4c35-8002-a6b807521ca4n@googlegroups.com>
<477a6440-e585-485a-87f3-ff68949f720fn@googlegroups.com> <1c22a136-2767-44fe-9c2b-40326c2e5ce1n@googlegroups.com>
<00e5889f-0afc-463a-a3f8-e10b6599ba41n@googlegroups.com> <c9f0b14c-bfb8-483e-b4f4-145007933b5dn@googlegroups.com>
<a7f76113-b961-4b1f-b523-bcf6a19f9239n@googlegroups.com> <b8411641-e13d-46b7-adaf-52690a50b84dn@googlegroups.com>
<baca9a0d-3253-43e0-9080-07274f32a3b0n@googlegroups.com>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <732f634c-1498-4cd6-a9b3-46fd26fc2405n@googlegroups.com>
Subject: Re: BugsBoard: an FPGA design for the Digilent Cmod S7
From: myronplichota@gmail.com (Myron Plichota)
Injection-Date: Thu, 08 Dec 2022 08:16:37 +0000
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
X-Received-Bytes: 13763
 by: Myron Plichota - Thu, 8 Dec 2022 08:16 UTC

On Thursday, December 8, 2022 at 3:02:51 AM UTC-5, gnuarm.del...@gmail.com wrote:
> On Thursday, December 8, 2022 at 2:55:02 AM UTC-4, Myron Plichota wrote:
> > On Tuesday, December 6, 2022 at 10:51:21 PM UTC-5, gnuarm.del...@gmail.com wrote:
> > > On Tuesday, December 6, 2022 at 7:47:33 AM UTC-4, Myron Plichota wrote:
> > > > On Tuesday, December 6, 2022 at 2:43:09 AM UTC-5, gnuarm.del...@gmail.com wrote:
> > > > > On Monday, December 5, 2022 at 10:04:47 PM UTC-5, Myron Plichota wrote:
> > > > > > On Monday, December 5, 2022 at 12:53:15 PM UTC-5, gnuarm.del...@gmail.com wrote:
> > > > > > > On Monday, December 5, 2022 at 3:38:14 AM UTC-5, Myron Plichota wrote:
> > > > > > > > On Sunday, December 4, 2022 at 10:04:16 AM UTC-5, jpit...@gmail.com wrote:
> > > > > > > > > On Sunday, 4 December 2022 at 11:59:54 UTC, Myron Plichota wrote:
> > > > > > > > > > On Sunday, December 4, 2022 at 4:26:27 AM UTC-5, jpit....@gmail.com wrote:
> > > > > > > > > > > On Saturday, 3 December 2022 at 16:00:41 UTC, James Brakefield wrote:
> > > > > > > > > > > > On Saturday, December 3, 2022 at 5:32:00 AM UTC-6, jpit...@gmail.com wrote:
> > > > > > > > > > > > > On Wednesday, 30 November 2022 at 12:55:49 UTC, Myron Plichota wrote:
> > > > > > > > > > > > > > The hardware is defined in Verilog. The *structured* assembler is written in Python3. Apps source code plays ball with the Python3 foundation.
> > > > > > > > > > > > > >
> > > > > > > > > > > > > > e.g. apps/color_toy.py:
> > > > > > > > > > > > > >
> > > > > > > > > > > > > > include('FPGAburn/appload.py') # must be on the first line
> > > > > > > > > > > > > >
> > > > > > > > > > > > > > # play with LD0 color
> > > > > > > > > > > > > >
> > > > > > > > > > > > > > ja(fwd('init'))
> > > > > > > > > > > > > >
> > > > > > > > > > > > > > lbl('app_msg'); ascii('\r\npress BTN0 to reset')
> > > > > > > > > > > > > >
> > > > > > > > > > > > > > # color intensities
> > > > > > > > > > > > > > lbl('red'); data([0])
> > > > > > > > > > > > > > lbl('green'); data([0])
> > > > > > > > > > > > > > lbl('blue'); data([0])
> > > > > > > > > > > > > >
> > > > > > > > > > > > > > # commands
> > > > > > > > > > > > > >
> > > > > > > > > > > > > > lbl('ir') # char -> # increment red
> > > > > > > > > > > > > > drop(); lld(red); inc(); lst(red); ret()
> > > > > > > > > > > > > >
> > > > > > > > > > > > > > lbl('dr') # char -> # decrement red
> > > > > > > > > > > > > > drop(); lld(red); dec(); lst(red); ret()
> > > > > > > > > > > > > >
> > > > > > > > > > > > > > lbl('ig') # char -> # increment green
> > > > > > > > > > > > > > drop(); lld(green); inc(); lst(green); ret()
> > > > > > > > > > > > > >
> > > > > > > > > > > > > > lbl('dg') # char -> # decrement green
> > > > > > > > > > > > > > drop(); lld(green); dec(); lst(green); ret()
> > > > > > > > > > > > > >
> > > > > > > > > > > > > > lbl('ib') # char -> # increment blue
> > > > > > > > > > > > > > drop(); lld(blue); inc(); lst(blue); ret()
> > > > > > > > > > > > > >
> > > > > > > > > > > > > > lbl('db') # char -> # decrement blue
> > > > > > > > > > > > > > drop(); lld(blue); dec(); lst(blue); ret()
> > > > > > > > > > > > > >
> > > > > > > > > > > > > > lbl('command') # -> # execute a recognized command
> > > > > > > > > > > > > > lld(arx_rdy)
> > > > > > > > > > > > > > _if()
> > > > > > > > > > > > > > lld(uart); dup(); cp(tx) # -> char # echo
> > > > > > > > > > > > > > dup(); lbxor(ord('R')); jz(ir)
> > > > > > > > > > > > > > dup(); lbxor(ord('r')); jz(dr)
> > > > > > > > > > > > > > dup(); lbxor(ord('G')); jz(ig)
> > > > > > > > > > > > > > dup(); lbxor(ord('g')); jz(dg)
> > > > > > > > > > > > > > dup(); lbxor(ord('B')); jz(ib)
> > > > > > > > > > > > > > dup(); lbxor(ord('b')); jz(db)
> > > > > > > > > > > > > > drop() # none of the above
> > > > > > > > > > > > > > _then()
> > > > > > > > > > > > > > ret()
> > > > > > > > > > > > > >
> > > > > > > > > > > > > > lbl('init')
> > > > > > > > > > > > > > lit(app_msg); cp(tx_ascii)
> > > > > > > > > > > > > > _begin()
> > > > > > > > > > > > > > cp(command)
> > > > > > > > > > > > > > lld(red); lst(pwm1)
> > > > > > > > > > > > > > lld(green); lst(pwm2)
> > > > > > > > > > > > > > lld(blue); lst(pwm3)
> > > > > > > > > > > > > > _again()
> > > > > > > > > > > > > >
> > > > > > > > > > > > > > lbl('app_end') # must be on the last line
> > > > > > > > > > > > > >
> > > > > > > > > > > > > > BugsBoard_Primer.pdf is at https://drive.google..com/file/d/14iPt_j_lmINSs4cte3_MneA6D4UCBjZi/view?usp=sharing
> > > > > > > > > > > > > > A link to Bugs18bis.zip is in the downloads section.
> > > > > > > > > > > > > >
> > > > > > > > > > > > > > Cheers - Myron Plichota
> > > > > > > > > > > > > The number of people who own such a board is probably rather small.
> > > > > > > > > > > > > And cost/availability might be an issue for many who want to give it a go.
> > > > > > > > > > > > >
> > > > > > > > > > > > > I wonder if the NANDLAND Board / Lattice based could be a target for your software.
> > > > > > > > > > > > > This would probably cover as well the related board from Lattice.
> > > > > > > > > > > > > https://nandland.com/the-go-board/ has a lot of related documentation to get started.
> > > > > > > > > > > > >
> > > > > > > > > > > > > Nandland board $65,
> > > > > > > > > > > > > https://digilent.com/reference/programmable-logic/cmod-s7/start at $99 and not available at the moment
> > > > > > > > > > > > FPGA board prices have gone way op over the last few years.
> > > > > > > > > > > > If you are a FPGA beginner and a student and want to avoid using a plug board,
> > > > > > > > > > > > the Terasic DE10-Lite and the Realdigital BooleanBoard give you the most for your money.
> > > > > > > > > > > > If user IO (buttons, switches and 7-segment display) is not an issue, the Tang Nano 9K deserves a look.
> > > > > > > > > > > I had been looking at these low-cost boards at Pimoroni - but out of stock as expected.
> > > > > > > > > > > https://shop.pimoroni.com/search?q=fpga%20board
> > > > > > > > > > > But I still own many different versions from the past including some of those from Trenz-Electronics that I could use
> > > > > > > > > > > https://shop.trenz-electronic.de/en/Products/Trenz-Electronic/TE0890-Spartan-7/ good for breadboards
> > > > > > > > > > > The last time I switched one on, was
> > > > > > > > > > > to verify the CDP1802 that Steve Teal did
> > > > > > > > > > > https://www.amazon.co.uk/FIG-Forth-Manual-Documentation-Test-1802-ebook/dp/B01N42VLJE/ref=sr_1_19?qid=1670145231&refinements=p_27%3AJuergen+Pintaske&s=books&sr=1-19
> > > > > > > > > > > and this got me to redo the CDP1802 book BMP802 and publish it on amazon as well
> > > > > > > > > > > https://www.amazon.co.uk/DESIGN-IDEAS-BOOK-CDP1802-Microprocesor-ebook/dp/B09GWCVHGG/ref=sr_1_10?qid=1670145353&refinements=p_27%3AJuergen+Pintaske&s=books&sr=1-10
> > > > > > > > > > > All for the fun of it.
> > > > > > > > > > https://shop.trenz-electronic.de/en/Products/Trenz-Electronic/TE0890-Spartan-7/
> > > > > > > > > > This has definite transplant potential. It uses the same XC7S25 FPGA.
> > > > > > > > > > But:
> > > > > > > > > > 1) I don't see an on-board USB/UART connector. But I see FTDI on the silk screen, which suggests a workaround.
> > > > > > > > > > 2) Through-hole pin pitch is not consistently on a 0.1"x0.1" grid, and this is bad for a hobby board.
> > > > > > > > > >
> > > > > > > > > > The published BugsBoard design is far from holy, e.g. 3 PWM channels are dedicated to drive the on-board RGB LED for fun.
> > > > > > > > > > I'd be delighted to hear about succesful mutations on other FPGA-based boards.
> > > > > > > > > There are so many versions on the website, this one might fit better for you
> > > > > > > > > https://shop.trenz-electronic.de/en/Products/Programmable-Logic/Gowin-LittleBee/
> > > > > > > > >
> > > > > > > > > And regarding 0.1" pitch: I have used this solution in the past:
> > > > > > > > > male headers soldered into the board
> > > > > > > > > female header stuck onlo them
> > > > > > > > > short wires soldered to female header
> > > > > > > > > the other end of the wire soldered onto male header and this stuck into the breadboard.
> > > > > > > > > And if this is too wide for a normal breadboard - one breadboard on each side and a lot of space for extensions ...
> > > > > > > > A quick review of the FPGA datasheet shows problems:
> > > > > > > > 1) block RAM lacks separate read and write clocks in single-port mode
> > > > > > > That would be called "semi-dual port" mode.
> > > > > > > > 2) there is a maximum of 26Kx18-bits block RAM available
> > > > > > > Every part has limitations. Why is 26 blocks of 2k x 18 BRAM a serious limitation? I'm planning to use this part in a design I'm working on.
> > > > > > > > I do not recommend that board.
> > > > > > > For what?
> > > > > > >
> > > > > > > If you look at the schematics for this board, it will show the particular FTDI chip used. That will provide a lot of information about how to use it. It has been a couple of years, but I seem to recall that chip can provide both JTAG programming, and a serial port.
> > > > > > >
> > > > > > > --
> > > > > > >
> > > > > > > Rick C.
> > > > > > >
> > > > > > > - Get 1,000 miles of free Supercharging
> > > > > > > - Tesla referral code - https://ts.la/richard11209
> > > > > > Popping the stack:
> > > > > > 1) Q: do not recommend for what? A: a BugsBoard transplant
> > > > > > 2) Q: RAM limitation? A: depends on how much (or little) on-chip code and data you have use for
> > > > > > 3) semi dual port mode: I noticed that, and the block diagram does not suggest to me that ram1c.v would successfully compile.
> > > > > Not sure what you don't like about that file. I don't have time right now to dig into it. Is ram1c.v a file in the project you are talking about, or something from Gowin?
> > > > >
> > > > > --
> > > > >
> > > > > Rick C.
> > > > >
> > > > > +-- Get 1,000 miles of free Supercharging
> > > > > +-- Tesla referral code - https://ts.la/richard11209
> > > > Please take the time to comprehend ram1c.v in the BugsBoard.zip distro. Perchance it will serve you well. BTW, I never heard about Gowin before this discussion was started.
> > > I'm sure there are many things I can spend my time studying. Is there some particular lesson in this file I should be aware of?
> > >
> > > --
> > >
> > > Rick C.
> > >
> > > -- Get 1,000 miles of free Supercharging
> > > -- Tesla referral code - https://ts.la/richard11209
> > How 'bout you take a look at it and decide for yourself?
> Sure, as soon as I find time to look at a random piece of code someone has not said anything about.
>
> Thanks...
>
> --
>
> Rick C.
>
> -+ Get 1,000 miles of free Supercharging
> -+ Tesla referral code - https://ts.la/richard11209
ram1c.v is in the Verilog directory within Bugs18bis.zip. Perhaps you will be the first one to say something about it.


Click here to read the complete article
Re: BugsBoard: an FPGA design for the Digilent Cmod S7

<39c9cbed-24d0-4b4c-ae6b-403e7c799520n@googlegroups.com>

  copy mid

https://www.rocksolidbbs.com/devel/article-flat.php?id=25710&group=comp.lang.forth#25710

  copy link   Newsgroups: comp.lang.forth
X-Received: by 2002:ac8:60c3:0:b0:3a5:f9ba:8c68 with SMTP id i3-20020ac860c3000000b003a5f9ba8c68mr83312330qtm.192.1670489922021;
Thu, 08 Dec 2022 00:58:42 -0800 (PST)
X-Received: by 2002:a05:622a:1a15:b0:35b:ae82:5e33 with SMTP id
f21-20020a05622a1a1500b0035bae825e33mr85726256qtb.328.1670489921528; Thu, 08
Dec 2022 00:58:41 -0800 (PST)
Path: i2pn2.org!i2pn.org!usenet.blueworldhosting.com!feed1.usenet.blueworldhosting.com!peer02.iad!feed-me.highwinds-media.com!news.highwinds-media.com!news-out.google.com!nntp.google.com!postnews.google.com!google-groups.googlegroups.com!not-for-mail
Newsgroups: comp.lang.forth
Date: Thu, 8 Dec 2022 00:58:41 -0800 (PST)
In-Reply-To: <732f634c-1498-4cd6-a9b3-46fd26fc2405n@googlegroups.com>
Injection-Info: google-groups.googlegroups.com; posting-host=2605:ba00:4117:fb49:a843:36ba:603b:953f;
posting-account=I-_H_woAAAA9zzro6crtEpUAyIvzd19b
NNTP-Posting-Host: 2605:ba00:4117:fb49:a843:36ba:603b:953f
References: <97d644a8-d38f-49b0-b73e-45ae276d327fn@googlegroups.com>
<f37bb625-4a7b-417f-b331-1c75c20cadbdn@googlegroups.com> <ad6b7a42-b48a-44b2-8dee-6b250161fb72n@googlegroups.com>
<c5ab525b-df41-4a21-a734-3333f692dea3n@googlegroups.com> <d396919a-3d60-409c-ba9f-aa89a5b410dcn@googlegroups.com>
<e2f97697-6534-488d-97e7-d932a0ef1a16n@googlegroups.com> <2068cfb8-d4bd-4c35-8002-a6b807521ca4n@googlegroups.com>
<477a6440-e585-485a-87f3-ff68949f720fn@googlegroups.com> <1c22a136-2767-44fe-9c2b-40326c2e5ce1n@googlegroups.com>
<00e5889f-0afc-463a-a3f8-e10b6599ba41n@googlegroups.com> <c9f0b14c-bfb8-483e-b4f4-145007933b5dn@googlegroups.com>
<a7f76113-b961-4b1f-b523-bcf6a19f9239n@googlegroups.com> <b8411641-e13d-46b7-adaf-52690a50b84dn@googlegroups.com>
<baca9a0d-3253-43e0-9080-07274f32a3b0n@googlegroups.com> <732f634c-1498-4cd6-a9b3-46fd26fc2405n@googlegroups.com>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <39c9cbed-24d0-4b4c-ae6b-403e7c799520n@googlegroups.com>
Subject: Re: BugsBoard: an FPGA design for the Digilent Cmod S7
From: gnuarm.deletethisbit@gmail.com (Lorem Ipsum)
Injection-Date: Thu, 08 Dec 2022 08:58:42 +0000
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
X-Received-Bytes: 14471
 by: Lorem Ipsum - Thu, 8 Dec 2022 08:58 UTC

On Thursday, December 8, 2022 at 4:16:38 AM UTC-4, Myron Plichota wrote:
> On Thursday, December 8, 2022 at 3:02:51 AM UTC-5, gnuarm.del...@gmail.com wrote:
> > On Thursday, December 8, 2022 at 2:55:02 AM UTC-4, Myron Plichota wrote:
> > > On Tuesday, December 6, 2022 at 10:51:21 PM UTC-5, gnuarm.del...@gmail.com wrote:
> > > > On Tuesday, December 6, 2022 at 7:47:33 AM UTC-4, Myron Plichota wrote:
> > > > > On Tuesday, December 6, 2022 at 2:43:09 AM UTC-5, gnuarm.del...@gmail.com wrote:
> > > > > > On Monday, December 5, 2022 at 10:04:47 PM UTC-5, Myron Plichota wrote:
> > > > > > > On Monday, December 5, 2022 at 12:53:15 PM UTC-5, gnuarm.del....@gmail.com wrote:
> > > > > > > > On Monday, December 5, 2022 at 3:38:14 AM UTC-5, Myron Plichota wrote:
> > > > > > > > > On Sunday, December 4, 2022 at 10:04:16 AM UTC-5, jpit...@gmail.com wrote:
> > > > > > > > > > On Sunday, 4 December 2022 at 11:59:54 UTC, Myron Plichota wrote:
> > > > > > > > > > > On Sunday, December 4, 2022 at 4:26:27 AM UTC-5, jpit....@gmail.com wrote:
> > > > > > > > > > > > On Saturday, 3 December 2022 at 16:00:41 UTC, James Brakefield wrote:
> > > > > > > > > > > > > On Saturday, December 3, 2022 at 5:32:00 AM UTC-6, jpit...@gmail.com wrote:
> > > > > > > > > > > > > > On Wednesday, 30 November 2022 at 12:55:49 UTC, Myron Plichota wrote:
> > > > > > > > > > > > > > > The hardware is defined in Verilog. The *structured* assembler is written in Python3. Apps source code plays ball with the Python3 foundation.
> > > > > > > > > > > > > > >
> > > > > > > > > > > > > > > e.g. apps/color_toy.py:
> > > > > > > > > > > > > > >
> > > > > > > > > > > > > > > include('FPGAburn/appload.py') # must be on the first line
> > > > > > > > > > > > > > >
> > > > > > > > > > > > > > > # play with LD0 color
> > > > > > > > > > > > > > >
> > > > > > > > > > > > > > > ja(fwd('init'))
> > > > > > > > > > > > > > >
> > > > > > > > > > > > > > > lbl('app_msg'); ascii('\r\npress BTN0 to reset')
> > > > > > > > > > > > > > >
> > > > > > > > > > > > > > > # color intensities
> > > > > > > > > > > > > > > lbl('red'); data([0])
> > > > > > > > > > > > > > > lbl('green'); data([0])
> > > > > > > > > > > > > > > lbl('blue'); data([0])
> > > > > > > > > > > > > > >
> > > > > > > > > > > > > > > # commands
> > > > > > > > > > > > > > >
> > > > > > > > > > > > > > > lbl('ir') # char -> # increment red
> > > > > > > > > > > > > > > drop(); lld(red); inc(); lst(red); ret()
> > > > > > > > > > > > > > >
> > > > > > > > > > > > > > > lbl('dr') # char -> # decrement red
> > > > > > > > > > > > > > > drop(); lld(red); dec(); lst(red); ret()
> > > > > > > > > > > > > > >
> > > > > > > > > > > > > > > lbl('ig') # char -> # increment green
> > > > > > > > > > > > > > > drop(); lld(green); inc(); lst(green); ret()
> > > > > > > > > > > > > > >
> > > > > > > > > > > > > > > lbl('dg') # char -> # decrement green
> > > > > > > > > > > > > > > drop(); lld(green); dec(); lst(green); ret()
> > > > > > > > > > > > > > >
> > > > > > > > > > > > > > > lbl('ib') # char -> # increment blue
> > > > > > > > > > > > > > > drop(); lld(blue); inc(); lst(blue); ret()
> > > > > > > > > > > > > > >
> > > > > > > > > > > > > > > lbl('db') # char -> # decrement blue
> > > > > > > > > > > > > > > drop(); lld(blue); dec(); lst(blue); ret()
> > > > > > > > > > > > > > >
> > > > > > > > > > > > > > > lbl('command') # -> # execute a recognized command
> > > > > > > > > > > > > > > lld(arx_rdy)
> > > > > > > > > > > > > > > _if()
> > > > > > > > > > > > > > > lld(uart); dup(); cp(tx) # -> char # echo
> > > > > > > > > > > > > > > dup(); lbxor(ord('R')); jz(ir)
> > > > > > > > > > > > > > > dup(); lbxor(ord('r')); jz(dr)
> > > > > > > > > > > > > > > dup(); lbxor(ord('G')); jz(ig)
> > > > > > > > > > > > > > > dup(); lbxor(ord('g')); jz(dg)
> > > > > > > > > > > > > > > dup(); lbxor(ord('B')); jz(ib)
> > > > > > > > > > > > > > > dup(); lbxor(ord('b')); jz(db)
> > > > > > > > > > > > > > > drop() # none of the above
> > > > > > > > > > > > > > > _then()
> > > > > > > > > > > > > > > ret()
> > > > > > > > > > > > > > >
> > > > > > > > > > > > > > > lbl('init')
> > > > > > > > > > > > > > > lit(app_msg); cp(tx_ascii)
> > > > > > > > > > > > > > > _begin()
> > > > > > > > > > > > > > > cp(command)
> > > > > > > > > > > > > > > lld(red); lst(pwm1)
> > > > > > > > > > > > > > > lld(green); lst(pwm2)
> > > > > > > > > > > > > > > lld(blue); lst(pwm3)
> > > > > > > > > > > > > > > _again()
> > > > > > > > > > > > > > >
> > > > > > > > > > > > > > > lbl('app_end') # must be on the last line
> > > > > > > > > > > > > > >
> > > > > > > > > > > > > > > BugsBoard_Primer.pdf is at https://drive.google.com/file/d/14iPt_j_lmINSs4cte3_MneA6D4UCBjZi/view?usp=sharing
> > > > > > > > > > > > > > > A link to Bugs18bis.zip is in the downloads section.
> > > > > > > > > > > > > > >
> > > > > > > > > > > > > > > Cheers - Myron Plichota
> > > > > > > > > > > > > > The number of people who own such a board is probably rather small.
> > > > > > > > > > > > > > And cost/availability might be an issue for many who want to give it a go.
> > > > > > > > > > > > > >
> > > > > > > > > > > > > > I wonder if the NANDLAND Board / Lattice based could be a target for your software.
> > > > > > > > > > > > > > This would probably cover as well the related board from Lattice.
> > > > > > > > > > > > > > https://nandland.com/the-go-board/ has a lot of related documentation to get started.
> > > > > > > > > > > > > >
> > > > > > > > > > > > > > Nandland board $65,
> > > > > > > > > > > > > > https://digilent.com/reference/programmable-logic/cmod-s7/start at $99 and not available at the moment
> > > > > > > > > > > > > FPGA board prices have gone way op over the last few years.
> > > > > > > > > > > > > If you are a FPGA beginner and a student and want to avoid using a plug board,
> > > > > > > > > > > > > the Terasic DE10-Lite and the Realdigital BooleanBoard give you the most for your money.
> > > > > > > > > > > > > If user IO (buttons, switches and 7-segment display) is not an issue, the Tang Nano 9K deserves a look.
> > > > > > > > > > > > I had been looking at these low-cost boards at Pimoroni - but out of stock as expected.
> > > > > > > > > > > > https://shop.pimoroni.com/search?q=fpga%20board
> > > > > > > > > > > > But I still own many different versions from the past including some of those from Trenz-Electronics that I could use
> > > > > > > > > > > > https://shop.trenz-electronic.de/en/Products/Trenz-Electronic/TE0890-Spartan-7/ good for breadboards
> > > > > > > > > > > > The last time I switched one on, was
> > > > > > > > > > > > to verify the CDP1802 that Steve Teal did
> > > > > > > > > > > > https://www.amazon.co.uk/FIG-Forth-Manual-Documentation-Test-1802-ebook/dp/B01N42VLJE/ref=sr_1_19?qid=1670145231&refinements=p_27%3AJuergen+Pintaske&s=books&sr=1-19
> > > > > > > > > > > > and this got me to redo the CDP1802 book BMP802 and publish it on amazon as well
> > > > > > > > > > > > https://www.amazon.co.uk/DESIGN-IDEAS-BOOK-CDP1802-Microprocesor-ebook/dp/B09GWCVHGG/ref=sr_1_10?qid=1670145353&refinements=p_27%3AJuergen+Pintaske&s=books&sr=1-10
> > > > > > > > > > > > All for the fun of it.
> > > > > > > > > > > https://shop.trenz-electronic.de/en/Products/Trenz-Electronic/TE0890-Spartan-7/
> > > > > > > > > > > This has definite transplant potential. It uses the same XC7S25 FPGA.
> > > > > > > > > > > But:
> > > > > > > > > > > 1) I don't see an on-board USB/UART connector. But I see FTDI on the silk screen, which suggests a workaround.
> > > > > > > > > > > 2) Through-hole pin pitch is not consistently on a 0.1"x0.1" grid, and this is bad for a hobby board.
> > > > > > > > > > >
> > > > > > > > > > > The published BugsBoard design is far from holy, e.g. 3 PWM channels are dedicated to drive the on-board RGB LED for fun.
> > > > > > > > > > > I'd be delighted to hear about succesful mutations on other FPGA-based boards.
> > > > > > > > > > There are so many versions on the website, this one might fit better for you
> > > > > > > > > > https://shop.trenz-electronic.de/en/Products/Programmable-Logic/Gowin-LittleBee/
> > > > > > > > > >
> > > > > > > > > > And regarding 0.1" pitch: I have used this solution in the past:
> > > > > > > > > > male headers soldered into the board
> > > > > > > > > > female header stuck onlo them
> > > > > > > > > > short wires soldered to female header
> > > > > > > > > > the other end of the wire soldered onto male header and this stuck into the breadboard.
> > > > > > > > > > And if this is too wide for a normal breadboard - one breadboard on each side and a lot of space for extensions ...
> > > > > > > > > A quick review of the FPGA datasheet shows problems:
> > > > > > > > > 1) block RAM lacks separate read and write clocks in single-port mode
> > > > > > > > That would be called "semi-dual port" mode.
> > > > > > > > > 2) there is a maximum of 26Kx18-bits block RAM available
> > > > > > > > Every part has limitations. Why is 26 blocks of 2k x 18 BRAM a serious limitation? I'm planning to use this part in a design I'm working on.
> > > > > > > > > I do not recommend that board.
> > > > > > > > For what?
> > > > > > > >
> > > > > > > > If you look at the schematics for this board, it will show the particular FTDI chip used. That will provide a lot of information about how to use it. It has been a couple of years, but I seem to recall that chip can provide both JTAG programming, and a serial port.
> > > > > > > >
> > > > > > > > --
> > > > > > > >
> > > > > > > > Rick C.
> > > > > > > >
> > > > > > > > - Get 1,000 miles of free Supercharging
> > > > > > > > - Tesla referral code - https://ts.la/richard11209
> > > > > > > Popping the stack:
> > > > > > > 1) Q: do not recommend for what? A: a BugsBoard transplant
> > > > > > > 2) Q: RAM limitation? A: depends on how much (or little) on-chip code and data you have use for
> > > > > > > 3) semi dual port mode: I noticed that, and the block diagram does not suggest to me that ram1c.v would successfully compile.
> > > > > > Not sure what you don't like about that file. I don't have time right now to dig into it. Is ram1c.v a file in the project you are talking about, or something from Gowin?
> > > > > >
> > > > > > --
> > > > > >
> > > > > > Rick C.
> > > > > >
> > > > > > +-- Get 1,000 miles of free Supercharging
> > > > > > +-- Tesla referral code - https://ts.la/richard11209
> > > > > Please take the time to comprehend ram1c.v in the BugsBoard.zip distro. Perchance it will serve you well. BTW, I never heard about Gowin before this discussion was started.
> > > > I'm sure there are many things I can spend my time studying. Is there some particular lesson in this file I should be aware of?
> > > >
> > > > --
> > > >
> > > > Rick C.
> > > >
> > > > -- Get 1,000 miles of free Supercharging
> > > > -- Tesla referral code - https://ts.la/richard11209
> > > How 'bout you take a look at it and decide for yourself?
> > Sure, as soon as I find time to look at a random piece of code someone has not said anything about.
> >
> > Thanks...
> >
> > --
> >
> > Rick C.
> >
> > -+ Get 1,000 miles of free Supercharging
> > -+ Tesla referral code - https://ts.la/richard11209
> ram1c.v is in the Verilog directory within Bugs18bis.zip. Perhaps you will be the first one to say something about it.

Click here to read the complete article

Re: BugsBoard: an FPGA design for the Digilent Cmod S7

<b52a36fb-a807-4270-95b5-3b4b0129b6f2n@googlegroups.com>

  copy mid

https://www.rocksolidbbs.com/devel/article-flat.php?id=25714&group=comp.lang.forth#25714

  copy link   Newsgroups: comp.lang.forth
X-Received: by 2002:a05:622a:100b:b0:3a6:9225:7546 with SMTP id d11-20020a05622a100b00b003a692257546mr27586865qte.465.1670492218412;
Thu, 08 Dec 2022 01:36:58 -0800 (PST)
X-Received: by 2002:ac8:7301:0:b0:3a7:ea0a:b995 with SMTP id
x1-20020ac87301000000b003a7ea0ab995mr9770780qto.478.1670492218137; Thu, 08
Dec 2022 01:36:58 -0800 (PST)
Path: i2pn2.org!i2pn.org!usenet.blueworldhosting.com!feed1.usenet.blueworldhosting.com!peer02.iad!feed-me.highwinds-media.com!news.highwinds-media.com!news-out.google.com!nntp.google.com!postnews.google.com!google-groups.googlegroups.com!not-for-mail
Newsgroups: comp.lang.forth
Date: Thu, 8 Dec 2022 01:36:57 -0800 (PST)
In-Reply-To: <39c9cbed-24d0-4b4c-ae6b-403e7c799520n@googlegroups.com>
Injection-Info: google-groups.googlegroups.com; posting-host=199.48.66.218; posting-account=zkoivgoAAABqROvHfKJPu3S9NWXITnSr
NNTP-Posting-Host: 199.48.66.218
References: <97d644a8-d38f-49b0-b73e-45ae276d327fn@googlegroups.com>
<f37bb625-4a7b-417f-b331-1c75c20cadbdn@googlegroups.com> <ad6b7a42-b48a-44b2-8dee-6b250161fb72n@googlegroups.com>
<c5ab525b-df41-4a21-a734-3333f692dea3n@googlegroups.com> <d396919a-3d60-409c-ba9f-aa89a5b410dcn@googlegroups.com>
<e2f97697-6534-488d-97e7-d932a0ef1a16n@googlegroups.com> <2068cfb8-d4bd-4c35-8002-a6b807521ca4n@googlegroups.com>
<477a6440-e585-485a-87f3-ff68949f720fn@googlegroups.com> <1c22a136-2767-44fe-9c2b-40326c2e5ce1n@googlegroups.com>
<00e5889f-0afc-463a-a3f8-e10b6599ba41n@googlegroups.com> <c9f0b14c-bfb8-483e-b4f4-145007933b5dn@googlegroups.com>
<a7f76113-b961-4b1f-b523-bcf6a19f9239n@googlegroups.com> <b8411641-e13d-46b7-adaf-52690a50b84dn@googlegroups.com>
<baca9a0d-3253-43e0-9080-07274f32a3b0n@googlegroups.com> <732f634c-1498-4cd6-a9b3-46fd26fc2405n@googlegroups.com>
<39c9cbed-24d0-4b4c-ae6b-403e7c799520n@googlegroups.com>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <b52a36fb-a807-4270-95b5-3b4b0129b6f2n@googlegroups.com>
Subject: Re: BugsBoard: an FPGA design for the Digilent Cmod S7
From: myronplichota@gmail.com (Myron Plichota)
Injection-Date: Thu, 08 Dec 2022 09:36:58 +0000
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
X-Received-Bytes: 15305
 by: Myron Plichota - Thu, 8 Dec 2022 09:36 UTC

On Thursday, December 8, 2022 at 3:58:43 AM UTC-5, gnuarm.del...@gmail.com wrote:
> On Thursday, December 8, 2022 at 4:16:38 AM UTC-4, Myron Plichota wrote:
> > On Thursday, December 8, 2022 at 3:02:51 AM UTC-5, gnuarm.del...@gmail.com wrote:
> > > On Thursday, December 8, 2022 at 2:55:02 AM UTC-4, Myron Plichota wrote:
> > > > On Tuesday, December 6, 2022 at 10:51:21 PM UTC-5, gnuarm.del...@gmail.com wrote:
> > > > > On Tuesday, December 6, 2022 at 7:47:33 AM UTC-4, Myron Plichota wrote:
> > > > > > On Tuesday, December 6, 2022 at 2:43:09 AM UTC-5, gnuarm.del...@gmail.com wrote:
> > > > > > > On Monday, December 5, 2022 at 10:04:47 PM UTC-5, Myron Plichota wrote:
> > > > > > > > On Monday, December 5, 2022 at 12:53:15 PM UTC-5, gnuarm.del...@gmail.com wrote:
> > > > > > > > > On Monday, December 5, 2022 at 3:38:14 AM UTC-5, Myron Plichota wrote:
> > > > > > > > > > On Sunday, December 4, 2022 at 10:04:16 AM UTC-5, jpit....@gmail.com wrote:
> > > > > > > > > > > On Sunday, 4 December 2022 at 11:59:54 UTC, Myron Plichota wrote:
> > > > > > > > > > > > On Sunday, December 4, 2022 at 4:26:27 AM UTC-5, jpit...@gmail.com wrote:
> > > > > > > > > > > > > On Saturday, 3 December 2022 at 16:00:41 UTC, James Brakefield wrote:
> > > > > > > > > > > > > > On Saturday, December 3, 2022 at 5:32:00 AM UTC-6, jpit...@gmail.com wrote:
> > > > > > > > > > > > > > > On Wednesday, 30 November 2022 at 12:55:49 UTC, Myron Plichota wrote:
> > > > > > > > > > > > > > > > The hardware is defined in Verilog. The *structured* assembler is written in Python3. Apps source code plays ball with the Python3 foundation.
> > > > > > > > > > > > > > > >
> > > > > > > > > > > > > > > > e.g. apps/color_toy.py:
> > > > > > > > > > > > > > > >
> > > > > > > > > > > > > > > > include('FPGAburn/appload.py') # must be on the first line
> > > > > > > > > > > > > > > >
> > > > > > > > > > > > > > > > # play with LD0 color
> > > > > > > > > > > > > > > >
> > > > > > > > > > > > > > > > ja(fwd('init'))
> > > > > > > > > > > > > > > >
> > > > > > > > > > > > > > > > lbl('app_msg'); ascii('\r\npress BTN0 to reset')
> > > > > > > > > > > > > > > >
> > > > > > > > > > > > > > > > # color intensities
> > > > > > > > > > > > > > > > lbl('red'); data([0])
> > > > > > > > > > > > > > > > lbl('green'); data([0])
> > > > > > > > > > > > > > > > lbl('blue'); data([0])
> > > > > > > > > > > > > > > >
> > > > > > > > > > > > > > > > # commands
> > > > > > > > > > > > > > > >
> > > > > > > > > > > > > > > > lbl('ir') # char -> # increment red
> > > > > > > > > > > > > > > > drop(); lld(red); inc(); lst(red); ret()
> > > > > > > > > > > > > > > >
> > > > > > > > > > > > > > > > lbl('dr') # char -> # decrement red
> > > > > > > > > > > > > > > > drop(); lld(red); dec(); lst(red); ret()
> > > > > > > > > > > > > > > >
> > > > > > > > > > > > > > > > lbl('ig') # char -> # increment green
> > > > > > > > > > > > > > > > drop(); lld(green); inc(); lst(green); ret()
> > > > > > > > > > > > > > > >
> > > > > > > > > > > > > > > > lbl('dg') # char -> # decrement green
> > > > > > > > > > > > > > > > drop(); lld(green); dec(); lst(green); ret()
> > > > > > > > > > > > > > > >
> > > > > > > > > > > > > > > > lbl('ib') # char -> # increment blue
> > > > > > > > > > > > > > > > drop(); lld(blue); inc(); lst(blue); ret()
> > > > > > > > > > > > > > > >
> > > > > > > > > > > > > > > > lbl('db') # char -> # decrement blue
> > > > > > > > > > > > > > > > drop(); lld(blue); dec(); lst(blue); ret()
> > > > > > > > > > > > > > > >
> > > > > > > > > > > > > > > > lbl('command') # -> # execute a recognized command
> > > > > > > > > > > > > > > > lld(arx_rdy)
> > > > > > > > > > > > > > > > _if()
> > > > > > > > > > > > > > > > lld(uart); dup(); cp(tx) # -> char # echo
> > > > > > > > > > > > > > > > dup(); lbxor(ord('R')); jz(ir)
> > > > > > > > > > > > > > > > dup(); lbxor(ord('r')); jz(dr)
> > > > > > > > > > > > > > > > dup(); lbxor(ord('G')); jz(ig)
> > > > > > > > > > > > > > > > dup(); lbxor(ord('g')); jz(dg)
> > > > > > > > > > > > > > > > dup(); lbxor(ord('B')); jz(ib)
> > > > > > > > > > > > > > > > dup(); lbxor(ord('b')); jz(db)
> > > > > > > > > > > > > > > > drop() # none of the above
> > > > > > > > > > > > > > > > _then()
> > > > > > > > > > > > > > > > ret()
> > > > > > > > > > > > > > > >
> > > > > > > > > > > > > > > > lbl('init')
> > > > > > > > > > > > > > > > lit(app_msg); cp(tx_ascii)
> > > > > > > > > > > > > > > > _begin()
> > > > > > > > > > > > > > > > cp(command)
> > > > > > > > > > > > > > > > lld(red); lst(pwm1)
> > > > > > > > > > > > > > > > lld(green); lst(pwm2)
> > > > > > > > > > > > > > > > lld(blue); lst(pwm3)
> > > > > > > > > > > > > > > > _again()
> > > > > > > > > > > > > > > >
> > > > > > > > > > > > > > > > lbl('app_end') # must be on the last line
> > > > > > > > > > > > > > > >
> > > > > > > > > > > > > > > > BugsBoard_Primer.pdf is at https://drive.google.com/file/d/14iPt_j_lmINSs4cte3_MneA6D4UCBjZi/view?usp=sharing
> > > > > > > > > > > > > > > > A link to Bugs18bis.zip is in the downloads section.
> > > > > > > > > > > > > > > >
> > > > > > > > > > > > > > > > Cheers - Myron Plichota
> > > > > > > > > > > > > > > The number of people who own such a board is probably rather small.
> > > > > > > > > > > > > > > And cost/availability might be an issue for many who want to give it a go.
> > > > > > > > > > > > > > >
> > > > > > > > > > > > > > > I wonder if the NANDLAND Board / Lattice based could be a target for your software.
> > > > > > > > > > > > > > > This would probably cover as well the related board from Lattice.
> > > > > > > > > > > > > > > https://nandland.com/the-go-board/ has a lot of related documentation to get started.
> > > > > > > > > > > > > > >
> > > > > > > > > > > > > > > Nandland board $65,
> > > > > > > > > > > > > > > https://digilent.com/reference/programmable-logic/cmod-s7/start at $99 and not available at the moment
> > > > > > > > > > > > > > FPGA board prices have gone way op over the last few years.
> > > > > > > > > > > > > > If you are a FPGA beginner and a student and want to avoid using a plug board,
> > > > > > > > > > > > > > the Terasic DE10-Lite and the Realdigital BooleanBoard give you the most for your money.
> > > > > > > > > > > > > > If user IO (buttons, switches and 7-segment display) is not an issue, the Tang Nano 9K deserves a look.
> > > > > > > > > > > > > I had been looking at these low-cost boards at Pimoroni - but out of stock as expected.
> > > > > > > > > > > > > https://shop.pimoroni.com/search?q=fpga%20board
> > > > > > > > > > > > > But I still own many different versions from the past including some of those from Trenz-Electronics that I could use
> > > > > > > > > > > > > https://shop.trenz-electronic.de/en/Products/Trenz-Electronic/TE0890-Spartan-7/ good for breadboards
> > > > > > > > > > > > > The last time I switched one on, was
> > > > > > > > > > > > > to verify the CDP1802 that Steve Teal did
> > > > > > > > > > > > > https://www.amazon.co.uk/FIG-Forth-Manual-Documentation-Test-1802-ebook/dp/B01N42VLJE/ref=sr_1_19?qid=1670145231&refinements=p_27%3AJuergen+Pintaske&s=books&sr=1-19
> > > > > > > > > > > > > and this got me to redo the CDP1802 book BMP802 and publish it on amazon as well
> > > > > > > > > > > > > https://www.amazon.co.uk/DESIGN-IDEAS-BOOK-CDP1802-Microprocesor-ebook/dp/B09GWCVHGG/ref=sr_1_10?qid=1670145353&refinements=p_27%3AJuergen+Pintaske&s=books&sr=1-10
> > > > > > > > > > > > > All for the fun of it.
> > > > > > > > > > > > https://shop.trenz-electronic.de/en/Products/Trenz-Electronic/TE0890-Spartan-7/
> > > > > > > > > > > > This has definite transplant potential. It uses the same XC7S25 FPGA.
> > > > > > > > > > > > But:
> > > > > > > > > > > > 1) I don't see an on-board USB/UART connector. But I see FTDI on the silk screen, which suggests a workaround.
> > > > > > > > > > > > 2) Through-hole pin pitch is not consistently on a 0.1"x0.1" grid, and this is bad for a hobby board.
> > > > > > > > > > > >
> > > > > > > > > > > > The published BugsBoard design is far from holy, e.g. 3 PWM channels are dedicated to drive the on-board RGB LED for fun.
> > > > > > > > > > > > I'd be delighted to hear about succesful mutations on other FPGA-based boards.
> > > > > > > > > > > There are so many versions on the website, this one might fit better for you
> > > > > > > > > > > https://shop.trenz-electronic.de/en/Products/Programmable-Logic/Gowin-LittleBee/
> > > > > > > > > > >
> > > > > > > > > > > And regarding 0.1" pitch: I have used this solution in the past:
> > > > > > > > > > > male headers soldered into the board
> > > > > > > > > > > female header stuck onlo them
> > > > > > > > > > > short wires soldered to female header
> > > > > > > > > > > the other end of the wire soldered onto male header and this stuck into the breadboard.
> > > > > > > > > > > And if this is too wide for a normal breadboard - one breadboard on each side and a lot of space for extensions ...
> > > > > > > > > > A quick review of the FPGA datasheet shows problems:
> > > > > > > > > > 1) block RAM lacks separate read and write clocks in single-port mode
> > > > > > > > > That would be called "semi-dual port" mode.
> > > > > > > > > > 2) there is a maximum of 26Kx18-bits block RAM available
> > > > > > > > > Every part has limitations. Why is 26 blocks of 2k x 18 BRAM a serious limitation? I'm planning to use this part in a design I'm working on.
> > > > > > > > > > I do not recommend that board.
> > > > > > > > > For what?
> > > > > > > > >
> > > > > > > > > If you look at the schematics for this board, it will show the particular FTDI chip used. That will provide a lot of information about how to use it. It has been a couple of years, but I seem to recall that chip can provide both JTAG programming, and a serial port.
> > > > > > > > >
> > > > > > > > > --
> > > > > > > > >
> > > > > > > > > Rick C.
> > > > > > > > >
> > > > > > > > > - Get 1,000 miles of free Supercharging
> > > > > > > > > - Tesla referral code - https://ts.la/richard11209
> > > > > > > > Popping the stack:
> > > > > > > > 1) Q: do not recommend for what? A: a BugsBoard transplant
> > > > > > > > 2) Q: RAM limitation? A: depends on how much (or little) on-chip code and data you have use for
> > > > > > > > 3) semi dual port mode: I noticed that, and the block diagram does not suggest to me that ram1c.v would successfully compile.
> > > > > > > Not sure what you don't like about that file. I don't have time right now to dig into it. Is ram1c.v a file in the project you are talking about, or something from Gowin?
> > > > > > >
> > > > > > > --
> > > > > > >
> > > > > > > Rick C.
> > > > > > >
> > > > > > > +-- Get 1,000 miles of free Supercharging
> > > > > > > +-- Tesla referral code - https://ts.la/richard11209
> > > > > > Please take the time to comprehend ram1c.v in the BugsBoard.zip distro. Perchance it will serve you well. BTW, I never heard about Gowin before this discussion was started.
> > > > > I'm sure there are many things I can spend my time studying. Is there some particular lesson in this file I should be aware of?
> > > > >
> > > > > --
> > > > >
> > > > > Rick C.
> > > > >
> > > > > -- Get 1,000 miles of free Supercharging
> > > > > -- Tesla referral code - https://ts.la/richard11209
> > > > How 'bout you take a look at it and decide for yourself?
> > > Sure, as soon as I find time to look at a random piece of code someone has not said anything about.
> > >
> > > Thanks...
> > >
> > > --
> > >
> > > Rick C.
> > >
> > > -+ Get 1,000 miles of free Supercharging
> > > -+ Tesla referral code - https://ts.la/richard11209
> > ram1c.v is in the Verilog directory within Bugs18bis.zip. Perhaps you will be the first one to say something about it.
> So where do I find this zip file?
>
> --
>
> Rick C.
>
> +- Get 1,000 miles of free Supercharging
> +- Tesla referral code - https://ts.la/richard11209
Bugs18bis.zip is at https://drive.google.com/file/d/1cWZmDik5PlWaEd-srekTiF51chDR8b7_/view?usp=share_link
BTW this link is also in the downloads section of BugsBoard_Primer.pdf at https://drive.google.com/file/d/14iPt_j_lmINSs4cte3_MneA6D4UCBjZi/view?usp=sharing
I tried to convey this info in my kickoff post, but I'm a geek, not a salesman.


Click here to read the complete article

devel / comp.lang.forth / BugsBoard: an FPGA design for the Digilent Cmod S7

Pages:12
server_pubkey.txt

rocksolid light 0.9.81
clearnet tor