Hi.
Are there options to debug loading of the bitstream into the iCE40?
I am trying to run iCE40 target board inserted into the CW313 and attached to the CW Lite but something goes wrong with pushing the bitstream.
I use the code from the jupyter samples:
import chipwhisperer as cw
TARGET_PLATFORM = 'CW312T_ICE40'
scope = cw.scope()
if scope._is_husky:
scope.adc.samples = 80
else:
scope.adc.samples = 129
scope.adc.offset = 0
scope.adc.basic_mode = "rising_edge"
scope.trigger.triggers = "tio4"
scope.io.tio1 = "serial_rx"
scope.io.tio2 = "serial_tx"
scope.io.hs2 = "disabled"
if TARGET_PLATFORM in ['CW312T_A35', 'CW312T_ICE40']:
scope.io.hs2 = 'clkgen'
fpga_id = None # not needed
if TARGET_PLATFORM == 'CW312T_A35':
platform = 'ss2_a35'
scope.gain.db = 45 # this is a good setting for the inductive shunt; if using another, adjust as needed
else:
platform = 'ss2_ice40'
scope.gain.db = 15
else:
scope.gain.db = 25
scope.io.hs2 = "disabled"
platform = 'cw305'
if TARGET_PLATFORM == 'CW305_100t':
fpga_id = '100t'
elif TARGET_PLATFORM == 'CW305_35t':
fpga_id = '35t'
# On the CW305, setting force=False only programs the FPGA if it is currently unprogrammed, whereas force=True programs the FPGA regardless.
# This option isn't available on the CW312T_A35 or CW312T_ICE40.
target = cw.target(scope, cw.targets.CW305, force=True, fpga_id=fpga_id, platform=platform)
But the line
target = cw.target(scope, cw.targets.CW305, force=True, fpga_id=fpga_id, platform=platform)
causes fast blinking the D3 LED(green) and turned on D4 LED(red) which indicates something wrong with pushing the bitstream.
Normaly, both D3, D4 LEDâs should be turned off when bitstream is written into the iCE40.