« Une très bonne nouvelle » : les autoroutes sont gratuites pour ces véhicules dès maintenant !

La mesure a été confirmée il y a quelques jours à peine.
Le deuxième film de Kaamelott contient bien une scène après la fin des crédits. Elle est très brève.
ChatGPT Atlas, le nouveau navigateur d’OpenAI basé sur Chromium tente de fusionner navigation web et intelligence artificielle.
Cet article OpenAI lance ChatGPT Atlas, un navigateur propulsé par l’IA a été publié en premier par GinjFo.
Microsoft explique pourquoi Windows installe parfois d'anciens pilotes. Les anciennes dates ne signifient pas que les pilotes sont obsolètes.
Cet article Windows Update : Microsoft explique pourquoi certains pilotes semblent « obsolètes » a été publié en premier par GinjFo.
Free Mobile propose une nouvelle méthode pour installer l’eSIM de votre forfait sur votre téléphone, sans la nécessité de scanner le QR Code comme ce fut le cas jusqu’à présent. Il y a maintenant un bouton sur l’espace client. Un moyen simple d’installer l’eSIM de Free Mobile Chez …
Aimez KultureGeek sur Facebook, et suivez-nous sur Twitter
N'oubliez pas de télécharger notre Application gratuite iAddict pour iPhone et iPad (lien App Store)
L’article Free Mobile facilite l’installation de l’eSIM sans QR Code est apparu en premier sur KultureGeek.
OpenAI dévoile ChatGPT Atlas, son navigateur Internet conçu autour de l’intelligence artificielle et de ChatGPT pour apporter l’assistance directement là où vous travaillez sur le Web. L’objectif est de transformer la navigation en un flux d’actions contextualisées, sans copier-coller ni changement d’onglet. C’est aussi un nouveau concurrent de …
Aimez KultureGeek sur Facebook, et suivez-nous sur Twitter
N'oubliez pas de télécharger notre Application gratuite iAddict pour iPhone et iPad (lien App Store)
L’article ChatGPT Atlas : OpenAI annonce son navigateur Web avec IA est apparu en premier sur KultureGeek.
Microsoft a été contraint de publier un correctif d’urgence pour Windows 11 afin de résoudre un problème critique introduit par sa dernière mise à jour mensuelle. Déployé en moins d’une semaine, ce patch restaure l’accès à l’environnement de récupération qui était devenu inutilisable avec les souris et claviers …
Aimez KultureGeek sur Facebook, et suivez-nous sur Twitter
N'oubliez pas de télécharger notre Application gratuite iAddict pour iPhone et iPad (lien App Store)
L’article Windows 11 : Microsoft déploie une mise à jour en urgence après un bug est apparu en premier sur KultureGeek.
Il y a encore une hausse de prix pour le service de streaming HBO Max, au point qu’il s’agit de la troisième en trois ans. Cela concerne pour l’instant les États-Unis, mais il faut s’attendre à ce que le changement des tarifs arrive aussi en France et dans …
Aimez KultureGeek sur Facebook, et suivez-nous sur Twitter
N'oubliez pas de télécharger notre Application gratuite iAddict pour iPhone et iPad (lien App Store)
L’article HBO Max augmente ses prix aux États-Unis (bientôt en France ?) est apparu en premier sur KultureGeek.
Abonnez-vous à Frandroid sur Google pour ne manquer aucun article !
Cocotb, le cadriciel libre de vérification matérielle en Python, vient de publier sa version majeure 2.0. Cette sortie marque une étape importante dans l’évolution de ce projet qui permet de tester des circuits numériques décrits en VHDL ou Verilog directement depuis Python, sans avoir à écrire de testbench en HDL.
Pour celles et ceux qui ne connaissent pas encore cocotb, il s’agit d’un outil qui facilite grandement la vie des personnes travaillant sur la conception de circuits intégrés. Plutôt que d’écrire des bancs de test complexes en VHDL ou Verilog, cocotb permet d’utiliser Python et son écosystème riche (NumPy, pytest, etc.) pour vérifier le comportement des circuits.
Cocotb (Coroutines-based Cosimulation Test-Bench) permet d’écrire en python des bancs de test qui vont piloter directement le simulateur HDL via différentes interfaces (VPI, VHPI, FLI). La plupart des simulateurs HDL du marché sont supportés, qu’ils soient libres ou non.
Comme l’indique le numéro de version, cocotb 2.0 introduit des changements incompatibles avec les versions précédentes. L’équipe de développement a profité de cette version majeure pour nettoyer l’API, supprimer du code obsolète et moderniser l’architecture du projet. Un guide de migration détaillé est disponible pour accompagner la transition.
La transition vers cocotb 2.0 nécessite quelques adaptations du code existant :
Suppression des coroutines à base de générateurs : La syntaxe yield
(avec le décorateur @cocotb.coroutine
) a été supprimée. Il faut désormais utiliser exclusivement la syntaxe moderne async
/await
.
Nouvelles conventions de nommage : Les variables d’environnement ont été renommées pour éviter les conflits avec les simulateurs. Par exemple, MODULE
devient COCOTB_TEST_MODULES
, TOPLEVEL
devient COCOTB_TOPLEVEL
, etc.
Changements dans les types de données : Les objets BinaryValue
ont été remplacés par LogicArray
, offrant une API plus cohérente et moderne pour manipuler les valeurs logiques.
Modifications des déclencheurs : L’objet Join
est devenu obsolète au profit d’une utilisation directe des tâches. La syntaxe await task.join()
devient simplement await task
.
La nouvelle version apporte des gains de performance significatifs, notamment grâce à l’implémentation en C++ d’un générateur d’horloge (GpiClock
). Cette optimisation réduit les échanges entre Python et l’interface GPI, permettant des simulations plus rapides, particulièrement pour les designs utilisant de nombreuses horloges.
Cocotb 2.0 élargit sa prise en charge des simulateurs commerciaux et libres :
qisqrun
utilisant le Questa Information System pour de meilleures performances--timing
est maintenant pleinement fonctionnelL’API de gestion des tâches a été modernisée pour s’aligner sur celle d’asyncio` :
# Nouvelle fonction pour démarrer une tâche
cocotb.start_soon(ma_coroutine())
# Nouveau déclencheur pour attendre la fin d’une tâche
await task.complete # au lieu de await Join(task)
# Annulation de tâches
task.cancel() # au lieu de task.kill()
# Variables locales aux tâches
task.locals.ma_variable = valeur
Cocotb 2.0 enrichit les possibilités d’interaction avec les signaux HDL :
Immediate
permet d’effectuer des assignations immédiatesset()
: Une alternative à la propriété value
avec un typage plus strictForce
, Freeze
, Release
et Deposit
pour un contrôle fin des signaux# Différents types d’assignations
dut.signal.set(42) # Assignation normale
dut.signal.set(42, Immediate()) # Assignation immédiate
dut.signal.set(42, Force()) # Forcer une valeur
dut.signal.set(Release()) # Libérer un signal forcé
Cocotb 2.0 intègre maintenant mypy
dans son processus de CI, garantissant une meilleure qualité du typage. Les utilisateurs bénéficient ainsi d’une meilleure expérience avec les IDE modernes et les vérificateurs de types.
@cocotb.parametrize
Un nouveau décorateur simplifie la création de tests paramétrés, offrant une alternative plus moderne à TestFactory
:
@cocotb.parametrize(
width=[8, 16, 32],
signed=[True, False]
)
@cocotb.test()
async def test_additionneur(dut, width, signed):
# Test avec différentes combinaisons de paramètres
pass
Le système de logging a été revu pour être moins intrusif :
COCOTB_LOG_PREFIX
pour personnaliser le préfixe des logsGPI_LOG_LEVEL
LogRecord
La version 2.0 enrichit considérablement le module cocotb.types
:
LogicArray
: Représentation des tableaux de valeurs logiques avec gestion des états X
, Z
, etc.Logic
: Valeur logique unique avec gestion des 9 états VHDLto_signed()
, to_unsigned()
, to_bytes()
, from_bytes()
pour faciliter les conversionsfrom cocotb.types import LogicArray, Range
# Création d’un tableau logique
data = LogicArray("10XZ01", Range(5, "downto", 0))
# Conversions
valeur_entier = data.to_unsigned(resolve=True)
octets = data.to_bytes()
Le flux de test Python (Python Test Runner), introduit expérimentalement en version 1.8, est maintenant mature et constitue l’alternative recommandée au système de Makefile traditionnel. Il permet une intégration plus naturelle avec pytest et simplifie la configuration des simulations.
Cocotb 2.0 introduit des files d’attente compatibles avec asyncio (Queue
, PriorityQueue
, LifoQueue
), facilitant la communication entre coroutines.
L’accès aux packages SystemVerilog est maintenant possible via cocotb.packages
, permettant d’interagir avec les définitions globales du design.
Cette version majeure représente un investissement conséquent de l’équipe de développement. Pour les utilisatrices et utilisateurs existants, la migration nécessitera quelques ajustements, mais les bénéfices en termes de maintenabilité et de performances en valent la peine.
Le projet cocotb, développé principalement par la communauté et utilisé dans l’industrie comme dans l’enseignement, continue de démontrer la pertinence de l’approche Python pour la vérification matérielle. Cette version 2.0 consolide les bases pour les évolutions futures.
Pour les personnes qui débutent avec cocotb, c’est le moment idéal pour se lancer : la documentation a été revue, les exemples mis à jour, et l’API est désormais plus cohérente.
Cette version est le fruit du travail de nombreuses personnes contributrices. Le projet est hébergé sur GitHub et accepte volontiers les contributions, qu’il s’agisse de code, de documentation ou de retours d’expérience.
Les prochaines versions devraient continuer à améliorer les performances, étendre la prise en charge des simulateurs et enrichir l’écosystème de bibliothèques de vérification. La communauté cocotb est active et accueillante, n’hésitez pas à la rejoindre !
Commentaires : voir le flux Atom ouvrir dans le navigateur