From: whygee@f-cpu.org
To: Libre-RISCV General Development <libre-riscv-dev@lists.libre-riscv.org>
Subject: [libre-riscv-dev] HTTaP and Design for Test (was Re: circuitjs)
Date: Tue, 28 Apr 2020 21:37:07 +0200
Message-ID: <281c3d28d31d7b647c219d4a4aa26d1a@f-cpu.org> (raw)
In-Reply-To: <CAPweEDw=eAbYj55NOayUVn_NzLX8v0ohvBatnQd-SVaL1RV=mQ@mail.gmail.com>
On 2020-04-28 17:35, Luke Kenneth Casson Leighton wrote:
> the actual
> server-side implementation of a JSONRPC server was done in a mere *50*
> lines of code. 25 of those lines involved exception/error handling!
> other JSONRPC servers that i've seen are thousands of lines of
> completely unnecessary code.
speaking of which : did I mention I rebooted the design of my HTTaP
server ?
http://httap.org : It's a protocol for TAP over (hidden in) HTTP.
It's currently live on http://httap.org:60075 if you want to see
(the port number may change and it's not running 24/7)
The total number of lines in C is 1203 for now and I have not yet
added much support for user-provided functions but don't laugh yet.
it's convoluted but really required !
It was initially designed about 8 years ago to run INSIDE GHDL and
control/report VHDL simulations. For example you provide your own user
"words" to control the state of input and output signals then "plug" the
commands to actual VHDL code. Then write the testbenches in JS
or whatever, co-simulate with FPGA or compare between different
models...
My recent designs include a TAP (Test Access Port) that exactly
mimics the real pins that would be provided on the outside of the
FPGA or ASIC, it could be JTAG or anything convenient. I use a
half-duplex SPI-like interface to send and receive control/status
data, inject and exfiltrate given signals from a design...
The HTTaP interface is very friendly to microcontrollers and Raspberry
Pis,
which is an obvious choice for this kind of application.
The protocol/interface looks the same to the JS GUI, just change the
backend.
Thus, the emulation, the simulation, the FPGA and the ASIC look
exactly the same. That's "design for test".
It's even a great idea to start the design (and assembly of all the
modules)
from the TAP interface itself, building from there and expanding.
This makes sure ALL circuits can be thoroughly tested and accessed,
little by little while the circuit is built, not at the last moment,
which is a great insurance of having your chips tested and running
very fast after delivery from the fab.
I hope this sparks some more ideas and boosts Libre-SOC :-)
> l.
yg
_______________________________________________
libre-riscv-dev mailing list
libre-riscv-dev@lists.libre-riscv.org
http://lists.libre-riscv.org/mailman/listinfo/libre-riscv-dev
next prev parent reply index
Thread overview: 22+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-04-23 6:49 [libre-riscv-dev] memory interface diagram woes Jacob Lifshay
2020-04-23 9:02 ` Luke Kenneth Casson Leighton
2020-04-23 10:29 ` Luke Kenneth Casson Leighton
2020-04-23 14:37 ` Luke Kenneth Casson Leighton
2020-04-26 12:27 ` Luke Kenneth Casson Leighton
2020-04-27 6:06 ` Jacob Lifshay
2020-04-27 10:07 ` Luke Kenneth Casson Leighton
2020-04-27 10:25 ` Luke Kenneth Casson Leighton
2020-04-27 12:38 ` Luke Kenneth Casson Leighton
[not found] ` <CAPweEDwtjksKH3odd0gfeBbLhVVPm=KD3auoihJq4X+-ROOg6g@mail.gmail.com>
2020-04-28 13:33 ` whygee
2020-04-28 14:26 ` Luke Kenneth Casson Leighton
2020-04-28 14:38 ` Jacob Lifshay
2020-04-28 14:43 ` Luke Kenneth Casson Leighton
2020-04-28 14:53 ` [libre-riscv-dev] circuitjs Jacob Lifshay
2020-04-28 15:03 ` Luke Kenneth Casson Leighton
2020-04-28 15:10 ` Jacob Lifshay
2020-04-28 15:35 ` Luke Kenneth Casson Leighton
2020-04-28 19:37 ` whygee [this message]
2020-04-28 19:10 ` whygee
2020-04-28 15:28 ` [libre-riscv-dev] memory interface diagram woes Luke Kenneth Casson Leighton
2020-04-28 16:30 ` Luke Kenneth Casson Leighton
2020-04-29 15:10 ` Luke Kenneth Casson Leighton
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=281c3d28d31d7b647c219d4a4aa26d1a@f-cpu.org \
--to=whygee@f-cpu.org \
--cc=libre-riscv-dev@lists.libre-riscv.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Libre RISC-V Mailing list Archives (accessible via public-inbox)
Archives are clonable: git clone --mirror https://inbox.libre-soc.org/libre-riscv-dev
Example config snippet for mirrors
AGPL code for this site: git clone https://public-inbox.org/public-inbox.git