From 98c291b3abd0b3391b04c5b7320c61384490e706 Mon Sep 17 00:00:00 2001 From: Ryan Slawson Date: Thu, 20 Feb 2025 14:01:09 +0100 Subject: [PATCH] fixup! TEST: use whoami probe to ensure that CPUs are placed correctly in JTAG chain --- .../src/Bittide/Instances/Hitl/Driver/Demo.hs | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) diff --git a/bittide-instances/src/Bittide/Instances/Hitl/Driver/Demo.hs b/bittide-instances/src/Bittide/Instances/Hitl/Driver/Demo.hs index 854355aa5..d54692332 100644 --- a/bittide-instances/src/Bittide/Instances/Hitl/Driver/Demo.hs +++ b/bittide-instances/src/Bittide/Instances/Hitl/Driver/Demo.hs @@ -17,6 +17,7 @@ import Bittide.Instances.Hitl.Utils.Vivado import Control.Monad (forM_, zipWithM) import Control.Monad.IO.Class +import Data.List.Extra (trim) import Data.Maybe (fromMaybe) import Data.String.Interpolate (i) import Project.FilePath @@ -260,8 +261,11 @@ driverFunc testName targets = do liftIO $ tryWithTimeout "Reading MU whoami over GDB" 15_000_000 $ readUntil gdb.stdoutHandle "END OF WHOAMI" - liftIO $ putStrLn [i|Output from MU whoami probe:\n#{gdbRead}|] - return ExitSuccess + let + idLine = trim . L.head . lines $ trim gdbRead + success = idLine == "(gdb) 0xe0000000:\t109 'm'\t103 'g'\t109 'm'\t116 't'" + liftIO $ putStrLn [i|Output from MU whoami probe:\n#{idLine}|] + return $ if success then ExitSuccess else ExitFailure 1 ccGdbCheck :: (HwTarget, DeviceInfo) -> ProcessStdIoHandles -> VivadoM ExitCode ccGdbCheck (_, _) gdb = do @@ -277,8 +281,11 @@ driverFunc testName targets = do liftIO $ tryWithTimeout "Reading CC whoami over GDB" 15_000_000 $ readUntil gdb.stdoutHandle "END OF WHOAMI" - liftIO $ putStrLn [i|Output from CC whoami probe:\n#{gdbRead}|] - return ExitSuccess + let + idLine = trim . L.head $ lines gdbRead + success = idLine == "(gdb) 0xe0000000:\t115 's'\t119 'w'\t99 'c'\t99 'c'" + liftIO $ putStrLn [i|Output from CC whoami probe:\n#{idLine}|] + return $ if success then ExitSuccess else ExitFailure 1 forM_ targets assertTestStart tryWithTimeout "Wait for handshakes successes from all boards" 30_000_000 awaitHandshakes