-
Notifications
You must be signed in to change notification settings - Fork 417
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Interface BSCAN2 with VexRiscv's JTAG #370
Comments
Hi Have you seen this doc ? : |
Hi
I am working on a project that I try to keep it portable between different FPGA as much as possible.
Yes, I did try the method described in the doc and it works well.
But what I try to do is to instantiate BSCAN2 outside of VexRiscv.
This way VexRiscv remains portable between different FPGA since it will just reference standard JTAG signal like TCLK,TDO,TDI,,,
Wondering if you can share information how you convert BSCAN2 to JTAG signals.
Thanks
…________________________________
From: Dolu1990 ***@***.***>
Sent: October 11, 2023 7:23 AM
To: SpinalHDL/VexRiscv ***@***.***>
Cc: ztachip ***@***.***>; Author ***@***.***>
Subject: Re: [SpinalHDL/VexRiscv] Interface BSCAN2 with VexRiscv's JTAG (Issue #370)
Hi
Have you seen this doc ? :
https://github.com/SpinalHDL/VexRiscv/tree/master/doc/nativeJtag
Which bscane2 id did you used ?
—
Reply to this email directly, view it on GitHub<#370 (comment)>, or unsubscribe<https://github.com/notifications/unsubscribe-auth/ACSDUFU2AZLYQ3DBRADGFILX6Z6TXANCNFSM6AAAAAA5ZCYLZA>.
You are receiving this because you authored the thread.Message ID: ***@***.***>
|
Ahh i would say you would have two ways, Something like : val jtag = slave(new Jtag())
val jtagClockDomain = ClockDomain(jtag.tck) on new Area
val tap = new JtagTap(jtag, 6)
val idcodeArea = tap.idcode(B(p.tapId, 32 bits))(5)
val wrapper = tap.map(debug.jtagInstruction, instructionId = 8)
}
Either you expose the native vex debug interface, which is a small memory bus, and then you provide the bridge from what ever -> to it. |
Hi
I am trying to use Xilinx BSCAN2 for JTAG debugging but I try to instantiate BSCAN2 outside of VexRiscv and just route the JTAG signals to VexRiscv (based on Briey.scala design with JTAG).
The reason is that I try to keep my project easy to port between different FPGA by isolating the portable HDL codes from the components that are specific to FPGA silicon. That's why I look for way to do JTAG over BSAN2 but without referencing VexRiscv's jtagCtrl.fromXilinxBscane2 function since I would like to keep the soft-CPU to be the portable component.
But so far openocd fails to communicate with VexRiscv this way.
Should this work or there are some logic to apply to BSAN2's signals before they can be routed to VexRiscv.
Thanks
The text was updated successfully, but these errors were encountered: