<@U016HSAA3RQ> <@U016EM8L91B> Today I have receive...
# chipignite
d
@jeffdi @Tim Edwards Today I have received my chipignite 2206Q chips, where to find the bringup scripts and documents? Board Schematic looks to be : https://github.com/efabless/caravel_board/blob/main/hardware/caravel-dev-v5-M.2/caravel-dev-v5-M.2.pdf Is there is separate slack channel for chipignite bring-up ?
k
I found this helpful - https://github.com/efabless/caravel_board/tree/main/stanford#readme Although as a disclaimer I haven't had the chance to set it up and run yet.
d
Thanks, I am able run the first blink test
Copy code
dinesha@lenovo-i3-10100-07IMB05:~/workarea/efabless/caravel_board/stanford/blink$ make clean flash
rm -f *.elf *.hex *.bin *.vvp *.vcd
#riscv32-unknown-elf-gcc -O0 -march=rv32i -Wl,-Bstatic,-T,../sections.lds,--strip-debug -ffreestanding -nostdlib -o blink.elf ../start.s ../print_io.c blink.c
riscv64-unknown-elf-gcc -I../ -I../generated/ -O0 -mabi=ilp32 -march=rv32i -D__vexriscv__ -Wl,-Bstatic,-T,../sections.lds,--strip-debug -ffreestanding -nostdlib -o blink.elf ../crt0_vex.S ../isr.c ../stub.c blink.c
riscv64-unknown-elf-objdump -D blink.elf > blink.lst
riscv64-unknown-elf-objcopy -O verilog blink.elf blink.hex
sed -ie 's/@1000/@0000/g' blink.hex
python3 ../util/caravel_hkflash.py blink.hex
Success: Found one matching FTDI device at <ftdi://ftdi:232>h:1:29/1
 
Caravel data:
   mfg        = 0456
   product    = 11
   project ID = 00075487
 
Resetting Flash...
status = 0x00
 
JEDEC = b'ef4016'
Erasing chip...
done
status = 0x0
setting address to 0x0
addr 0x0: flash page write successful
addr 0x100: flash page write successful
addr 0x200: flash page write successful
addr 0x300: flash page write successful
addr 0x400: flash page write successful
addr 0x500: flash page write successful
addr 0x600: flash page write successful
addr 0x700: flash page write successful
addr 0x800: flash page write successful
addr 0x900: flash page write successful
addr 0xa00: flash page write successful
addr 0xb00: flash page write successful
addr 0xc00: flash page write successful
addr 0xd00: flash page write successful
addr 0xe00: flash page write successful
setting address to 0xf00
addr 0xf00: flash page write successful

total_bytes = 4096
status reg_1 = 0x0
status reg_2 = 0x2
************************************
verifying...
************************************
status reg_1 = 0x0
status reg_2 = 0x2
setting address to 0x0
addr 0x0: read compare successful
addr 0x100: read compare successful
addr 0x200: read compare successful
addr 0x300: read compare successful
addr 0x400: read compare successful
addr 0x500: read compare successful
addr 0x600: read compare successful
addr 0x700: read compare successful
addr 0x800: read compare successful
addr 0x900: read compare successful
addr 0xa00: read compare successful
addr 0xb00: read compare successful
addr 0xc00: read compare successful
addr 0xd00: read compare successful
addr 0xe00: read compare successful
setting address to 0xf00
addr 0xf00: read compare successful

total_bytes = 4096
pll_trim = b'e1'

rm blink.elf
I see LED is blinking, not sure how to decode the project ID
Copy code
mfg        = 0456
   product    = 11
   project ID = 00075487
👍 1
t
@Dinesh A: The project ID is a unique identifier and we probably have a list somewhere of which ID values match which projects. The first half of the project ID identifies the shuttle run, and the second half identifies the project. It is not particularly useful except for sorting projects, making sure we know what shuttle run a project was on when we look at it, etc. If you have issues with a chip, you can report the ID back to us and we can use that to look up the repository, figure out what software versions were being used at the time of that shuttle run tapeout, etc.
I shouldn't say "it's not particularly useful". It's not particularly useful to you as the end user if you have only one project. It's useful if you have multiple projects from different shuttle runs, and it's useful information to pass back to us if you need help when debugging.
d
👍
t
@Dinesh A: In our records, your project is listed as having the ID
2206eaec
. I can't relate that to the reported ID at all. I know that the scripts have variously reversed or shifted the bits, but
2206eaec
and
00075487
look like two completely unrelated numbers.
Okay, they are unrelated. . .
00075487
is your MPW-7 project. But I'm totally confused, since MPW-7 is only halfway through fabrication. I'm guessing that we duplicated that project on ChipIgnite and then fast-tracked it.
d
Yes, this project is duplicated in Chiplgnite
Based on my internal chip signature Register which indicate Chip Type (Riscduino Single/Dual/Quad Core) + Date of RTL Database + Version of RTL Database, indicates it MPW-6 equivalent chip.
t
@Dinesh A: The leading
0007
in the ID pegs it as an MPW-7 project, which I can confirm from our internal project database. It was copied over to ChipIgnite verbatim, so it kept the MPW ID. Jeff confirmed that was the case, so I'm no longer confused. MPW-7 itself is still only about halfway through manufacture, but ChipIgnite was fast-tracked, so you get yours early while the rest of us with MPW-7 projects have to wait.
x
@Dinesh A did you do anything special to run the blink test. After installing all the tools, I am getting a read compare FAILED error
d
@Xiaochen Ni is the error at JEDEC Id check? You can share run log. In the Box efabless team sent one verified chip - You can verify it first.
x
Issue looks to be on the read compare failed
Copy code
Caravel data:
   mfg        = 0456
   product    = 11
   project ID = 0440c9ad
 
Resetting Flash...
status = 0x20
 
JEDEC = b'ef4016'
Erasing chip...
done
status = 0x2
setting address to 0x0
addr 0x0: flash page write successful
addr 0x100: flash page write successful
addr 0x200: flash page write successful

total_bytes = 544
status reg_1 = 0x4
status reg_2 = 0x9
************************************
verifying...
************************************
status reg_1 = 0x9
status reg_2 = 0x0
setting address to 0x0
addr 0x0: *** read compare FAILED ***
b'930000009301000013020000930200001303000093030000130400009304000013050000930500001306000093060000130700009307000013080000930800001309000093090000130a0000930a0000130b0000930b0000130c0000930c0000130d0000930d0000130e0000930e0000130f0000930f0000170500001305851a970500f1938505f8170600f1130686f763dcc5008326050023a0d5001305450093854500e3c8c5fe170500f1130585f5970500f1938505f56358b5002320050013054500e34cb5feef00400b6f000000b70200281303001223906200a381020063080602130f80009373f60f93de73002380d20193ee0e012380d20193931300'
<----->
b'0000930f0000170500001305851a970500f1938505f8170600f1130686f763dcc5008326050023a0d5001305450093854500e3c8c5fe170500f1130585f5970500f1938505f56358b5002320050013054500e34cb5feef00400b6f000000b70200281303001223906200a381020063080602130f80009373f60f93de73002380d20193ee0e012380d20193931300ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff'
addr 0x100: *** read compare FAILED ***
b'93f3f30f130fffffe3120ffe2380620063800506130f000283230500930f800093def3012380d20193ee0e012380d20183ce020093fe2e0093de1e0093931300b3e3d301130fffff63180f00232075001305450083230500938fffffe3920ffc9385f5ffe39c05fa63040f002320750013030008a381620067800000130101fe232e810013040102930710002324f4feb70700219387470023a00700b70700219387870023a00700b70700219387c70023a00700b70700211307100023a0e700b707002123a00700232604fe6f0000018327c4fe938717002326f4fe0327c4feb7170000938777bbe3d4e7feb70700211307100023a0e700232604fe6f000001'
<----->
b'b0000130c0000930c0000130d0000930d0000130e0000930e0000130f0000930f0000170500001305851a970500f1938505f8170600f1130686f763dcc5008326050023a0d5001305450093854500e3c8c5fe170500f1130585f5970500f1938505f56358b5002320050013054500e34cb5feef00400b6f000000b70200281303001223906200a381020063080602130f80009373f60f93de73002380d20193ee0e012380d20193931300fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff'
addr 0x200: *** read compare FAILED ***
b'8327c4fe938717002326f4fe0327c4feb7170000938777bbe3d4e7fe6ff05ffa'
<----->
b'1400012614000026160001261600002618000126180000261a0001261a000026'

total_bytes = 544
pll_trim = b'16'
Ah Never mind I have gotten it working via the stanford blink files