TapTempo en Verilog

79
20
sept.
2020
Matériel

Le projet TapTempo semble faiblir depuis quelques mois maintenant. En panne de langage informatique pour en faire une dépêche ?

N. D. M. — TapTempo est un détecteur de tempol’utilisateur frappe une touche en cadence régulière et le programme en déduit le tempo correspondant. Il a été décliné en de multiples langages de programmation.

Laissez‑moi vous présenter un langage assez particulier puisqu’il ne sert pas à faire de la programmation. Ce langage permet de décrire le comportement numérique d’un composant électronique (on parle alors de langage de description de matériel — HDL) : le Verilog.

C’est aussi un langage utilisé pour faire de la synthèse numérique sur les circuits logiques programmables (FPGA). Dans cet exemple, nous utiliserons la carte de développement à bas coût ColorLight 5A‑75B.

Vue d’ensemble du montage TapTempo

Journal TapTempo.sql

Posté par  (site web personnel) . Licence CC By‑SA.
Étiquettes :
72
8
juil.
2023

Ce journal fait suite à la dépêche publiée mardi à propos de SQLPage. Si vous ne l'avez pas encore lu, c'est le moment !

Pour résumer: SQLPage est un petit serveur web qui permet de réaliser des applications web complètes en SQL.

Pas de bras, pas de chocolat

Il se trouve que SQL est l'un des rares langages de programmation populaires pour lequel il n'y a pas d'implémentation de TapTempo. La raison semble assez évidente: le principe de (…)

Journal Un composant électronique TapTempo avec Chisel3

Posté par  (site web personnel, Mastodon) . Licence CC By‑SA.
57
15
avr.
2018

Le «défi» TapTempo est un peu en train de faiblir je trouve. Du coup je vous propose un nouveau langage pour réaliser TapTempo : Chisel. Et pour être plus précis, la version 3 de Chisel.

Contrairement à tous les langages proposés jusqu'ici, Chisel ne permet pas de réaliser un programme qui sera exécuté par une machine réelle ou virtuelle. Chisel permet de décrire l'architecture de la machine elle-même !

C'est ce qu'on appelle un langage de description matériel ou HDL (…)

Journal TapTempo en brainfuck

Posté par  (site web personnel) . Licence CC By‑SA.
Étiquettes :
48
3
mar.
2018

TapTempo est disponible en version BrainFuck

C'est un portage partiel (faut pas pousser ;), donc :

  • Pas d'options
  • Pas de localisation
  • Pas de remise à zéro des samples
  • Que deux samples
  • N'importe quelle touche fonctionne (Pas seulement <Return>)

Mais c'est tout de même une version Brainfuck qui fait son boulot :

[-]
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++.[-]
[-]
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++.[-]
[-]
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++.[-]
[-]
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++.[-]
[-]
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++.[-]
[-]
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++.[-]
[-]
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++.[-]
[-] ++++++++++++++++++++++++++++++++.[-] [-]
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++.[-]
[-]
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++.[-]
[-]
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++.[-]
[-] ++++++++++++++++++++++++++++++++.[-] [-]
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++.[-]
[-]
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++.[-]
[-]
(…)

Google libère les ASIC avec un PDK open source en 130 nm

Posté par  (site web personnel, Mastodon) . Édité par BAud, Xavier Teyssier, Ysabeau 🧶 🧦 et Davy Defaud. Modéré par Davy Defaud. Licence CC By‑SA.
45
5
juil.
2020
Matériel

La libération des FPGA s’accélère à grands pas, il devient presque difficile de suivre toutes les nouvelles sur le sujet. Mais les FPGA ne doivent pas nous faire oublier leurs grands frères que sont les ASIC.
Un FPGA est un composant ayant un silicium déjà « gravé » mais où il est possible de reconfigurer les connexions entre les éléments logiques à volonté. Dans le cas d’un ASIC, on va cette fois graver directement les transistors sur un silicium vierge et les relier via des couches métaliques une fois pour toutes. Il ne faut surtout pas se planter à l’étape de conception car on ne pourra pas modifier les interconnexions une fois la production lancée.

Journal TapTempo en une ligne

Posté par  (site web personnel) . Licence CC By‑SA.
Étiquettes :
45
19
juil.
2019

En lisant une dépêche du moment je découvre en passant le logiciel TapTempo. En lisant la description du comportement, par réflexe je me suis dit "tiens ça doit rentrer dans une ligne un algo de ce genre".

perl -ne 'BEGIN{use Time::HiRes qw/gettimeofday/} push(@t,0+gettimeofday()); shift(@t) if @t>5; printf("%3.0f bpm",60*(@t-1)/($t[-1]-$t[0])) if @t>1'

Bon ça ne marque qu'avec la touche Entrée, pas avec n'importe quelle touche, mais ça affiche bien le BPM en moyennant les 5 dernières valeurs. Et ça (…)

Journal TapTempo sur STM32F469i-Discovery

Posté par  (site web personnel) . Licence CC By‑SA.
Étiquettes :
43
28
avr.
2018

Voici une implémentation de TapTempo sur microcontrôleur. C'est un peu le "Hello, world!" 2.0 de l'embarqué car il permet de valider plusieurs périphériques et configurations en un seul coup : l'affichage (driver LCD, librairie graphique …), un bouton (test de l'algorithme de debouncing) ou touch screen, ainsi que la bonne fréquence du processeur et du système sous-jacent (timer OS ou hardware).

La cible embarquée n'est pas un Arduino mais un coeur plus puissant : un Cortex-M4 à 180Mhz de chez (…)

Journal TapTempo en CMake

Posté par  (site web personnel) . Licence CC By‑SA.
Étiquettes :
43
24
oct.
2021

Cher journal,

voilà un certains temps qu’il n’y a pas eu de nouveau portage de TapTempo alors je propose aujourd’hui une version en CMake.

CMake n’est pas vraiment un langage de programmation, c’est plutôt un système de construction logicielle multiplateforme, dixit Wikipédia. Cependant, il intègre un langage de script qui permet de piloter la configuration logicielle. J’ai donc essayé de reproduire le comportement de TapTempo avec ce DSL.

Les prérequis pour un portage de TapTempo sont :

  1. (…)

Journal panpantempo

Posté par  (site web personnel) . Licence CC By‑SA.
43
9
mar.
2018

Ah Nal,

En voyant l'enthousiasme autour de TapTapTempo et notamment la version js, j'ai eu l'idée d'en faire une version pour adultes: panpantempo.

Au lieu de mesurer le tempo de l'appui sur le clavier ou du clic de souris, panpantempo utilise le micro de la webcam pour détecter le tempo d'une fessée!

Pour le tester, tu peux ouvrir la page http://play.bci.im/panpantempo/ avec ton brouteur préféré, autoriser l'accès au microphone et demander un coup de main à ton·a conjoint·e !

Journal taptempo.awk : une approche plus unix ?

Posté par  . Licence CC By‑SA.
Étiquettes :
43
5
mar.
2018

Salut !

Ce journal s'inscrit dans la série des journaux traitant de portages de taptempo.

Pour bien commencer la semaine, je voulais proposer une alternative à taptempo sous forme de filtre. Ma version d'un compteur de tempo se base sur l'outil xev et ne possède aucune option. Il est plus rapide de modifier directement le script que d'en modifier.

Pour moi c'est l'occasion de présenter awk, un langage de script relativement peu connu/utilisé alors qu'il est très intéressant. Il (…)

Journal Java : presque 9 000 requêtes par seconde avec 8 Mo de RAM

Posté par  (site web personnel, Mastodon) .
Étiquettes :
41
13
juin
2022

Sur les sites qui le permettent (et donc pas ici), mon avatar est l’avatar aléatoire disponible à cette adresse : https://avatar.spacefox.fr/avatar_renard.php (le proxy-téléchargeur de linuxfr.org m’interdisant de vous le montrer directement).

L’implémentation actuelle est faite avec trois lignes de PHP, ce qui m’ennuie un peu parce que c’est le seul outil qui a encore besoin de PHP sur mon serveur. Je me suis donc demandé : est-ce que je pourrais réimplémenter ça en Java ? Après tout, la partie dynamique (…)

Journal Taptempo en COBOL

Posté par  . Licence CC By‑SA.
Étiquettes :
40
21
mar.
2018

Après tous les exemples réalisés dans une multitude de langages, en voila en COBOL.
J'ai utilisé GnuCOBOL, car j'ai pas de z/OS ou d'AS400 sous la main. Et j'ai pu utilisé la libc pour le gettimeofday. De plus GnuCOBOL ajoute quelque spécificités, en particulier sur le verbe ACCEPT.

       ******************************************************************
      * author/copyright goernil
      * date: 20/03/2018
* this program is free software. it comes without any warranty, to
*
(…)

Journal Un tap tempo en ligne de commande

Posté par  (site web personnel) . Licence CC By‑SA.
Étiquettes :
39
19
fév.
2018

Bonjour à tous,

j'aimerai vous présenter mon dernier petit projet : TapTempo.

C'est un détecteur de tempo en ligne de commande. L'utilisateur frappe une touche en cadence régulière et le programme en déduit le tempo correspondant. Il est affiché en nombre de battements équivalent par minute (ou BPM en anglais).

La plupart des logiciels audio-numériques ainsi que beaucoup de d'instruments électroniques ont cette fonctionnalité, mais ça me rebutait de lancer un gros logiciel ou de me déplacer vers mon (…)

Portage de TapTempo en VHDL

Posté par  (site web personnel, Mastodon) . Édité par Christophe ---, palm123, Claude SIMON, Ysabeau 🧶 🧦, Pierre Jarillon, tisaac, BAud et Nils Ratusznik. Modéré par Ysabeau 🧶 🧦. Licence CC By‑SA.
Étiquettes :
39
17
déc.
2020
Matériel

Ayant préparé tout le matériel pour faire du TapTempo en Verilog, il était trop tentant de réaliser la même chose en VHDL. L’occasion de se plonger dans ce langage de description matériel concurrent du Verilog.
L’occasion également de parler des avancées de GHDL, un simulateur libre du VHDL, et désormais également capable de faire la synthèse en conjonction avec Yosys.

Pour comprendre TapTempo dans la culture moulesque de LinuxFr.org, il est conseillé d’aller faire un petit tour sur la page wiki homonyme.

Forum général.cherche-logiciel Logiciel pour calculer le nombre de frappe par minute.

Posté par  (site web personnel) . Licence CC By‑SA.
Étiquettes :
36
9
mar.
2018

Ça fait quelque temps que je cherche un simple logiciel qui calculerais le tempo. On pourrait taper sur une touche (espace par exemple) à intervalle plus ou moins régulier et le logiciel afficherais le nombre de moyen battement par minute.
Cette fonctionnalité existe dans beaucoup de logiciels audio-numériques, mais j'aimerais un truc léger en ligne de commande.

Si possible écrit dans un langage simple et pas trop ésotérique, genre C.

Merci d'avance.