From 874d8807ef33a0ed7c54cd408cb2262d6f8301a5 Mon Sep 17 00:00:00 2001 From: Obijuan Date: Thu, 25 Apr 2024 08:38:17 +0200 Subject: [PATCH] Preparation for release v0.5.0 --- README.md | 199 ++++++--- locale/translation.js | 965 ++++++++++++++++++++++++++++++++---------- 2 files changed, 890 insertions(+), 274 deletions(-) diff --git a/README.md b/README.md index 00a7e23..15db50d 100644 --- a/README.md +++ b/README.md @@ -1,111 +1,151 @@ + + # Stdio Collection -[![Icestudio](https://img.shields.io/badge/collection-icestudio-blue.svg)](https://github.com/FPGAwars/icestudio) -![Version](https://img.shields.io/badge/version-v0.4.0-orange.svg) +[![Icestudio][icestudio-image]][icestudio-url] +![Version][version-image] + + +Blocks for Standad Input-Output in different devices -Blocks for Standad Input-Output in different devices. -![](wiki/icestudio-stdio-logo.png) +## License + +Licensed under [GPL-2.0](https://opensource.org/licenses/GPL-2.0). ## Install -* Download the collection: [stable](https://github.com/FPGAwars/Collection-stdio/archive/v0.4.0.zip) or [development](https://github.com/FPGAwars/Collection-stdio/archive/master.zip) +For installing and using this colection in Icestudio follow these steps: + +* Download the collection: [stable](https://github.com/FPGAwars/Collection-stdio/archive/refs/tags/v0.5.0.zip) or [development](https://github.com/FPGAwars/Collection-stdio/archive/refs/heads/master.zip) * Install the collection: *Tools > Collections > Add* -* Load the collection: *Select > Collection* +* Select the collection: *Select > Collection* + ## Blocks -* *Bus* +* **Bus** * stdin-stdout-adaptor-2 * stdin-stdout-adaptor - * *stdin* + * **stdin** * stdin-enable * stdin-joiner * stdin-mixer * stdin-spliter - * *stdout* + * **stdout** * adder-data-tic * joiner-2-data-tic * next-in * next-out * spliter-2-data-tic -* *Debug* +* **Debug** * Hterm-toggle * Print-str + * PrintLn-Bin16 * PrintLn-Char + * PrintLn-Hex8-sysclk * PrintLn-OK + * PrintLn-Uint8-sysclk * PrintLn-base-4 * PrintLn-bit * hterm-bit-stdout * hterm-bit + * hterm-bitx2-stdout * hterm-bitx2 * virtual-toggle-button - * *Memory* - * *02-bits* + * **Memory** + * **02-bits** * Print-ram-2x1-bit -* *Device* +* **Device** + * Bufferx1 * Serial-rx - * Serial-tx * stdin-bin-keyboardX4 * stdin-serial + * stdout-LEDs-8-rst * stdout-LEDs-8 + * stdout-serial-buffer + * stdout-serial-sysclk * stdout-serial -* *Others* - * *Filters* +* **Others** + * **Filters** * Printable-nl-del - * *Getc* + * **Getc** * Getc-bit * Getc-char * Getc-printable-char - * *InputLn* + * **InputLn** * inputln-2xchars-echo * inputln-bit-echo * inputln-bitx2-echo * inputln-char-echo - * *Input_* + * **Input_** * input-bit-echo * input-bit * input-printable-char-echo * input-printable-char - * *Print* - * Print-base4-bin - * Print-str-02 - * Print-str-04 - * Print-str-08 - * Print-str-128 - * Print-str-16 - * Print-str-256 - * Print-str-32 - * Print-str-64 - * *asc* - * Print-asc-02 - * Print-asc-04 - * Print-asc-08 - * Print-asc-128 - * Print-asc-16 - * Print-asc-256 - * Print-asc-32 - * Print-asc-64 - * *PrintLn* + * **Print** + * **Print-bin** + * Print-base4-bin + * Print-bin-03-bits + * Print-bin-04-bits + * Print-bin-08-bits + * Print-bin-16-bits + * **Print-hex** + * Print-hex-12bits + * Print-hex-16bits + * Print-hex-32bits + * Print-hex-8bits + * **Print-int** + * Print-int12 + * Print-int16 + * Print-int4 + * Print-int8 + * **Print-strl-delay** + * Print-delay-str-0064 + * **Print-uint** + * Print-uint12 + * Print-uint16 + * Print-uint4 + * Print-uint8 + * **asc** + * Print-asc-0002 + * Print-asc-0004 + * Print-asc-0008 + * Print-asc-0016 + * Print-asc-0032 + * Print-asc-0064 + * Print-asc-0128 + * Print-asc-0256 + * **print-str** + * Print-str-0002 + * Print-str-0004 + * Print-str-0008 + * Print-str-0016 + * Print-str-0032 + * Print-str-0064 + * Print-str-0128 + * Print-str-0256 + * **PrintLn** * PrintLn-BitVar * PrintLn-OK * PrintLn-base-4 * PrintLn-bit * PrintLn-char - * *Putc* + * **Putc** * putc-base4 * putc-bit * putc-char-const * putc-char - * *Regs* + * putc-hex + * **Regs** * 08-bits-shift-right-load-rst - * *Syntax* + * **Syntax** * Syntax-ELSE * Syntax-EOL * Syntax-bit * Syntax-char ## Examples -* *Debug* +* **Debug** * 2x1-bits-memory-test * Base4-counter * Hello-world @@ -119,7 +159,7 @@ Blocks for Standad Input-Output in different devices. * hterm-bitx2-test-1-LEDs * ok-button * virtual-toggle-button-test -* *General* +* **General** * 01-print-matrix * 02-Button-state-ANSI * 03-cowsay-bin @@ -131,7 +171,8 @@ Blocks for Standad Input-Output in different devices. * 09-Hcalc-stack * 10-Hcalc-two-elements-stack * 11-Hcalc-2bits-acumulator -* *Getc* + * 12-Ansi-bouncing-ball +* **Getc** * getc-bit-01 * getc-bit-02 * getc-bit-03 @@ -139,12 +180,12 @@ Blocks for Standad Input-Output in different devices. * getc-char-02 * getc-char-03 * getc-pritnable-char-01 -* *InputLn* +* **InputLn** * inputln-bit-test-01-led-on-off * inputln-bitx2-test-01-LEDs * inputln-char-test-01-LEDs * inputln-charx2-cmd-echo -* *Input_* +* **Input_** * Input-bit-01 * Input-bit-02 * Input-bit-03 @@ -152,19 +193,47 @@ Blocks for Standad Input-Output in different devices. * Input-bit-05 * input-printable-char-01 * input-printable-char-echo-01 -* *Input_echo* +* **Input_echo** * 01-input-bit-button * 02-input-bit-hterm-01 * 03-input-bit-hterm-02 -* *Print* +* **Multi-board** + * **Alhambra-II** + * Hello-world + * **Blackice-I** + * Hello-world + * **Icestick** + * Hello-world + * **Lattice-Breakout-board** + * Hello-world + * **Nandland-Go-Board** + * Hello-world + * **TinyFPGA-BX** + * Hello-world + * **iCEBreaker** + * Hello-world +* **Print** * Print-01-two-buttons * Print-02-two-buttons-ASCII-art * Print-03-menu * Print-04-str-two-buttons * Print-base4-bin-01-counter * Print-base4-bin-02-two-buttons - * *Test* - * *asc* + * Print-hex-01-Button-counter + * Print-hex-12-01-Button-table + * Print-hex-16-01-Button-table + * Print-uint12-test-01 + * Print-uint16-test-01 + * Print-uint4-01-button-counter + * Print-uint4-02-count + * Print-uint8-test-01 + * print-int4-test-01 + * **Print-int** + * print-int12-test-01 + * print-int16-test-01 + * print-int8-test-01 + * **Test** + * **asc** * Test-print-asc-02 * Test-print-asc-04 * Test-print-asc-08 @@ -173,7 +242,7 @@ Blocks for Standad Input-Output in different devices. * Test-print-asc-256 * Test-print-asc-32 * Test-print-asc-64 - * *str* + * **str** * Test-print-str-02 * Test-print-str-04 * Test-print-str-08 @@ -182,15 +251,15 @@ Blocks for Standad Input-Output in different devices. * Test-print-str-256 * Test-print-str-32 * Test-print-str-64 -* *PrintLn* +* **PrintLn** * PrintLn-BitVar-01 * PrintLn-base4-01-counter * PrintLn-bit-01-button * Println-ok-01-button -* *Putc* - * *Putc-Base-4* +* **Putc** + * **Putc-Base-4** * putc-base4-01 - * *Putc-bit* + * **Putc-bit** * putc-bit-01 * putc-bit-02 * putc-bit-03-button-changed @@ -198,7 +267,7 @@ Blocks for Standad Input-Output in different devices. * putc-bit-05-two-buttons2 * putc-bit-06-AND-test * putc-bit-07-AND-test2 - * *Putc-char* + * **Putc-char** * putc-char-01 * putc-char-02 * putc-char-03 @@ -207,20 +276,26 @@ Blocks for Standad Input-Output in different devices. * putc-char-06 * putc-char-07 * putc-char-08 -* *Syntax* + * **Putc-hex** + * 01-putc-hex-test1 +* **Syntax** * Syntax-char-toggle-led -* *stdin-stdout* +* **stdin-stdout** * stdout-LEDx8-test-01 * stdout-LEDx8-test-02 * stdout-LEDx8-test-03 * stdout-LEDx8-test-04 * stdout-LEDx8-test-05 - ## Authors * [Juan González-Gómez (Obijuan)](https://github.com/Obijuan) -## License -Licensed under [GPL-2.0](https://opensource.org/licenses/GPL-2.0). +------- + + + +[icestudio-image]: https://img.shields.io/badge/collection-icestudio-blue.svg +[icestudio-url]: https://github.com/FPGAwars/icestudio +[version-image]: https://img.shields.io/badge/version-v0.4.0-orange.svg diff --git a/locale/translation.js b/locale/translation.js index a25f940..1411749 100644 --- a/locale/translation.js +++ b/locale/translation.js @@ -28,9 +28,9 @@ gettext('## STDIN stream enable'); gettext('stdin-joiner'); gettext('stdin-mixer'); gettext('STDIN mixer. Combine two stdin buses into one'); -gettext('Biestable de datos (Tipo D). Cuando se recibe un tic por load se captura el dato'); -gettext('9 bits, 2-1 Multiplexor'); -gettext('Biestable con entradas de Set y Reset síncronas, para poner y quitar notaficaciones de eventos'); +gettext('RS-FF-set-verilog. RS Flip-flop with priority set. Implementation in verilog'); +gettext('System - D Flip-flop. Capture data every system clock cycle. Verilog implementation'); +gettext('2-to-1 Multplexer (9-bit channels). Verilog implementation'); gettext('**STDIN BUS 0**'); gettext('**STDIN BUS 1**'); gettext('Default input bus'); @@ -38,6 +38,12 @@ gettext('Active stdin channel'); gettext('By default, the channel 0 is selected \nDepending on the tic received, one \nchannel or another is selected'); gettext('The tics are delayed one cycle \nThe fist cycle is used for selecting the \noutput channel, the next cycle cotaints the \nactual tic'); gettext('## STDIN-Auto-Selector\n\nIt combines automatically two input STDIN buses \nWhenever a data is received on one of the buses, \nit is outputed into one single STDIN bus'); +gettext('Parameter: Initial value'); +gettext('System clock'); +gettext('Input data'); +gettext('Output'); +gettext('# D Flip-Flop (system)\n\nIt stores the input data that arrives at cycle n \nIts output is shown in the cycle n+1'); +gettext('Not connected'); gettext('stdin-spliter'); gettext('adder-data-tic'); gettext('joiner-2-data-tic'); @@ -49,85 +55,91 @@ gettext('spliter-2-data-tic'); gettext('stdout bus splitter into data and tic signals'); gettext('Memory'); gettext('Hterm-toggle'); -gettext('Receptor serie asíncrono. Velocidad por defecto: 115200 baudios'); -gettext('Serial transmiter for the stdout bus'); -gettext('Transmisor serie'); -gettext('Emitir un tic inicial al arrancar, y nunca más. Se esperan 32 tics antes de emitir el tic de inicialización'); gettext('Un bit constante a 0'); -gettext('Detector de flanco de subida. Emite un tic cuando detecta un flanco ascendente'); -gettext('Separador de bus de 6-bits en 1 bit y bus de 5 bits'); -gettext('Contador del sistema, ascendente, de 6 bits, con enable '); -gettext('Print a constant string of 7 or less characters'); +gettext('Puerta OR de 3 entradas'); +gettext('Puerta OR'); +gettext('start: Start signal: It goes from 1 to 0 when the system clock starts. 1 cycle pulse witch. Block implementation'); +gettext('Constant bit 0'); +gettext('Lectura de caracteres de entrada a traves de entrada serie'); +gettext('Receptor serie asíncrono. Velocidad por defecto: 115200 baudios'); +gettext('Print a constant string of 63 or less characters'); gettext('Comparador de un operando de 8 bits. Se compara si el operando es igual al parámetro'); -gettext('10 bits, 2-1 Multiplexor'); gettext('Un bit constante a 1'); -gettext('8-bytes memory, initilized with a string'); -gettext('Máquina de contar, de 3 bits, con stop'); -gettext('Biestable de almacenamiento del estado de la máquina'); -gettext('Detector de flancos de subida y bajada. Emite tic por las salidas correspondientes al detecta los flancos'); gettext('Puerta NOT'); -gettext('Puerta OR'); -gettext('Registro de 3 bits con entrada de reset'); +gettext('8bits constant value: 0'); +gettext('Generic: 8-bits generic constant (0-255)'); +gettext('Máquina de contar, de 6 bits, con entrada de stop'); +gettext('6-bits adder. One operand is a constant (no carry)'); +gettext('two operand 6-bits comparator'); +gettext('Valor genérico constante (menos 1), de 6 bits. Su valor se introduce como parámetro. Por defecto vale 0'); +gettext('Biestable de almacenamiento del estado de la máquina'); +gettext('Rising-edge detector. It generates a 1-period pulse (tic) when a rising edge is detected on the input. Block implementation'); +gettext('NOT gate (Verilog implementation)'); +gettext('Two bits input And gate'); +gettext('Falling-edge detector. It generates a 1-period pulse (tic) when a falling edge is detected on the input'); +gettext('06-Reg-rst: 6 bits Register with reset. Verilog implementation'); +gettext('64-bytes memory, initilized with a string'); +gettext('2-to-1 Multplexer (10-bit channels). Verilog implementation'); +gettext('Print a constant string of 7 or less characters'); +gettext('Máquina de contar, de 3 bits, con stop'); gettext('Comparador de dos operandos de 3 bits'); gettext('Valor genérico constante (menos 1), de 3 bits. Su valor se introduce como parámetro. Por defecto vale 0'); gettext('Sumador de un operando de 3 bits con una constante pasada como parámetro (No hay accarreo)'); -gettext('char syntax block'); -gettext('Demultiplexor de 1 bit, de 1 a 2'); -gettext('Biestable de cambio (Tipo T). Cuando se recibe un tic cambia de estado'); -gettext('Print a bit plus a new line'); -gettext('Código ASCII del carácter LF'); -gettext('Valor genérico constante, de 8 bits. Su valor se introduce como parámetro. Por defecto vale 0'); -gettext(' Transmit one bit as a character. STDOUT-bus'); -gettext('Multiplexor de 2 a 1 de 8 bits'); -gettext('Transmit one character to the STDOUT bus'); -gettext('Transmit one constant character to the STDOUT bus'); -gettext('Print a constant string of 31 or less characters'); -gettext('32-bytes memory, initilized with a string'); -gettext('Máquina de contar, de 5 bits, con entrada de stop'); -gettext('Registro de 5 bits'); -gettext('5-bits adder. One operand is a constant (no carry)'); -gettext('two operand 5-bits comparator'); -gettext('Valor genérico constante (menos 1), de 5 bits. Su valor se introduce como parámetro. Por defecto vale 0'); -gettext('Detect if the command is valid'); -gettext('Puerta OR de 3 entradas'); +gettext('03-Reg-rst: 3 bits Register with reset. Verilog implementation'); +gettext('8-bytes memory, initilized with a string'); gettext('Input 2 chars in edit mode'); -gettext('4Bytes buffer with dump'); -gettext('4 bytes memory'); +gettext('Comparador de igualdad, de un operando de 2 bits'); +gettext('Filter of printable chars, in addition to enter and del'); +gettext('8 bits greather or equal comparator'); +gettext('8 bits less or equal than comparator'); +gettext('Valor genérico constante, de 9 bits. Su valor se introduce como parámetro. Por defecto vale 0'); +gettext('2bits-Greather or equal than comparator'); +gettext('Print a constant string of 3 or less characters'); gettext('Máquina de contar, de 2 bits (cuenta hasta 4 ciclos)'); -gettext('Registro de 2 bits con reset'); gettext('Sumador de un operando de 2 bits con una constante pasada como parámetro (No hay accarreo)'); gettext('Comparador de dos operandos de 2 bits'); gettext('Valor genérico constante (menos 1), de 2 bits. Su valor se introduce como parámetro. Por defecto vale 0'); +gettext('02-Reg-rst: 2 bits Register with reset. Verilog implementation'); +gettext('4-bytes memory, initilized with a string'); +gettext('4Bytes buffer with dump'); gettext('Multiplexor de 2 a 1'); -gettext('Multiplexor de 2 a 1 de 2 bits'); gettext('2bits up-down counter with limits. Reset'); gettext('Comparador menor que, de un operando de 2 bits'); gettext('2bits-Greather than comparator'); gettext('Codificador de 2 a 1. La salida zero se activa cuando ninguna entrada está activada'); -gettext('Comparador de igualdad, de un operando de 2 bits'); -gettext('Print a constant string of 3 or less characters'); -gettext('4-bytes memory, initilized with a string'); +gettext('2-to-1 Multplexer (2-bit channels). Verilog implementation'); +gettext('4 Bytes Synchronous memory'); +gettext('2-to-1 Multplexer (8-bit channels). Verilog implementation'); +gettext('8bits ASCII new line'); gettext('Máquina de contar, de 1 bit, con entrada de Stop'); -gettext('Biestable de cambio (Tipo T) con reset. Cuando se recibe un tic cambia de estado'); -gettext('Filter of printable chars, in addition to enter and del'); -gettext('8 bits greather or equal comparator'); -gettext('8 bits less or equal than comparator'); -gettext('Valor genérico constante, de 9 bits. Su valor se introduce como parámetro. Por defecto vale 0'); -gettext('2bits-Greather or equal than comparator'); +gettext('Demultiplexor de 1 bit, de 1 a 2'); +gettext('TFF-rst-verilog: TFF with toggle input and reset: It toogles on every system cycle if the input is active. Verilog implementation'); +gettext('Transmit one character to the STDOUT bus'); +gettext('Print a bit plus a new line'); +gettext(' Transmit one bit as a character. STDOUT-bus'); +gettext('Valor genérico constante, de 8 bits. Su valor se introduce como parámetro. Por defecto vale 0'); +gettext('Print a constant string of 31 or less characters'); +gettext('32-bytes memory, initilized with a string'); +gettext('Máquina de contar, de 5 bits, con entrada de stop'); +gettext('5-bits adder. One operand is a constant (no carry)'); +gettext('two operand 5-bits comparator'); +gettext('Valor genérico constante (menos 1), de 5 bits. Su valor se introduce como parámetro. Por defecto vale 0'); +gettext('05-Reg-rst: 5 bits Register with reset. Verilog implementation'); gettext('Print a constant string of 127 or less characters'); -gettext('128-bytes memory, initilized with a string'); gettext('Máquina de contar, de 7 bits, con entrada de stop'); -gettext('Registro de 7 bits con reset'); gettext('7-bits adder. One operand is a constant (no carry)'); gettext('two operand 7-bits comparator'); gettext('Valor genérico constante (menos 1), de 7 bits. Su valor se introduce como parámetro. Por defecto vale 0'); -gettext('Print a constant string of 63 or less characters'); -gettext('64-bytes memory, initilized with a string'); -gettext('Máquina de contar, de 6 bits, con entrada de stop'); -gettext('Registro de 6 bits con reset'); -gettext('6-bits adder. One operand is a constant (no carry)'); -gettext('two operand 6-bits comparator'); -gettext('Valor genérico constante (menos 1), de 6 bits. Su valor se introduce como parámetro. Por defecto vale 0'); +gettext('07-Reg-rst: 7 bits Register with reset. Verilog implementation'); +gettext('128-bytes memory, initilized with a string'); +gettext('Serial transmiter for the stdout bus, with sysclk parameter'); +gettext('Serial transmitter with system clock freq parameter'); +gettext('char syntax block'); +gettext('Detect if the command is valid'); +gettext('RS-FF-set. RS Flip-flop with priority set. Block implementation'); +gettext('Constant bit 1'); +gettext('2-to-1 Multplexer (1-bit channels). Verilog implementation'); +gettext('TFF-verilog. System TFF with toggle input: It toogles on every system cycle if the input is active. Verilog implementation'); gettext('**Init**'); gettext('Print the prompt'); gettext('**STDIN BUS**'); @@ -147,10 +159,11 @@ gettext('Print the LED \nstate'); gettext('Previous command \nis finished!'); gettext('Reset the \ncommand detectors'); gettext('After the enter is pressed \nthe dump is started'); +gettext('Initial value: 1'); +gettext('Initial value: 0'); +gettext('Falling edge'); gettext('## STDIN serial\n\nSerial receiver for the STDIN bus\n'); gettext('**STDIN Bus** \n* Data received (8 bits) \n* tic (1 bit)'); -gettext('## STDOUT serial\n\nSerial transmitter for the STDOUT bus\n'); -gettext('**STDOUT Bus** \n* Data to transmit (8 bits) \n* tic (1 bit)\n* data sent (done tic, 1 bit)'); gettext('## PRINT: Transmit one character (STDOUT bus)\n\nWhen **idle**, the STDOUT bus crosses the component without modification \n\nWhen the machine starts, the first chars outputed and the state is changed to busy \nWhen the transmitter is done (tic received in next) the machine is turned off'); gettext('Start tic: The transmision of \nthe bytes is started'); gettext('Transmit the next \ncharacter from the string'); @@ -185,60 +198,24 @@ gettext('Ciclo nuevo: \nincrementar la cuenta'); gettext('El tic de start se saca \npor exec para que se ejecute \nel primer ciclo'); gettext('Si la máquina está \napagada, las señales \nde ejecución no pueden \nsalir!'); gettext('Retrasar la señal un ciclo \nmientras que se detecta si \nla máquina ha finalizado o no'); -gettext('Para automático de la \nmáquina cuando ha terminado '); -gettext('Paro externo'); +gettext('Apagado automática, \ncuando la máquina \ntermina'); +gettext('Apagado manual'); gettext('**Tic de apagado**'); gettext('**Tic de encendido**'); gettext('**Inicializar**'); gettext('**Estado de la máquina**'); -gettext('## Detector doble: flancos de subida y bajada\n\nSe detectan tanto los flancos de subida como de bajada y se emite los \ntics por sus salidas correspondientes'); -gettext('Señal de \nentrada'); -gettext('Reloj del \nsistema'); -gettext('## Syntax Char \n\nSyntax block for receiving a specific character \n\nWhen the character recived is what the block is expecting, \nit gets activated, and the blocks becomes into a wire (transparent mode) \nuntil it is reset\n\nIf the first received character is different from what it was expecting, \nthen block blocks. it disconnect itself from the input until it is reset'); -gettext('**Reset the block**'); -gettext('**Input character**'); -gettext('**Active state** \n0: Block is not active \n1: In Active mode'); -gettext('Depending on the mode, the tic \nreceived is outputed (transparent mode)\nor sent inside the block for further processing\n'); -gettext('Transparent mode'); -gettext('Ignored'); -gettext('If the block is blocked, the tic \nis ignored. Else the tic is sent \nto the next stage for further processing'); -gettext('**Expected character**'); -gettext('State of the received character \n0: Not the one was expected \n1: The one that was expected '); -gettext('Expected character \nreceived: Change to \nactive mode'); -gettext('Other character received: \nBlock the component'); -gettext('**Block state** \n0: Not blocked\n1: Blocked'); -gettext('## PrintLn-bit: Print one bit plus a new line character \n'); -gettext('Bit to be transmited'); -gettext('Transmit now! (tic) \nActivate the machine'); -gettext('Not connected'); -gettext('**Block 1** \nPrint the bit (0,1)'); -gettext('The machine is busy either \nthe block 1 is busy or \nthe block 2 is busy'); -gettext('**Block 2** \nPrint new line char'); -gettext('## PUTC-bit-stdout: Transmit one bit (STDOUT bus) \n\nWhen activated, the bit input is sent as the character '0' or '1' \nWhen not active, the stdout crossed the block (transparent mode)'); -gettext('The bit to be transmitted should be \nsyncronized with its transmit tic'); -gettext('If the machine is ready and \nthe next tic is received: \nwe are done'); -gettext('The machine is done'); -gettext('Machine is on: send a character'); -gettext('State of the machine \n0: OFF \n1: ON: Sending one character'); -gettext('Character to transmit when \nthe input bit is 1'); -gettext('Character to transmit when \nthe input bit is 0'); -gettext('Select with character to transmit \naccording to the input bit'); -gettext('**Create the bus** \nfrom the data and tic signals'); -gettext('## PUTC: Transmit one character (STDOUT bus)\n\nWhen **idle**, the STDOUT bus crosses the component without modification \n\nWhen the machine starts, the char is outputed and the state is changed to busy \nWhen the transmitter is done (tic received in next) the machine is turned off'); -gettext('Start tic: The byte from the \ninput char is transmited'); -gettext('Char to be transmited'); -gettext('State of the machine: \n1: ON: transmitting \n2: OFF: transparent mode '); -gettext('If the machine is on \nand the character has been \ntransmitted: Turn it off'); -gettext('## PUTC: Transmit one constant character '); -gettext('Apagado automática, \ncuando la máquina \ntermina'); -gettext('Apagado manual'); -gettext('Any command detected?'); -gettext('End of command \ndetected'); -gettext('No other cmds \ndetected'); -gettext('Unknown cmd \ndetected'); -gettext('Valid command detected \nReset the error flip-flop'); -gettext('## Syntax ELSE \n \nDetect if the command is valid based on the state \nof the commands detected. If no command has been \ndetected when the /n char is received --> \nit is an invalid command'); -gettext('Commands state: \n0: None of the commands \n have been detected \n1: Valid command detected'); +gettext('## Rising edge detector\n\nIt generates a 1-period pulse (tic) when a rising edge is detected on the \ninput signal'); +gettext('Input signal'); +gettext('Current signal \nstate'); +gettext('Signal state in the previous \nclock cycle'); +gettext('If the current signal is 1 and its value in \nthe previous clock cycle was 0, it means \nthat a rising edge has been detected! \nThe output es 1\n\nIn any other case the output is 0'); +gettext('**Delay**: 0 clock cycles \n\nThere is no delay between the arrival of a rising edge \nand its detection'); +gettext('Input'); +gettext('## Falling edge detector\n\nIt generates a 1-period pulse (tic) when a falling edge is detected on the \ninput signal'); +gettext('If the current signal is 0 and its value in \nthe previous clock cycle was 1, it means \nthat a falling edge has been detected! \nThe output es 1\n\nIn any other case the output is 0'); +gettext('**Delay**: 0 clock cycles \n\nThere is no delay between the arrival of a falling edge \nand its detection'); +gettext('Para automático de la \nmáquina cuando ha terminado '); +gettext('Paro externo'); gettext('Empty Buffer condition \nThere are 0 chars in the buffer'); gettext('The STDIN input stream is enable only if \nthe machine in on and it is in edit mode'); gettext('The machine is on'); @@ -259,6 +236,7 @@ gettext('Stop the machine \n(Abort)'); gettext('It only works if \nthe machine is active'); gettext('### Machines stages \n* Stage 0: Edit mode \n* Stage 1: Dump mode'); gettext('Machine stage'); +gettext('The machine is done'); gettext('If in edit mode and the enter \nkey is pressed: change to the \nnext stage'); gettext('If in dump mode and the dumping \nis finished, change to the next \nstage: done'); gettext('Insert the character \nin the buffer. Also the \nenter key (\\n)'); @@ -270,6 +248,8 @@ gettext('Number of characters \nin the buffer'); gettext('Character dumped \nfrom the buffer'); gettext('full Buffer condition \nThere are 2 or more chars \nin the buffer'); gettext('## InputLn-charx2 \nWaits for the user to enter a 2 characters command \nThe user can use the Delete key \nThe command is outputed when the enter key is pressed '); +gettext('Only characteres in this \nrange are valid: [32, 126] \nThe others are ignored'); +gettext('## STINFilter: Printable\n\nThe STDIn stream is filtered. Ontly printable \ncharacteres are allowed on the STDIN-out stream\n\nCommands for the Enter (/n) and Delete are generated \n(but that characteres are not sent to stdin output stream)'); gettext('**TOP registers** \nIt contais the address where \nthe next byte will be stored'); gettext('Number of caracters \nin the buffer'); gettext('Insert one byte \nin the buffer'); @@ -310,17 +290,72 @@ gettext('Value decremented!'); gettext('## Up-down counter with MAX and MIN limits\n\nThe counter is incremented when the up tic is received \nand it has not already reached its maximum value \n\nThe counter is decremented then the down tic is received \nand it is not in its minimum value'); gettext('¿Estamos en el \nciclo 1?'); gettext('Si es el ciclo 1 y \nse pide un ciclo \nnuevo: Terminar'); -gettext('Only characteres in this \nrange are valid: [32, 126] \nThe others are ignored'); -gettext('## STINFilter: Printable\n\nThe STDIn stream is filtered. Ontly printable \ncharacteres are allowed on the STDIN-out stream\n\nCommands for the Enter (/n) and Delete are generated \n(but that characteres are not sent to stdin output stream)'); +gettext('Type of stop: \n0: Internal (done) \n1: External (abort)'); +gettext('## PUTC: Transmit one character (STDOUT bus)\n\nWhen **idle**, the STDOUT bus crosses the component without modification \n\nWhen the machine starts, the char is outputed and the state is changed to busy \nWhen the transmitter is done (tic received in next) the machine is turned off'); +gettext('Start tic: The byte from the \ninput char is transmited'); +gettext('Char to be transmited'); +gettext('State of the machine: \n1: ON: transmitting \n2: OFF: transparent mode '); +gettext('If the machine is on \nand the character has been \ntransmitted: Turn it off'); +gettext('**Create the bus** \nfrom the data and tic signals'); +gettext('## PrintLn-bit: Print one bit plus a new line character \n'); +gettext('Bit to be transmited'); +gettext('Transmit now! (tic) \nActivate the machine'); +gettext('**Block 1** \nPrint the bit (0,1)'); +gettext('The machine is busy either \nthe block 1 is busy or \nthe block 2 is busy'); +gettext('**Block 2** \nPrint new line char'); +gettext('## PUTC-bit-stdout: Transmit one bit (STDOUT bus) \n\nWhen activated, the bit input is sent as the character '0' or '1' \nWhen not active, the stdout crossed the block (transparent mode)'); +gettext('The bit to be transmitted should be \nsyncronized with its transmit tic'); +gettext('If the machine is ready and \nthe next tic is received: \nwe are done'); +gettext('Machine is on: send a character'); +gettext('State of the machine \n0: OFF \n1: ON: Sending one character'); +gettext('Character to transmit when \nthe input bit is 1'); +gettext('Character to transmit when \nthe input bit is 0'); +gettext('Select with character to transmit \naccording to the input bit'); +gettext('## STDOUT serial\n\nSerial transmitter for the STDOUT bus\n'); +gettext('**STDOUT Bus** \n* Data to transmit (8 bits) \n* tic (1 bit)\n* data sent (done tic, 1 bit)'); +gettext('## Syntax Char \n\nSyntax block for receiving a specific character \n\nWhen the character recived is what the block is expecting, \nit gets activated, and the blocks becomes into a wire (transparent mode) \nuntil it is reset\n\nIf the first received character is different from what it was expecting, \nthen block blocks. it disconnect itself from the input until it is reset'); +gettext('**Reset the block**'); +gettext('**Input character**'); +gettext('**Active state** \n0: Block is not active \n1: In Active mode'); +gettext('Depending on the mode, the tic \nreceived is outputed (transparent mode)\nor sent inside the block for further processing\n'); +gettext('Transparent mode'); +gettext('Ignored'); +gettext('If the block is blocked, the tic \nis ignored. Else the tic is sent \nto the next stage for further processing'); +gettext('**Expected character**'); +gettext('State of the received character \n0: Not the one was expected \n1: The one that was expected '); +gettext('Expected character \nreceived: Change to \nactive mode'); +gettext('Other character received: \nBlock the component'); +gettext('**Block state** \n0: Not blocked\n1: Blocked'); +gettext('Any command detected?'); +gettext('End of command \ndetected'); +gettext('No other cmds \ndetected'); +gettext('Unknown cmd \ndetected'); +gettext('Valid command detected \nReset the error flip-flop'); +gettext('## Syntax ELSE \n \nDetect if the command is valid based on the state \nof the commands detected. If no command has been \ndetected when the /n char is received --> \nit is an invalid command'); +gettext('Commands state: \n0: None of the commands \n have been detected \n1: Valid command detected'); +gettext('Priority for the set'); gettext('Print-str'); gettext('Serial print-str'); gettext('Print a constant string of 15 or less characters'); -gettext('16-bytes memory, initilized with a string'); gettext('Máquina de contar, de 4 bits, con entrada de stop'); -gettext('Registro de 4 bits con entrada de reset'); gettext('Sumador de un operando de 4 bits con una constante pasada como parámetro (No hay accarreo)'); gettext('Comparador de dos operandos de 4 bits'); gettext('Valor genérico constante (menos 1), de 4 bits. Su valor se introduce como parámetro. Por defecto vale 0'); +gettext('04-Reg-rst: 4 bits Register with reset. Verilog implementation'); +gettext('16-bytes memory, initilized with a string'); +gettext('PrintLn-Bin16'); +gettext('Debug: Print a 16bits number in binary'); +gettext('Print a 16-bits number in Binary'); +gettext('Máquina de contar, de 4 bits'); +gettext('16-SL-ld: 16 bits shift left register with load. Verilog implementation'); +gettext('Transmit one constant character to the STDOUT bus'); +gettext('First the MSB is \nprinter'); +gettext('state machine \n'); +gettext('Print the current \nbit'); +gettext('Store the nunmber \nto print'); +gettext('Number to print'); +gettext('## Print-bin-16-bits: Transmit one 16-bits number in Binary\n\nWhen activated, the 16-bits number is sent as three binary \ncharacters (0/1)'); +gettext('## PUTC: Transmit one constant character '); gettext('PrintLn-Char'); gettext('Serial debugger for characters. It prints the character + a line feed'); gettext(' Print a character + a new line'); @@ -332,20 +367,111 @@ gettext('Print the current \nBase 4 number'); gettext('Insert the done signal \nin the stdout BUS'); gettext('## PRINTLN-char: Char + \\n \n\nWhen activated, the char + a new line are sent'); gettext('Print the char'); +gettext('PrintLn-Hex8-sysclk'); +gettext('Print an 8-bits number in hexadecimal. Sysclk param'); +gettext('Print a byte in hexadecimal numbers'); +gettext('Separador de bus de 8-bits en buses de 4 bits'); +gettext('Mach-count-1-bit: 1-bit count machine'); +gettext('OR2: Two bits input OR gate'); +gettext('1-to-2 DeMultplexer (1-bit channels)'); +gettext('08-Reg: 8 bits Register. Verilog implementation'); +gettext('Transmit a 4-bits hex number (characteres 0 - 9, a - f)'); +gettext('Circuito combinacional de 4 entradas y 8 salidas'); +gettext('Separador de bus de 4-bits en 4 cables'); +gettext('Agregador de 2 buses de 4-bits a bus de 8-bits'); +gettext('Agregador de 4 cables en un bus de 4-bits'); +gettext('Valor genérico constante, de 1 bits. Su valor se introduce como parámetro. Por defecto vale 0'); +gettext('Comparador menor que, de un operando de 4 bits'); +gettext('2-to-1 Multplexer (4-bit channels). Verilog implementation'); +gettext('First the MSB is \nprinter, then the LSB'); +gettext('Bit to print: \n0: Bit 0 \n1: Bit 1'); +gettext('2-state machine \nTwo operation are needed'); +gettext('Print the current \nhex digit'); +gettext('## PUTC-base4-bin: Transmit one base-4 number in Binary\n\nWhen activated, the base-4 number is sent as two binary \ncharacters (0/1)'); +gettext('If the machine is active, no more start signals \nare allowed to enter'); +gettext('Execution tic: \n* One tic per state'); +gettext('1-bit counter'); +gettext('1-to-2 Demux'); +gettext('Turn off \nthe machine'); +gettext('n=1'); +gettext('n=0'); +gettext('The next signal can only go inside the machine \nif it is busy'); +gettext('The machine is busy from the very \nbegining in which the start_ok \nsignal arrives'); +gettext('Initial state cycle \n(n = 0)'); +gettext('When the next_ok signal is received \nthe initial cycles is finished'); +gettext('When the next_ok is received the counter is \nincreased'); +gettext('The machine is active: either in the first \nstate cycle (n=0) or the next cycles (n=1)'); +gettext('Wait one cycle for the \ncounter to be updated'); +gettext('The next_ok signal output either as the \nexec signal (when n=1) or as the done signal \nwhen (n = 0)'); +gettext('Then count machine has three states: \n\n* Idle: The machine is off, waiting to receive the start signal \n* n = 0: Initial state cycle. It goes from receiveing the start signal until \n the first next signal arrives\n* n = 1: second state cycle. Fron the first next signal to the second'); +gettext('## PUTC: Transmit 4bits as an hexadecimal digit (STDOUT bus)\n'); +gettext('Write the digits (a-f) in \nuppercase by default'); +gettext('Condition: is the number \nreceived between 10 and 15? \n(a to f digit?)'); +gettext('The digits a-f are changed to uppercase \nby setting the 5th bit to 0 or 1'); gettext('PrintLn-OK'); gettext('Print the OK message'); gettext('Print the OK + new line string'); gettext('## Debugger-PrintLn-OK\n\nPrint the OK message'); gettext('The machine is done \nwhen the block \nis done'); gettext('## PRINTLN-OK: Print the OK + new line string\n'); +gettext('PrintLn-Uint8-sysclk'); +gettext('Print an 8-bits unsigned number in decimal. Sysclk param'); +gettext('Print an 8-bits unsigned integer (0 - 255)'); +gettext('Comparador de un operando de 4 bits. Se compara si el operando es igual al parámetro'); +gettext('Multiplexor de 4 a 1 de 4 bits'); +gettext('Valor constante 0 para bus de 4 bits'); +gettext('Valor genérico constante, de 4 bits. Su valor se introduce como parámetro. Por defecto vale 0'); +gettext('Máuina de conversion Binario - BCD de 8 bits'); +gettext('04-Reg: 4 bits Register. Verilog implementation'); +gettext('08-SL-ld: 8 bits shift left register with load. Verilog implementation'); +gettext('Cálculo combinacional parcial para la conversion de Binario a BCD'); +gettext('SL1-4-verilog: Shift a 4-bit value one bit left. LSB is filled with 'in' and the MSB is written to out . Verilog implementation'); +gettext('Print the current \ndigit'); +gettext('## Print-uint8: Print a 8-bits unsigned integer (0 - 15)\n\n'); +gettext('3 stages machine: \n* stage=0: print the MS digit\n* stage=1: print the next digit\n* stage=2: print tje LS digit'); +gettext('Fixed size number: \nSelect if the number is printing \nalways with the same number of \ndigits or the left zeros are removed\n\n* FSize = 0: Zeros at the left are Not printed \n* SIZE2 = 1: Print all the digits always'); +gettext('Select the digit \nto print'); +gettext('Non-zero digit \ndetected'); +gettext('Any of the previous digits \nwas non-zero'); +gettext('Clear the flag \nin the begining'); +gettext('The flag is set to 1 \nwhen the count machine \nis on and a not zero \ndigit is detected'); +gettext('Capture the number to \nprint, in the begining'); +gettext('Start the conversion'); +gettext('Start the count machine for \nprinting the digits!'); +gettext('Current digit to \nprint'); +gettext('Current digit is \nNOT 0'); +gettext('Decide if the current digit is \nprinted or not!'); +gettext('Print the digit!'); +gettext('Don't print the digit!'); +gettext('Condition for printing \nthe current digit'); +gettext('The LS digit is \nALWAYS printed!'); +gettext('If FSize constant is \nset, the digit are \nprinted ALWAYS'); +gettext('If FSIze constant is NOT \nset the digit is printed \neither if it is not zero \nor a previous digit was not zero'); +gettext('**Reloj**'); +gettext('**Número a convertir**'); +gettext('**Arranque**'); +gettext('Estado de la \nmáquina'); +gettext('Dígito 0'); +gettext('Dígito 1'); +gettext('**Máquina de contar** \nLa conversión se realiza en \n4 iteraciones'); +gettext('Cargar el numero a convertir \nen el arranque de la máquina'); +gettext('Actualizar registro \nen cada etapa'); +gettext('**Calculos para el digito 0**'); +gettext('**Calculos para el digito 1**'); +gettext('Dígito 2'); +gettext('Esta céluca combinacional realiza una parte del cálculo del \nalgoritmo para convertir de **binario a BCD**:\n\nSi la entrada a es mayor o igual a 5, se devuelve a+5, \nde lo contrario se devuelve a (se deja como estaba)'); +gettext('¿Es a >= 5?'); +gettext('**Si** \na es >= que 5'); +gettext('Calcular a+3'); +gettext('**No** \na NO es >= 5'); gettext('PrintLn-base-4'); gettext('Serial debugger for base 4 numbers (2-bits). It prints the number + a line feed'); -gettext(' Transmit one bit as a character + a new line'); +gettext(' Transmit a 2-bits number as a character + a new line'); gettext(' Transmit two bits as a base-4 character (0-3)'); gettext('Agregador de 2 buses de 6 y 2-bits a bus de 8-bits'); gettext('Valor genérico constante, de 6 bits. Su valor se introduce como parámetro. Por defecto vale 0'); gettext('## Debugger-PrintLn-base-4\n\nPrint a 2-bit number on the console, followed by a new \nline character'); -gettext('## PRINTLN-bit-stdout: Transmit one bit (STDOUT bus) \n\nWhen activated, the bit + a new line are sentd'); +gettext('## PRINTLN-base4-stdout: Transmit one bit (STDOUT bus) \n\nWhen activated, the bit + a new line are sentd'); gettext('## PUTC-base4: Transmit one base-4 number \n\nWhen activated, the base-4 number is sent as a character (0-3) \nIf not activated, the stdout bus is in transparent mode'); gettext('PrintLn-bit'); gettext('Serial Debugger for printing one bit + new line'); @@ -353,15 +479,17 @@ gettext('## Debugger-PrintLn-Bit\n\nPrint a bit on the console, followed by a ne gettext('hterm-bit-stdout'); gettext('Hardware terminal with only two commands: 0 and 1'); gettext('Read one bit from the input console, with edition (delete). Finish when enter is pressed'); +gettext('Detector de flanco de subida. Emite un tic cuando detecta un flanco ascendente'); gettext('When activated, it waits for a bit to be received codified in the '0' and '1' symbols by default. The received character is echoed (if valid)'); gettext('When activated, it waits for a bit to be received codified in the '0' and '1' symbols by default'); gettext('Detect one bit'); +gettext('DFF. D Flip-flop. Verilog implementation'); gettext('Get a constant character'); gettext('Print the Initial message'); gettext('**MAIN**'); gettext('Blank command'); gettext('Input the digits!'); -gettext('## HTerm-bit\n\nHardware terminal with two commands: 0 and 1'); +gettext('## HTerm-bit-stdout\n\nHardware terminal with two commands: 0, 1 and blank \nOther stdout blocks can be used'); gettext('## INPUTLN-BIT-ECHO \n'); gettext('State of the machine'); gettext('Received bit'); @@ -402,18 +530,15 @@ gettext('## GETC-CHAR \n\nDetects if a constant CHAR has arrived'); gettext('Check if the character received is the one \nexpected (set by the parameter. Default: 0)'); gettext('Charactter detected: \nOutput the current data \ntic to the rcv pin'); gettext('hterm-bit'); -gettext('hterm-bitx2'); +gettext('## HTerm-bit\n\nHardware terminal with two commands: 0 and 1'); +gettext('hterm-bitx2-stdout'); gettext('Hardware terminal with 2-bits binary commands'); gettext('Input 2-bits data in binary, with edition (BS and ENTER)'); -gettext('Stack pointer for 2 elements'); -gettext('Separador de bus de 2-bits en dos cables'); gettext('2-bits bidirection shift register (left - right)'); gettext('Agregador de 2 cables en un bus de 2-bits'); -gettext('Valor genérico constante, de 10 bits. Su valor se introduce como parámetro. Por defecto vale 0'); -gettext('## HTerm-bit-stdout\n\nHardware terminal with two commands: 0, 1 and blank \nOther stdout blocks can be used'); -gettext('**AUX STDOUT BUS**'); -gettext('Combine the main serial stdin bus \nwith the second'); -gettext('When the inputln is active, \nthe output is also sent \nto the leds'); +gettext('DFF-rst. D Flip-Flop with load and reset. Implemented in verilog'); +gettext('Stack pointer for 2 elements'); +gettext('Separador de bus de 2-bits en dos cables'); gettext('## INPUTLN-BITx2-ECHO \n'); gettext('If a bit is inserted in the buffer, \nand it is not full yet...'); gettext('The receiver is activated if \nan active BS is received'); @@ -423,6 +548,12 @@ gettext('Insert the received \nbit in the buffer'); gettext('Machine state'); gettext('**BUFFER**: Bidirectional \nshift register \nIt stores the bits received \nWhen the BS is received, one \nbit is removed from the buffer'); gettext('Reset the register \nwhen the machine starts'); +gettext('## 2-bits Shift register (left - right)\n\n'); +gettext('Shift to the left (to MSB)'); +gettext('Shift to the right (to lsb)'); +gettext('Input when shifting right'); +gettext('Input when shifting left'); +gettext('Perform the shift \n(etither right or left)'); gettext('## SP-2 \nStack pointer for stacks of two elementos \n'); gettext('The stack is empty'); gettext('The stack is full'); @@ -433,12 +564,9 @@ gettext('According to the statck state, the \npop command is either ok or \nu gettext('Load a new value \nin the SP register'); gettext('**SP Register**'); gettext('reset the SP'); -gettext('## 2-bits Shift register (left - right)\n\n'); -gettext('Shift to the left (to MSB)'); -gettext('Shift to the right (to lsb)'); -gettext('Input when shifting right'); -gettext('Input when shifting left'); -gettext('Perform the shift \n(etither right or left)'); +gettext('hterm-bitx2'); +gettext('**AUX STDOUT BUS**'); +gettext('Combine the main serial stdin bus \nwith the second'); gettext('virtual-toggle-button'); gettext('Virtual serial toggle button'); gettext('## Virtual Toogle button\n\nIt toggle the output only when the \n\"t\\n\" command is received on the serial \nline \nAny other commands are ignored. \nAll the command should end with \\n'); @@ -451,8 +579,15 @@ gettext('Serial debugger for print the address (1-bit) and data (1-bit) of a 2x1 gettext('## Debugger: RAM 2x1\n\nComponent for debugging a 2x1 RAM \nPrint the Address A (1-bit) and the data D (1 bit) with \nthe format: \n\n```\n[A]: D\n```\n'); gettext('**Address**'); gettext('**Data**'); +gettext('Bufferx1'); +gettext('1-byte buffer'); +gettext('Empty Buffer \n(There is no byte \nwaiting)'); +gettext('Byte stored in the \nbuffer, waiting to be \ntransmitted when the \ntransmitter is ready'); +gettext('Buffer state: \n0: empty \n1: full'); +gettext('Transmitter ready'); +gettext('If the transmittter is ready \nand there is a character \nin the buffer: Transmit!'); +gettext('Serial transmitter state'); gettext('Serial-rx'); -gettext('Serial-tx'); gettext('stdin-bin-keyboardX4'); gettext('Stdin Binary keyboard, composed of 4 keys: 0, 1, backspace and Return'); gettext('FPGA internal pull-up configuration on the connected input port'); @@ -473,26 +608,23 @@ gettext('Key pressed tic: \nA tic is generated \neverytime a key is \npressed gettext('When no keys are pressed, \nthe output is 1'); gettext('**Pulsador-tic**'); gettext('stdin-serial'); -gettext('stdout-LEDs-8'); +gettext('stdout-LEDs-8-rst'); gettext('8-bits Binary stdout device. The information is shown on the LEDs'); gettext('Decodificador de 3 a 8, con salida en bus'); gettext('Habilitación de bus de 8 bits'); gettext('XOR bit a bit entre dos buses de 8 bits'); -gettext('Corazón de bombeo de tics a con periodo paramétrico de milisegundos'); -gettext('Timer in ms, with stop input'); +gettext('Separador de bus de 8-bits en 1 buses de 6 bits y dos cables sueltos'); +gettext('8-bits bus weight inverter'); gettext('3-bits up-down counter, with reset'); -gettext('Comparador de un operando de 4 bits. Se compara si el operando es igual al parámetro'); gettext('Sumador de 4 bits (sin acarreo)'); -gettext('Multiplexor de 2 a 1 de 4 bits'); -gettext('Valor genérico constante, de 4 bits. Su valor se introduce como parámetro. Por defecto vale 0'); gettext('Separador de bus de 4-bits en buses de 1 bits y 3 bits'); gettext('8x1 bits RAM memory with parallel output'); gettext('Demultiplexor de 1 bit, de 3 a 8 (salida de bus)'); gettext('Separador de bus de 8-bits en 8 cables'); gettext('Agregador de 8 cables de 1-bit a bus de 8-bits'); gettext('Multiplexor de 8 a 1, con entradas de bus'); -gettext('Separador de bus de 8-bits en 1 buses de 6 bits y dos cables sueltos'); -gettext('8-bits bus weight inverter'); +gettext('Corazón de bombeo de tics a con periodo paramétrico de milisegundos, con reset'); +gettext('Timer in ms, with stop input'); gettext('## STDOUT LEDs\n\nShow the STDout in the LEDs \nThe less significant bit of the charactere \nreceived is shown at the current cursor position'); gettext('Converti STDOUT into STDIN for reading \ninterpreting the received characteres \nusing stdin blocks'); gettext('Process the \nENTER character'); @@ -513,18 +645,26 @@ gettext('Only take one cycle \nto process the character'); gettext('Data to show in the LEDs \nEach address correspond to \none LED'); gettext('Combine the data \nwith the cursor'); gettext('Write the bit in the current \ncursor position'); -gettext('Semiperiod'); -gettext('**Arranque del** \n**temporizador**'); -gettext('**Salida de pulso**'); -gettext('**Salida de tic**'); -gettext('**Parametro del timer** \nmilisegundos a esperar'); gettext('## Synchronous 8x1-bit RAM (Parallel)\n\n* Both the read and write operation are \n synchronous\n* The memory has parallel output'); gettext('Data input'); gettext('Write tic'); gettext('Paralell output'); gettext('standart reading'); gettext('**Each bit is store in its own flip-flop**'); +gettext('Semiperiod'); +gettext('**Arranque del** \n**temporizador**'); +gettext('**Salida de pulso**'); +gettext('**Salida de tic**'); +gettext('**Parametro del timer** \nmilisegundos a esperar'); +gettext('stdout-LEDs-8'); +gettext('It only takes one cycle \nto process the character'); +gettext('stdout-serial-buffer'); +gettext('Serial transmiter for the stdout bus (1 char buffer). Sysclk parameter'); +gettext('Serial transmitter with a buffer for 1 byte'); +gettext('stdout-serial-sysclk'); gettext('stdout-serial'); +gettext('Serial transmiter for the stdout bus'); +gettext('Transmisor serie'); gettext('Filters'); gettext('Getc'); gettext('InputLn'); @@ -548,7 +688,6 @@ gettext('inputln-char-echo'); gettext('Read one printable char from the input console, with edition (delete). Finish when enter is pressed'); gettext('When activated, it waits for a printable char to be received. This character is echoed (if valid)'); gettext('When active, waits for a printable char to be received'); -gettext('Registro de 8 bits'); gettext('## INPUTLN-CHAR-ECHO \n'); gettext('Received char'); gettext('**BUFFER** \nfor 1 char'); @@ -559,59 +698,220 @@ gettext('input-bit-echo'); gettext('input-bit'); gettext('input-printable-char-echo'); gettext('input-printable-char'); +gettext('Print-bin'); +gettext('Print-hex'); +gettext('Print-int'); +gettext('Print-strl-delay'); +gettext('Print-uint'); gettext('asc'); +gettext('print-str'); gettext('Print-base4-bin'); gettext('Print a base4 number in Binary'); -gettext('Máquina de contar, de 1 bit'); -gettext('Registro de 2 bits'); -gettext('First the MSB is \nprinter, then the LSB'); -gettext('Bit to print: \n0: Bit 0 \n1: Bit 1'); -gettext('2-state machine \nTwo operation are needed'); -gettext('Print the current \nbit'); -gettext('Store the nunmber \nto print'); +gettext('02-Reg: 2 bits Register. Verilog implementation'); gettext('Base 4 number to print'); -gettext('## PUTC-base4-bin: Transmit one base-4 number in Binary\n\nWhen activated, the base-4 number is sent as two binary \ncharacters (0/1)'); -gettext('Print-str-02'); -gettext('Print a constant 1-char string'); -gettext('2-bytes memory, initilized with a string'); -gettext('Print-str-04'); -gettext('Print-str-08'); -gettext('Print-str-128'); -gettext('Print-str-16'); -gettext('Print-str-256'); -gettext('Print a constant string of 256 or less characters'); -gettext('256-bytes memory, initilized with a string'); -gettext('Máquina de contar, de 8 bits, con entrada de stop'); -gettext('Registro de 8 bits con reset'); +gettext('Print-bin-03-bits'); +gettext('Print a 3-bits number in Binary'); +gettext('03-SL-ld: 3 bits shift left register with load. Verilog implementation'); +gettext('## Print-bin-3-bits: Transmit one 3-bits number in Binary\n\nWhen activated, the 3-bits number is sent as three binary \ncharacters (0/1)'); +gettext('Print-bin-04-bits'); +gettext('Print a 4-bits number in Binary'); +gettext('04-SL-ld: 4 bits shift left register with load. Verilog implementation'); +gettext('## Print-bin-4-bits: Transmit one 4-bits number in Binary\n\nWhen activated, the 4-bits number is sent as three binary \ncharacters (0/1)'); +gettext('Print-bin-08-bits'); +gettext('Print a 8-bits number in Binary'); +gettext('## Print-bin-8-bits: Transmit one 8-bits number in Binary\n\nWhen activated, the 8-bits number is sent as three binary \ncharacters (0/1)'); +gettext('Print-bin-16-bits'); +gettext('Print-hex-12bits'); +gettext('Print a 12-bit number in hexadecimal numbers'); +gettext('Split the 12-bit bus into a 3 buses of 4-bits '); +gettext('12-Reg: 12 bits Register. Verilog implementation'); +gettext('## Print-hex-12: Print a 12-bit number in hexadecimal'); +gettext('Print-hex-16bits'); +gettext('Print a 16-bit number in hexadecimal numbers'); +gettext('Separador de bus de 16-bits en buses de 8 bits'); +gettext('Mach-count-2-bits: 2-bits count machine'); +gettext('OR-BUS2: OR gate with 2-bits bus input'); +gettext('Bus2-Split-all: Split the 2-bits bus into two wires'); +gettext('Counter-x02: 2-bits counter'); +gettext('Inc1-2bit: Increment a 2-bits number by one'); +gettext('AdderK-2bit: Adder of 2-bit operand and 2-bit constant'); +gettext('Generic: 2-bits generic constant (0,1,2,3)'); +gettext('Adder-2bits: Adder of two operands of 2 bits'); +gettext('Adder-1bit: Adder of two operands of 1 bit'); +gettext('AdderC-1bit: Adder of two operands of 1 bit plus the carry in'); +gettext('XOR gate: two bits input xor gate'); +gettext('Bus2-Join-all: Joint two wires into a 2-bits Bus'); +gettext('16-Reg: 16 bits Register. Verilog implementation'); +gettext('## Print-hex-16: Print a 16-bit number in hexadecimal'); +gettext('counter'); +gettext('n>0'); +gettext('The machine is active: either in the first \nstate cycle (n=0) or the next cycles (n>0)'); +gettext('Then count machine has three states: \n\n* Idle: The machine is off, waiting to receive the start signal \n* n = 0: Initial state cycle. It goes from receiveing the start signal until \n the first next signal arrives\n* n > 0: state cycles. From the first next signal to the fourth'); +gettext('¿State different than 0?'); +gettext('Print-hex-32bits'); +gettext('Print a 32-bit number in hexadecimal numbers'); +gettext('Separador de bus de 32-bits en 4 buses de 8 bits'); +gettext('4-bit 8-1 mux (Flip)'); +gettext('Mach-count-3-bits: 3-bits count machine'); +gettext('OR-BUS3: OR gate with 3-bits bus input'); +gettext('OR3: Three bits input OR gate'); +gettext('Bus3-Split-all: Split the 3-bits bus into three wires'); +gettext('Counter-x03: 3-bits counter'); +gettext('Inc1-3bit: Increment a 3-bits number by one'); +gettext('AdderK-3bit: Adder of 3-bit operand and 3-bit constant'); +gettext('Generic: 3-bits generic constant (0-7)'); +gettext('Adder-3bits: Adder of two operands of 3 bits'); +gettext('Bus3-Join-all: Joint three wires into a 3-bits Bus'); +gettext('03-Reg: 3 bits Register. Verilog implementation'); +gettext('32-Reg: 32 bits Register. Verilog implementation'); +gettext('Hex digit to print: \n'); +gettext('## Print-hex-32: Print a 32-bit number in hexadecimal'); +gettext('3-bits counter'); +gettext('Print-hex-8bits'); +gettext('Print-int12'); +gettext('Print a 12-bits signed integer (-2048, 2047)'); +gettext('Calculate the 2's complemente of a 12-bits number'); +gettext('12-bits bus not gate'); +gettext('Sumador de un operando de 12 bits con una constante pasada como parámetro (No hay accarreo)'); +gettext('Extractor de 1 bit de un bus de 12 bits'); +gettext('Print an 12-bits unsigned integer (0 - 255)'); +gettext('Máuina de conversion Binario - BCD de 12 bits'); +gettext('12-SL-ld: 12 bits shift left register with load. Verilog implementation'); +gettext('2-to-1 Multplexer (12-bit channels). Verilog implementation'); +gettext('## Print-int12: Print a 12-bits signed integer (-2048, 2047)\n\n'); +gettext('Machine state: ON/OFF'); +gettext('Calculate the \nnumber two's complement'); +gettext('Capture the number only \nin the begining'); +gettext('Sign bit'); +gettext('Depending on the sign bit, \nselect the number or its \ntwo complement'); +gettext('If the nunmber is negative, \nprint the \"-\" char first'); +gettext('4 stages machine: \n* stage=0: print the MS digit\n* stage=1: print the next digit\n* stage=2: Print the next digit\n* stage=3: print the LS digit'); +gettext('Dígito 3'); +gettext('Print-int16'); +gettext('Print a 16-bits signed integer (-32768, 32767)'); +gettext('Calculate the 2's complemente of a 16-bits number'); +gettext('16-bits bus not gate'); +gettext('Sumador de un operando de 16 bits con una constante pasada como parámetro (No hay accarreo)'); +gettext('Extractor de 1 bit de un bus de 16 bits'); +gettext('Print an 16-bits unsigned integer (0 -65535)'); +gettext('Multiplexor de 8 a 1 de 4 bits'); +gettext('Comparador de igualdad, de un operando de 3 bits'); +gettext('Máuina de conversion Binario - BCD de 16 bits'); +gettext('2-to-1 Multplexer (16-bit channels). Verilog implementation'); +gettext('## Print-int16: Print a 16-bits signed integer (-32768, 32767)\n\n'); +gettext('## Print-uint16: Print a 16-bits unsigned integer (0 - 65535)\n\n'); +gettext('5 stages machine: \n* stage=0: print the MS digit\n* stage=1: print the next digit\n* stage=2: Print the next digit\n* stage=3: Print the next digit\n* stage=4: print the LS digit'); +gettext('Dígito 4'); +gettext('Print-int4'); +gettext('Print a 4-bits signed integer (-8, 7)'); +gettext('Calculate the 2's complemente of a 4-bits number'); +gettext('Puerta NOT para bus de 4 bits'); +gettext('Extractor de 1 bit de un bus de 4 bits'); +gettext('Print an 4-bits unsigned integer (0 - 15)'); +gettext('Conversor de binario a BCD, para números de 4 bits'); +gettext('4bits constant value: 0'); +gettext('Generic: 4-bits generic constant (0-15)'); +gettext('## Print-int4: Print a 4-bits signed integer (-8, 7)\n\n'); +gettext('## Print-uint4: Print a 4-bits unsigned integer (0 - 15)\n\n'); +gettext('2 stages machine: \n* dig=0: print the MS digit\n* dig=1: Print the LS digit'); +gettext('In the first stage the \nnumber n is registered'); +gettext('First stage'); +gettext('Digit to print'); +gettext('The MS digit is 0'); +gettext('The exec tic is delayed 1 cycle because in \nthe first stage the number should be registered'); +gettext('Stage 1: is always ok: the \nLSB should always be printed'); +gettext('Stage 0: The MS dig is printed always \nif it is different from 0 \nIf it is 0, it is printed depending \non the SIZE2 parameter: \n* SIZE2 = 0: Not printed \n* SIZE2 = 1: Printed'); +gettext('The MS digit is 0 \nand we do not want it \nto be printed'); +gettext('NOT Fixed size'); +gettext('MS Digit is 0'); +gettext('Print-int8'); +gettext('Print a 4-bits signed integer (-128, 127)'); +gettext('Calculate the 2's complemente of a 8-bits number'); +gettext('Puerta NOT para bus de 8 bits'); gettext('Sumador de un operando de 8 bits con una constante pasada como parámetro (No hay accarreo)'); -gettext('Comparador de dos operandos de 8 bits'); -gettext('Valor genérico constante (menos 1), de 8 bits. Su valor se introduce como parámetro. Por defecto vale 0'); -gettext('Print-str-32'); -gettext('Print-str-64'); -gettext('Print-asc-02'); +gettext('Extractor de 1 bit de un bus de 8 bits'); +gettext('## Print-int8: Print a 8-bits signed integer (-128, 127)\n\n'); +gettext('Print-delay-str-0064'); +gettext('Print a constant string of 63 or less characters, with a delay between characters'); +gettext('Unit-ms-32bits: ms to cycles converter'); +gettext('Sys-Delay-xN-32bits: The input tic is delayed N cycles'); +gettext('Counter-M-x32: 32-bits M module counter with reset'); +gettext('Inc1-32bit: Increment a 32-bits number by one'); +gettext('AdderK-32bit: Adder of 32-bit operand and 32-bit constant'); +gettext('Generic: 32-bits generic constant'); +gettext('Adder-32bits: Adder of two operands of 32 bits'); +gettext('Adder-8bits: Adder of two operands of 8 bits'); +gettext('Bus8-Split-half: Split the 8-bits bus into two buses of the same size'); +gettext('Adder-4bits: Adder of two operands of 4 bits'); +gettext('Bus4-Split-all: Split the 4-bits bus into its wires'); +gettext('Bus4-Join-all: Join all the wires into a 4-bits Bus'); +gettext('Bus8-Join-half: Join the two same halves into an 8-bits Bus'); +gettext('AdderC-4bits: Adder of two operands of 4 bits and Carry in'); +gettext('AdderC-8bits: Adder of two operands of 8 bits and Carry in'); +gettext('Bus16-Join-half: Join the two same halves into an 16-bits Bus'); +gettext('Bus24-Join-8-16: Join the two buses into an 24-bits Bus'); +gettext('Bus32-Split-8-24: Split the 28-bits bus into two buses of 8 and 24 wires'); +gettext('Bus24-Split-16-8: Split the 24-bits bus into two buses of 16 and 8 wires'); +gettext('Bus16-Split-half: Split the 16-bits bus into two buses of the same size'); +gettext('Bus32-Join-8-24: Join the two buses into an 32-bits Bus'); +gettext('Geu-32-Bits_v: 32-bit Unsigned Greather than or equal comparator. Verilog implementation'); +gettext('32-Reg-rst: 32 bits Register with reset. Verilog implementation'); +gettext('## PRINT-delay: Print a string with a delay between their characteres\n\n'); +gettext('Input parameter: Milieconds '); +gettext('Input parameter: \nSystem Frequency'); +gettext('Cycles to delay'); +gettext('Delay finished!'); +gettext('RS Flip-Flop'); +gettext('Circuit state: \n* ON: working (1)\n* OFF: Not working (0)'); +gettext('The counter has reached \nthe number of cycles \nto delay'); +gettext('Maximum count \nreached'); +gettext('32-bits register'); +gettext('If the max count is reached \nand the cnt tic is received, \nthe register is reset to 0'); +gettext('External reset'); +gettext('Print-uint12'); +gettext('Print-uint16'); +gettext('Print-uint4'); +gettext('Print-uint8'); +gettext('Print-asc-0002'); gettext('Print a constant string defined by 2 ascii bytes'); -gettext('Memoria de dos bytes'); +gettext('2 Bytes Synchronous memory'); gettext('Memory with the string \nto be transmited (in ASCII)'); -gettext('Print-asc-04'); +gettext('Print-asc-0004'); gettext('Print a constant string defined by 4 ascii bytes'); -gettext('Print-asc-08'); +gettext('Print-asc-0008'); gettext('Print a constant string defined by 8 ascii bytes'); -gettext('8 bytes memory'); -gettext('Print-asc-128'); -gettext('Print a constant string defined by 128 ascii bytes'); -gettext('128 bytes memory'); -gettext('Print-asc-16'); +gettext('8 Bytes Synchronous memory'); +gettext('Print-asc-0016'); gettext('Print a constant string defined by 16 ascii bytes'); -gettext('16 bytes memory'); -gettext('Print-asc-256'); -gettext('Print a constant string defined by 256 ascii bytes'); -gettext('256 bytes memory'); -gettext('Print-asc-32'); +gettext('16 Bytes Synchronous memory'); +gettext('Print-asc-0032'); gettext('Print a constant string defined by 32 ascii bytes'); -gettext('32 bytes memory'); -gettext('Print-asc-64'); +gettext('32 Bytes Synchronous memory'); +gettext('Print-asc-0064'); gettext('Print a constant string defined by 64 ascii bytes'); -gettext('64 bytes memory'); +gettext('64 Bytes Synchronous memory'); +gettext('Print-asc-0128'); +gettext('Print a constant string defined by 128 ascii bytes'); +gettext('128 Bytes Synchronous memory'); +gettext('Print-asc-0256'); +gettext('Print a constant string defined by 256 ascii bytes'); +gettext('Máquina de contar, de 8 bits, con entrada de stop'); +gettext('Comparador de dos operandos de 8 bits'); +gettext('Valor genérico constante (menos 1), de 8 bits. Su valor se introduce como parámetro. Por defecto vale 0'); +gettext('08-Reg-rst: 8 bits Register with reset. Verilog implementation'); +gettext('256 Bytes Synchronous memory'); +gettext('Print-str-0002'); +gettext('Print a constant 1-char string'); +gettext('2-bytes memory, initilized with a string'); +gettext('Print-str-0004'); +gettext('Print-str-0008'); +gettext('Print-str-0016'); +gettext('Print-str-0032'); +gettext('Print-str-0064'); +gettext('Print-str-0128'); +gettext('Print-str-0256'); +gettext('Print a constant string of 256 or less characters'); +gettext('256-bytes memory, initilized with a string'); gettext('PrintLn-BitVar'); gettext('Print a Bit variable + LF'); gettext('## PRINTLN-bit-var\n\nPrint a Bit Variable. The output format is: \n< Varname > < Bit > < LN > \nWehre < Varname > is a 1-char variable identifier\n\nExample: \"a1\\n\"'); @@ -629,6 +929,7 @@ gettext('putc-base4'); gettext('putc-bit'); gettext('putc-char-const'); gettext('putc-char'); +gettext('putc-hex'); gettext('08-bits-shift-right-load-rst'); gettext('8bits shift right register with reset and paralell load'); gettext('Serial out'); @@ -645,7 +946,6 @@ gettext('The received char was \nan END of LINE: OK!'); gettext('## Syntax EOL\n\nThis block should be the last one. It checks if the last correct \ncharactere received is an end-of-line\n\nAs it is the last block, it always get blocked when a characterer \narrives. If it is an EOL, it is send through the ok_tic\n'); gettext('Syntax-bit'); gettext('bit syntax block'); -gettext('Extractor de 1 bit de un bus de 8 bits'); gettext('## Syntax Bit \n\nSyntax block for receiving a bit ('0'/'1')\n\nWhen the character recived is a bit, \nit gets activated, and the blocks becomes into a wire (transparent mode) \nuntil it is reset\n\nIf the first received character is not a bit, \nthe block blocks. it disconnects itself from the input until it is reset'); gettext('State of the received character \n0: No bit symbol received \n1: Bit received '); gettext('Bit received: \nChange to \nactive mode'); @@ -658,6 +958,7 @@ gettext('Getc'); gettext('InputLn'); gettext('Input_'); gettext('Input_echo'); +gettext('Multi-board'); gettext('Print'); gettext('PrintLn'); gettext('Putc'); @@ -665,6 +966,8 @@ gettext('Syntax'); gettext('stdin-stdout'); gettext('2x1-bits-memory-test'); gettext('Detect changed on the input signal '); +gettext('Detector de flancos de subida y bajada. Emite tic por las salidas correspondientes al detecta los flancos'); +gettext('2x1 bits RAM memory'); gettext('Detect different clicks on the button: normal click, doble click or long click'); gettext('Pulsador con tic de cambio, pulsación y liberación de tecla'); gettext('Sincronizar las entradas de datos con el reloj del sistema'); @@ -673,7 +976,6 @@ gettext('Test if a tic is received within time'); gettext('Timer in ms, with start and stop'); gettext('Corazón de bombeo de tics, cuyo periodo está especificado en micro-segundos. Solo se hace el bombeo cuando está habilitado'); gettext('Contador módulo M, ascendente, de 12 bits, con reset '); -gettext('2x1 bits RAM memory'); gettext('# 2x1 bits Memory\n\nExample of accesing to a 2x1 bits memory \n* Click on button 1: Change the current addres (0/1) \n* Click on button 2: Change the current data to write (0/1) \n* Long click on button 2: Writing the current data into the current address\n\n'); gettext('**Current address** \nIt is changed on everyt click \nof button 1'); gettext('Show current address \non LED7'); @@ -688,6 +990,18 @@ gettext('Show current data \non LED0'); gettext('## Memory'); gettext('Data from \nthe memory'); gettext('## Change detector \n\nIt emits the followings tics:\n\n* When there is a rising edge on the input signal\n* When there is a falling edge\n* When there is either a rising or falling edge'); +gettext('## Detector doble: flancos de subida y bajada\n\nSe detectan tanto los flancos de subida como de bajada y se emite los \ntics por sus salidas correspondientes'); +gettext('Señal de \nentrada'); +gettext('Reloj del \nsistema'); +gettext('## Synchronous 2x1-bit RAM\n\n* Both the read and write operation are \n synchronous'); +gettext('Address (0/1)'); +gettext('Depending on the address, \nsend the tic write to the \ncorresponding flip-flop'); +gettext('Demux-2-1'); +gettext('Flip-Flop 0'); +gettext('Flip-Flop 1'); +gettext('Flip-flops are loaded with \nthe data input when the \nwrite tic is received'); +gettext('Read operation: \nOutput the selected \nflip-flop'); +gettext('The read data will be available \non the next cycle'); gettext('## Button-click-3 \n\nDetect three different types of clicks in the Button:\n\n* Normal click \n* Doble click \n* Long click'); gettext('When the button is pressed \nthe timer 1 is started'); gettext('If the button is pressed again \nwithin the time, it is \na doble click'); @@ -725,22 +1039,21 @@ gettext('**Parámetro**: \nms de espera'); gettext('Sacar el tic de apagado de \nla máquina por abort o done \nsegún cómo haya sido'); gettext('Si es por stop: El timer ha abortado \nSi no, es una terminación normal (timeout)'); gettext('**Parámetro**: Módulo del contador'); -gettext('## Synchronous 2x1-bit RAM\n\n* Both the read and write operation are \n synchronous'); -gettext('Address (0/1)'); -gettext('Depending on the address, \nsend the tic write to the \ncorresponding flip-flop'); -gettext('Demux-2-1'); -gettext('Flip-Flop 0'); -gettext('Flip-Flop 1'); -gettext('Flip-flops are loaded with \nthe data input when the \nwrite tic is received'); -gettext('Read operation: \nOutput the selected \nflip-flop'); -gettext('The read data will be available \non the next cycle'); gettext('Base4-counter'); -gettext('Corazón de bombeo de tics a un frecuencia parametrica en Hz'); -gettext('Contador módulo M, ascendente, de 2 bits, con reset '); +gettext('Simplified-Heart-tic-hz-sys-32bits: Nominal periodic signal in hz'); +gettext('Unit-hz-32bits: hz to cycles converter'); +gettext('Heart-sys-zero-32bits: Generate a periodic signal of period T cycles. It starts at cycle 0. It never stops'); gettext('Generate tics'); gettext('Transmit the current number'); gettext('Count from 0 to 3'); gettext('## Base 4 counter\n\nIt prints the count from 0 to 3 on \nthe console'); +gettext('Delay'); +gettext('Start a new period'); +gettext('Start at cycle 0!'); +gettext('Repeat!'); +gettext('Current period ended \nStart a new one'); +gettext('Periodo (in system clock cycles)'); +gettext('Current cycle in the period \n(0-T-1)'); gettext('Hello-world'); gettext('## Hello World\n\nIt prints the string \"Hello World\" \nafter the reset'); gettext('Hterm-toggle-LED'); @@ -749,6 +1062,7 @@ gettext('### Example\n\n```\nHterm 0.5\n? for help\n>?\nHterm 0.5-Toggle\nAvaila gettext('Mini-local-input-console-test-01'); gettext('## Keyboard STDIN test: HTerm-LEDs\n\nThe 2-bits binary input is shown in two LEDs \nThe serial consola and the local keyboard STDIN \nare used'); gettext('Mini-local-input-console-test-02'); +gettext('Valor genérico constante, de 10 bits. Su valor se introduce como parámetro. Por defecto vale 0'); gettext('## 2-bits binary to decimal conversor\n\nThe 2-bits binary numbers are converted into \nit decimal representation (base 4: 0,1,2 and 3) \nThe numbers are introduced either by the serial console \nor the keyboard \n\nThe terminal edition is shown on the console and in \nthe external leds'); gettext('Print the 2-bits number \nas a decimal digit'); gettext('Show the terminal in \nthe LEDs console'); @@ -758,9 +1072,10 @@ gettext('Number entered'); gettext('The LEDs terminal es \nreset on every prompt \nrequest'); gettext('Print the entered number on the \nconsole'); gettext('Previous command finished \nRequest for the prompt'); +gettext('When the inputln is active, \nthe output is also sent \nto the leds'); gettext('hterm-bit-stdout-test-1-2x1-memory'); -gettext('2x1 bits RAM memory with parallel output'); gettext('Comparador de dos operandos de 1 bit'); +gettext('2x1 bits RAM memory with parallel output'); gettext('Blank cmd: \nDump the memory'); gettext('## Memory dump'); gettext('Select the address for accesing \nthe memory: \n0: Addres for writing \n1: Adress for reading'); @@ -792,8 +1107,44 @@ gettext('The push cmd is valid is the \nstack is empty'); gettext('The pop cmd is only valid \nif the stack is full'); gettext('According to the stack state, the \npop command is either ok or \nunderflow!'); gettext('hterm-bit-stdout-test-3-two-elements-stack'); +gettext('Button-tic: Configurable button that emits a tic when it is pressed'); +gettext('Configurable button (pull-up on/off. Not on/off)'); +gettext('FPGA internal pull-up configuration on the input port'); +gettext('Select positive or negative logic for the input (0=positive, 1=negative)'); +gettext('Edges detector. It generates a 1-period pulse (tic) when either a rising edge or a falling edge is detected on the input. Block implementation'); +gettext('16-bits Syscounter with reset'); +gettext('Inc1-16bit: Increment a 16-bits number by one'); +gettext('AdderK-16bit: Adder of 16-bit operand and 16-bit constant'); +gettext('Generic: 16-bits generic constant'); +gettext('Adder-16bits: Adder of two operands of 16 bits'); +gettext('16-Sys-reg-rst: 16 bits system register with reset. Verilog implementation'); +gettext('Sync-x01: 1-bit input with the system clock domain (Verilog implementation)'); gettext('## 2 elements stack\n\nStack composed of two elementos of 1 bit. The interface is the HTerm \nThe digit introduce are store in the stack\nIf another element is entered when the stack is full, the \noverflow message is gotten. \n\nThe blank command is used for poping elements. A pop command \nentered when the stack is empty will produce an undeflow message'); gettext('Stack pointer for \na 2 elements stack'); +gettext('Button state signal'); +gettext('Tic: button pressed'); +gettext('Rising edge detector'); +gettext('Pull up on/off'); +gettext('Not on/off'); +gettext('Internal pull-up \n* 0: OFF\n* 1: ON'); +gettext('Synchronization stage'); +gettext('Normalization stage\n\n* 0: Wire\n* 1: signal inverted'); +gettext('Debouncing stage'); +gettext('### Pull-up parameter:\n\n0: No pull-up \n1: Pull-up activated'); +gettext('Only an FPGA pin can \nbe connected here!!!'); +gettext('The pull-up is connected \nby default'); +gettext('When k=0, it works like a wire \n(The output is equal to the input) \nWhen k=1, it act as a not gate\n(The output is the inverse of the input)'); +gettext('### Truth table for XOR\n\n| k | input | output | function |\n|---|-------|--------|----------|\n| 0 | 0 | 0 | wire |\n| 0 | 1 | 1 | wire |\n| 1 | 0 | 1 | Not |\n| 1 | 1 | 0 | Not |'); +gettext('Edge detector'); +gettext('Whenever there is a change in \nthe input, the counter is started'); +gettext('If the counter reaches it maximum \nvalue, the input is considered stable \nand it is captured'); +gettext('### Time calculation\n\nFor CLK=12MHZ, a 16-bit counter reaches its \nmaximum every 2 ** 16 * 1/F = 5.5ms aprox \nIF more time is needed for debouncing, \nuse a counter with more bits (17, 18...)'); +gettext('## Debouncer \n\nA value is considered stable when \nthere is no changes during 5.5ms \naprox. When a value is stable it is \ncaptured on the output flip-flop'); +gettext('Stable output'); +gettext('Counter'); +gettext('## Edges detector\n\nIt generates a 1-period pulse (tic) when an edge (Rising or falling) is detected on the \ninput signal'); +gettext('The output is 1 if the current value is 1 and the \nprevious 0, or if the current value is 0 and the \nprevious 1\n'); +gettext('In any other case the output is 0'); gettext('hterm-bit-test-1'); gettext('# HTerm-bit\n\nMini-terminal with two commands: 0 and 1 \nThis commands are used for turning a LED on/off'); gettext('Store the received \ncommand'); @@ -806,15 +1157,26 @@ gettext('ok-button'); gettext('## PrintLn OK Test\n\nIt prints the string \"OK\" when the button \nis pressed'); gettext('virtual-toggle-button-test'); gettext('## Virtual Toggle Button Test 1: LED \n\nChange the LED using the Virtual serial toggle button '); +gettext('2x1-bits-memory-test'); +gettext('Base4-counter'); +gettext('Hello-world'); +gettext('Hterm-toggle-LED'); +gettext('Mini-local-input-console-test-01'); +gettext('Mini-local-input-console-test-02'); +gettext('hterm-bit-stdout-test-1-2x1-memory'); +gettext('hterm-bit-stdout-test-2-one-element-stack'); +gettext('hterm-bit-stdout-test-3-two-elements-stack'); +gettext('hterm-bit-test-1'); +gettext('hterm-bitx2-test-1-LEDs'); +gettext('ok-button'); +gettext('virtual-toggle-button-test'); gettext('01-print-matrix'); -gettext('Máquina de wait'); gettext('**Reset, HOME** \n**CLS, GREEN**'); gettext('* Reset: \"\\033[0m\" \n* Home: \"\\033[H\"\n* CLS: \"\\033[2J\"\n* Green color (fg): \"\\033[32;1m\"\n\n'); gettext('https://www.youtube.com/watch?v=kIXNpePYzZU\n\nCall trans opt: received. 2-19-98 13:24:18 REC:Log> \nTrace program: running\n'); gettext('## Example 1: Matrix (Opening scene) \n\nTwo messages are printed on the console in green color \nThe printing emulates a slow terminal \n\n'); gettext('**Message 1**'); gettext('**Message 2**'); -gettext('Apagado de la máquina'); gettext('02-Button-state-ANSI'); gettext('## Example 2: Big button state \n\nThe state of the pushbutton is shown in big ANSI digits \n'); gettext('The tic activates on print \nor another depending on the state \nof the button'); @@ -924,6 +1286,24 @@ gettext('Add command: \njust capture the \nop1 + op2 value '); gettext('operand 1'); gettext('Operand 2'); gettext('## HCalc 2-bits accumulator\n\nA 2-bits acumulator is used for adding the 0's and 1's introduced \nin the Hardware terminal. The result is printed on the console \nin binary\n'); +gettext('12-Ansi-bouncing-ball'); +gettext('Sumador de un dos operandos de 8 bits (sin acarreo)'); +gettext('**Locate**'); +gettext('**Column**'); +gettext('**Row**'); +gettext('**Hide cursor**'); +gettext('01-print-matrix'); +gettext('02-Button-state-ANSI'); +gettext('03-cowsay-bin'); +gettext('04-NOT-truth-table'); +gettext('05-ram-2x1-bit-test-term'); +gettext('06-Hcalc-acumulator'); +gettext('07-Hcalc-terminal'); +gettext('08-Hcalc-expresion'); +gettext('09-Hcalc-stack'); +gettext('10-Hcalc-two-elements-stack'); +gettext('11-Hcalc-2bits-acumulator'); +gettext('12-Ansi-bouncing-ball'); gettext('getc-bit-01'); gettext('# GETC-BIT: Example 1\n\nReceive a bit of information, coded into the characters '0' and '1' \nWhen the characters '0' or '1' are received, a tic is emited by rcv \nand the bit is loaded into the flip-flop\n\nTherefore, using the keys \"1\" and \"0\" we control the state of the \nLED0\n'); gettext('A bit has arrived. Store it \nin the Flip-flop for showing \nin the LED'); @@ -934,8 +1314,10 @@ gettext('Bit codified in the \n'0' and '1' characters'); gettext('Bit codified in the \n's' and 'n' characters'); gettext('getc-bit-03'); gettext('Baliza luminosa de 2 leds. Parpadean alternativamente a 2Hz cuando se activa'); -gettext('Bombear 2 bits por segundo'); -gettext('Corazon genérico para bombear bits a la frecuencia fijada en Hz (por defecto 1Hz)'); +gettext('Simplified-Heart-Hz-sys-32bits: periodic signal in Hertz. Duty cicle of 50 percent'); +gettext('SR1-32bits: Shift a 32-bit value one bit right. MSB is filled with the input in'); +gettext('Bus32-Split-31-1: Split the 32-bits bus into two buses of 31 and 1 wires'); +gettext('Bus32-Join-1-31: Join the two buses into an 32-bits Bus'); gettext('## Test Circuit\n\nIt just blinks the two LEDs, \nwhen started'); gettext('# GETC-BIT: Example 3\n\nExample of starting a circuit by command line \nThe circuit to start is a simple one: two blinking LEDs \nAfter the reset, a message is printed on the console asking \nif the test circuit should be estarted or no \n\nIf the user press \"y\" (in lower case) the test circuit is turned on \nand an ok message is printed on the console\n\nIf the user press \"n\" (in lower case) a message is printed on the \nconsole and the reception of serial comands is disabled'); gettext('Circuit state: \n0: Disabled \n1: Enabled '); @@ -949,7 +1331,7 @@ gettext('Initial question'); gettext('NO message'); gettext('YES message'); gettext('**Baliza luminosa**\n\nParpadeo de los LEDs alternativamente a 2Hz, cuando están habilitados '); -gettext('Creado a partir de un **corazón \ngenérico**, dando el valor adecuado \na su parámetro frecuencia'); +gettext('Dividir entre dos el periodo \n(Multiplicar por 2 la frecuencia) '); gettext('getc-char-01'); gettext('Multiplicador de cables. Genera un bus de 4 bits, a patir del bit de entrada'); gettext('# GETC-CHAR: Example 1\n\nThe keys \"1\", \"2\" and \" \" (space) are detected \nAll the rest are ignored \nWhen the \"1\" is detected, the LED7 is turn ON\nwhen the \"2\" is detected, the LED7 is turn OFF\nwhen the \" \" is detectaed, the LEDs 0 - 3 are toglled \n\nThe GETC-CHAR blocks can be chained. Whem a block detect is character, the \ncorresponding tic signal is removed from the transparent channel and \nemited to its rcv output'); @@ -981,6 +1363,13 @@ gettext('Detect a change in the input \nif so, print input and output'); gettext('Show the output in the LED'); gettext('getc-pritnable-char-01'); gettext('# GETC-PRINTABLE-CHAR: Example 1\n\nOnly the printable characteres received are \nprinted on the console. The rest are ignored '); +gettext('getc-bit-01'); +gettext('getc-bit-02'); +gettext('getc-bit-03'); +gettext('getc-char-01'); +gettext('getc-char-02'); +gettext('getc-char-03'); +gettext('getc-pritnable-char-01'); gettext('inputln-bit-test-01-led-on-off'); gettext('# INPUTLN-BIT: Example 1\n\nMini-terminal with two commands: 0 and 1 \nThis commands are used for turning a LED on/off'); gettext('inputln-bitx2-test-01-LEDs'); @@ -998,6 +1387,10 @@ gettext('When the dump tic is received \nthe buffer is outputed, \nchar by cha gettext('The next char is outputed \nwhen the previous one has \nalready been printed on the \nconsole'); gettext('The command is printed \non the console, char by \nchar'); gettext('Print one char of the \ncommand'); +gettext('inputln-bit-test-01-led-on-off'); +gettext('inputln-bitx2-test-01-LEDs'); +gettext('inputln-char-test-01-LEDs'); +gettext('inputln-charx2-cmd-echo'); gettext('Input-bit-01'); gettext('# INPUT-BIT: Example 1\n\nExample of the input-bit block. The state of the LED0 \nis set by the user after the initializacion, only once \nby pressing the '1' or '0' keys \nThen the OK! message is printed and no more read on the \nconsole are allowed'); gettext('Start the input machine \nafter the reset'); @@ -1033,7 +1426,7 @@ gettext('LED state, from \nthe user'); gettext('# INPUT-BIT: Example 3\n\nThere is one input-bit block that is started 4 times by a \ncount machine. Each user input correspond to the state of one \nof four LEDs. This is the output in the console:\n\n```\nLED0 state? (0/1) \nLED1 state? (0/1) \nLED2 state? (0/1) \nLED3 state? (0/1) \nOK\n```\n\n'); gettext('**OK message**'); gettext('Input-bit-04'); -gettext('# INPUT-BIT: Example 4\n\nTwo chained inputs. The firt bit is used for seting the first \nLED nad the second bit is for the other LED. The two bits \nare printed on the stdout'); +gettext('# INPUT-BIT: Example 4\n\nTwo chained inputs. The firt bit is used for seting the first \nLED and the second bit is for the other LED. The two bits \nare printed on the stdout'); gettext('Start the second \nmachine '); gettext('**Print the bit**'); gettext('Input-bit-05'); @@ -1044,6 +1437,14 @@ gettext('input-printable-char-01'); gettext('# INPUT-PRINTABLE-CHAR Test: Example 1\n\nCheck the input printable char block \nWhen activated, the printable char is printed on \nthe console. '); gettext('input-printable-char-echo-01'); gettext('# INPUT-PRINTABLE-CHAR-echo Test: Example 2\n\nCheck the input printable char echo block \n'); +gettext('Input-bit-01'); +gettext('Input-bit-02'); +gettext('Input-bit-03'); +gettext('Input-bit-04'); +gettext('Input-bit-05'); +gettext('input-printable-char-01'); +gettext('input-printable-char-echo-01'); +gettext('input-printable-char-echo-01-orig'); gettext('01-input-bit-button'); gettext('**Read one bit**: \nWait for the user to \ntype '1' or '0''); gettext('Show the received bit \non the LED'); @@ -1054,10 +1455,48 @@ gettext('Set the LED according \nto the command (0/1)'); gettext('Valid command: OK!'); gettext('# INPUT-BIT-echo: Example 2\n\nSimple terminal with only two commands: 0 and 1 \nIt prompts the user to enter the commands. All the \nkeys are ignored except '1' and '0' that correspond \nto the valid commands, used to turn the LED on or off\n'); gettext('03-input-bit-hterm-02'); -gettext('# Terminal\n\nSmall terminal with two commands: \n'1' for toggling the LED and \n'0' for reading the LED's state'); +gettext('# Terminal\n\nSmall terminal with two commands: \n'1' for toggling the LED and \n'2' for reading the LED's state'); gettext('**Message printing the led state**\n\nString + Bit + Char (new line)'); gettext('Initial \ntic'); gettext('LED state msg'); +gettext('01-input-bit-button'); +gettext('02-input-bit-hterm-01'); +gettext('03-input-bit-hterm-02'); +gettext('Alhambra-II'); +gettext('Blackice-I'); +gettext('Icestick'); +gettext('Lattice-Breakout-board'); +gettext('Nandland-Go-Board'); +gettext('TinyFPGA-BX'); +gettext('iCEBreaker'); +gettext('Hello-world'); +gettext('## Hello World\n\nIt prints the string \"Hello World\" \nevery second\n\n```\nHello World!\nHello World!\nHello World!\n...\n```'); +gettext('Alhambra II system clock'); +gettext('Hello-world'); +gettext('Hello-world'); +gettext('Simplified-Heart-tic-sec-sys-32bits: Nominal periodic signal in seconds'); +gettext('Unit-s-32bits: seconds to cycles converter'); +gettext('BlackIce I system clock: \n100MHz'); +gettext('UART-TX connection'); +gettext('T Flip-Flop'); +gettext('## Hello World\n\nIt prints the string \"Hello World\" \nrepeteadly \n\n```\nHello World!\nHello World!\nHello World!\n...\n```'); +gettext('Hello-world'); +gettext('Hello-world'); +gettext('Icestick system clock'); +gettext('Hello-world'); +gettext('Hello-world'); +gettext('iCE40 Breakout board \nsystem clock'); +gettext('Hello-world'); +gettext('Hello-world'); +gettext('Nandland Go-board \nsystem clock: 25Mhz'); +gettext('Hello-world'); +gettext('Hello-world'); +gettext('TinyFPGA BX System clock'); +gettext('Hello-world'); +gettext('Hello-world'); +gettext('iCEBreaker system clock'); +gettext('Hello-world'); +gettext('Print-int'); gettext('Test'); gettext('Print-01-two-buttons'); gettext('# PRINT: Example 1\n\nExample of the PRINT block: printing a \nconstant string\n\nTwo differente messages are printed, according \nto the button pressed\n\n* Button 1 ---> Message 1 \n* Button 2 ---> Message 2'); @@ -1082,6 +1521,46 @@ gettext('# PRINT-base4-bin: Example 2: Two buttons\n\nPrint the state of the two gettext('Number to print \n(in binary)'); gettext('There is a change on \nsome button'); gettext('Print in \nBinary'); +gettext('Print-hex-01-Button-counter'); +gettext('Counter-x08: 8-bits counter'); +gettext('Inc1-8bit: Increment a 8-bits number by one'); +gettext('AdderK-8bit: Adder of 8-bit operand and 8-bit constant'); +gettext('Print-hex-12-01-Button-table'); +gettext('Circuito combinacional de 3 entradas y 12 salidas'); +gettext('Print-hex-16-01-Button-table'); +gettext('Circuito combinacional de 3 entradas y 16 salidas'); +gettext('Print-uint12-test-01'); +gettext('Máquina de contar, de 12 bits'); +gettext('Valor genérico constante (menos 1), de 12 bits. Su valor se introduce como parámetro. Por defecto vale 0'); +gettext('Comparador de dos operandos de 12 bits'); +gettext('12-Reg-rst: 12 bits Register with reset. Verilog implementation'); +gettext('Print-uint16-test-01'); +gettext('Máquina de contar, de 16 bits'); +gettext('Comparador de dos operandos de 16 bits'); +gettext('Valor genérico constante (menos 1), de 16 bits. Su valor se introduce como parámetro. Por defecto vale 0'); +gettext('16-Reg-rst: 16 bits Register with reset. Verilog implementation'); +gettext('Print-uint4-01-button-counter'); +gettext('Counter-x04: 4-bits counter'); +gettext('Inc1-4bit: Increment a 4-bits number by one'); +gettext('AdderK-4bit: Adder of 4-bit operand and 4-bit constant'); +gettext('Print-uint4-02-count'); +gettext('Print-uint8-test-01'); +gettext('Máquina de contar, de 8 bits'); +gettext('print-int4-test-01'); +gettext('Start counting from -8 up to 7'); +gettext('Print a 4-bits \nsigned integer'); +gettext('print-int12-test-01'); +gettext('Start counting from (-2048 up to 2047)'); +gettext('Print a 12-bits \nsigned integer'); +gettext('print-int16-test-01'); +gettext('Start counting from (-32768 up to 32767)'); +gettext('Print a 16-bits \nsigned integer'); +gettext('print-int8-test-01'); +gettext('Start counting from -128 up to 127'); +gettext('Print a 8-bits \nsigned integer'); +gettext('print-int12-test-01'); +gettext('print-int16-test-01'); +gettext('print-int8-test-01'); gettext('asc'); gettext('str'); gettext('Test-print-asc-02'); @@ -1100,6 +1579,14 @@ gettext('Test-print-asc-32'); gettext('## Test Print-asc-32 \n\nTesting the Print-asc-32 block \nWhen the button is pressed the \nmessage is printed'); gettext('Test-print-asc-64'); gettext('## Test Print-asc-64 \n\nTesting the Print-asc-64 block \nWhen the button is pressed the \nmessage is printed'); +gettext('Test-print-asc-02'); +gettext('Test-print-asc-04'); +gettext('Test-print-asc-08'); +gettext('Test-print-asc-128'); +gettext('Test-print-asc-16'); +gettext('Test-print-asc-256'); +gettext('Test-print-asc-32'); +gettext('Test-print-asc-64'); gettext('Test-print-str-02'); gettext('## Test Print-str-02 \n\nTesting the Print-asc-2 block \nWhen the button is pressed the charachter \n'X' is sent'); gettext('Test-print-str-04'); @@ -1116,6 +1603,30 @@ gettext('Test-print-str-32'); gettext('## Test Print-str-32\n\nTesting the Print-str-32 block \nWhen the button is press the \nstring is printed (it is also printed \nafter the reset)'); gettext('Test-print-str-64'); gettext('## Test Print-str-64\n\nTesting the Print-str-64 block \nWhen the button is press the \nstring is printed (it is also printed \nafter the reset)'); +gettext('Test-print-str-02'); +gettext('Test-print-str-04'); +gettext('Test-print-str-08'); +gettext('Test-print-str-128'); +gettext('Test-print-str-16'); +gettext('Test-print-str-256'); +gettext('Test-print-str-32'); +gettext('Test-print-str-64'); +gettext('Print-01-two-buttons'); +gettext('Print-02-two-buttons-ASCII-art'); +gettext('Print-03-menu'); +gettext('Print-04-str-two-buttons'); +gettext('Print-base4-bin-01-counter'); +gettext('Print-base4-bin-02-two-buttons'); +gettext('Print-hex-01-Button-counter'); +gettext('Print-hex-12-01-Button-table'); +gettext('Print-hex-16-01-Button-table'); +gettext('Print-uint12-test-01'); +gettext('Print-uint16-test-01'); +gettext('Print-uint4-01-button-counter'); +gettext('Print-uint4-02-count'); +gettext('Print-uint8-test-01'); +gettext('print-int4-test-01'); +gettext('test'); gettext('PrintLn-BitVar-01'); gettext('## PrintLN-BitVar-01\n\nThe state of the SW1 button is printed on the \nconsole. The variable a is assigned. In the console you will \nsee the value of the a varible: \n```\na1\na0\n...\n```\n\n'); gettext('PrintLn-base4-01-counter'); @@ -1123,11 +1634,17 @@ gettext('# PRINTLN-base4: Example 1\n\nPrinting the numbers from 0 to 3'); gettext('PrintLn-bit-01-button'); gettext('# PRINTLN-bit: Example 1\n\nExample using the PrintLN-bit block\nPrinting the state of the Button 2 when the \nbutton 1 is pressed'); gettext('Println-ok-01-button'); +gettext('PrintLn-BitVar-01'); +gettext('PrintLn-base4-01-counter'); +gettext('PrintLn-bit-01-button'); +gettext('Println-ok-01-button'); gettext('Putc-Base-4'); gettext('Putc-bit'); gettext('Putc-char'); +gettext('Putc-hex'); gettext('putc-base4-01'); gettext('# PUTC-BASE4-stdout: Example 1\n\nPrinting the 0,1,2 and 3 numbers'); +gettext('putc-base4-01'); gettext('putc-bit-01'); gettext('Transmit the bit as \na character ('1' or '0')'); gettext('Bit to transmit \nIs changed every tic: 0,1,0...'); @@ -1166,11 +1683,18 @@ gettext('# PUTC-BIT-STDOUT: Example 7\n\nExample of use of the **STDOUT BUS** \ gettext('**Main circuit** '); gettext('Changes in A and B signals'); gettext('Print the initial state'); +gettext('putc-bit-01'); +gettext('putc-bit-02'); +gettext('putc-bit-03-button-changed'); +gettext('putc-bit-04-two-buttons'); +gettext('putc-bit-05-two-buttons2'); +gettext('putc-bit-06-AND-test'); +gettext('putc-bit-07-AND-test2'); gettext('putc-char-01'); -gettext('Código ASCII del carácter A'); -gettext('Corazón de bombeo de tics a con periodo paramétrico de segundos'); +gettext('8bits ASCII Letter A'); gettext('# PUTC-CHAR: Example 1\n\nExample of use of the putc-char block \nThe 'A' character is sent every second\n'); gettext('putc-char-02'); +gettext('Simplified-Heart-tic-ms-sys-32bits: Nominal periodic signal in mili seconds'); gettext('# PUTC-CHAR: Example 2\n\nExample of chaining the putc-char block with the \nputc-bit block. The state of the button 1 is \nprinted on the console every 100ms\n\nFirst the state is printed, followed by a New line\n'); gettext('**Module 2** \nNew line '); gettext('**Module 1** \nPrinting the button \nstate'); @@ -1184,6 +1708,7 @@ gettext('Print the Input \nas '0' or '1' characters'); gettext('Print a new line \n(\\n)'); gettext('Every 100ms the module 1 is started \nfor printing the input (A). When \nit is finished, the module 2 is \nstarted for printing the output (B) \nand finally the module for printing \nthe new line character '); gettext('putc-char-04'); +gettext('Código ASCII del carácter LF'); gettext('# PUTC-CHAR: Example 4\n\nMonitoring a NOT gate: The state of the input and \noutput are sent throug the serial port whenever \nthere is a change in its input (also after the reset) '); gettext('Where there is a change in the input \nthe module 1 is started for printing \nthe input (A). When it is finished, \nthe module 2 is started for printing \nthe output (B) and finally the module \nfor printing the new line character '); gettext('There is change in the \nbutton state '); @@ -1214,9 +1739,21 @@ gettext('**Module 4**'); gettext('**Module 5**'); gettext('The module 1 is activated every 100ms \nAs all the modules are chained, when the \ni module is done, the i+1 module is started \n'); gettext('### Circuit to monitorize'); +gettext('putc-char-01'); +gettext('putc-char-02'); +gettext('putc-char-03'); +gettext('putc-char-04'); +gettext('putc-char-05'); +gettext('putc-char-06'); +gettext('putc-char-07'); +gettext('putc-char-08'); +gettext('01-putc-hex-test1'); +gettext('# Putc-hex-test-1:\n\nPrint a hexadecimal char when the button \nSW1 is pressed'); +gettext('01-putc-hex-test1'); gettext('Syntax-char-toggle-led'); gettext('### Example\n\n```\n>t\n1\nOK!\n>t\n0\nOK!\n>hd\nUnknown command\n>\n```'); gettext('## Unkwnon command output'); +gettext('Syntax-char-toggle-led'); gettext('stdout-LEDx8-test-01'); gettext('# STDOUT-LEDx8: Example 1\n\nTesting the LEDx8 stdout device \n\nSend the bits 1 and 0 to the STDOUT bus, where the \n8-device LEDs is connected'); gettext('Bit 1'); @@ -1224,7 +1761,6 @@ gettext('Bit 2'); gettext('**STDOUT** BUS '); gettext('**Print Bit 1**'); gettext('**Print Bit 0**'); -gettext('It only takes one cycle \nto process the character'); gettext('stdout-LEDx8-test-02'); gettext('# STDOUT-LEDx8: Example 2\n\nTesting two output devices connected to the \nSTDOUT BUS\n\nThe bits 0 and 1 are sent when the buttons 0 and 1 are \npressed respectively. They are printed on both devices: \nThe serial console and the LEDs'); gettext('**OUTPUT DEVICE 1:** LEDS '); @@ -1244,3 +1780,8 @@ gettext('Board LEDs'); gettext('External LEDs'); gettext('stdout-LEDx8-test-05'); gettext('# STDOUT-LEDx8: Example 5\n\nExample of combining 4 i/o devices: two inputs and two outputs\n\nTwo input devices are combined into one STDIN: \nThe serial input and the keyboard \nAll the characters inputed are written on both \noutput devices: serial and LEDs\n'); +gettext('stdout-LEDx8-test-01'); +gettext('stdout-LEDx8-test-02'); +gettext('stdout-LEDx8-test-03'); +gettext('stdout-LEDx8-test-04'); +gettext('stdout-LEDx8-test-05');