mirror of
https://github.com/hneemann/Digital.git
synced 2025-09-08 04:15:43 -04:00
updates the Portuguese translation
This commit is contained in:
parent
3faea4a6c3
commit
10f481e514
@ -139,7 +139,10 @@ In the file howTo.md you can find more details about translations.
|
||||
<string name="elem_RGBLED_pin_B">O canal da cor azul.</string>
|
||||
<string name="elem_PolarityAwareLED">LED com duas conexões.</string>
|
||||
<string name="elem_PolarityAwareLED_tt">LED com conexões para o cátodo e o ânodo. O LED acenderá,
|
||||
se o ânodo estiver ligado ao positivo e o cátodo estiver ligado ao negativo.</string>
|
||||
se o ânodo estiver ligado em nível alto e o cátodo estiver ligado em nível baixo.
|
||||
Esse LED não poderá ser usado como resistor pull-down. Só servirá como elemento para exibição.
|
||||
O resistor representado servirá apenas para simbolizar o equivalente aos necessários resistores em série
|
||||
usados para limitar a corrente.</string>
|
||||
<string name="elem_PolarityAwareLED_pin_A">A conexão do ânodo do LED.</string>
|
||||
<string name="elem_PolarityAwareLED_pin_C">A conexão do cátodo do LED.</string>
|
||||
<string name="elem_In">Entrada</string>
|
||||
@ -148,7 +151,7 @@ In the file howTo.md you can find more details about translations.
|
||||
Nesse caso a conexão é bidirecional.
|
||||
Também é usado para atribuir um número PIN, se código para CPLD ou FPGA for gerado.</string>
|
||||
<string name="elem_In_pin_out">Fornece o valor ao qual está ligada a essa entrada.</string>
|
||||
<string name="elem_DipSwitch">DIP Switch</string>
|
||||
|
||||
<string name="elem_DipSwitch_tt">Chave DIP que pode ter a saída alta ou baixa.</string>
|
||||
<string name="elem_DipSwitch_pin_out">O valor da chave de saída.</string>
|
||||
<string name="elem_Clock">Entrada do Clock</string>
|
||||
@ -727,7 +730,7 @@ In the file howTo.md you can find more details about translations.
|
||||
<string name="elem_Testcase">Caso de teste</string>
|
||||
<string name="elem_Testcase_tt">Descrever um caso de teste.
|
||||
Em um teste de caso será possível descrever o comportamento de um circuito. Isso poderá ser automaticamente verificado, ou seja,
|
||||
se o comportamento realmente corresponde à descrição, ou não, e assim sendo uma mensagem de erro será mostrada.</string>
|
||||
se o comportamento realmente corresponde à descrição, ou não, e assim sendo, uma mensagem de erro será mostrada.</string>
|
||||
<string name="elem_AsyncSeq">Temporização assíncrona</string>
|
||||
<string name="elem_AsyncSeq_tt">Será permitido a temporização de um circuito sequencial assíncrono, tal como um pipeline de Muller.
|
||||
O circuito deverá ser iniciado em modo de passo único e deverá alcançar um estado estável logo ao iniciar-se.
|
||||
@ -1422,13 +1425,13 @@ In the file howTo.md you can find more details about translations.
|
||||
<string name="menu_terminalDelete">Apagar</string>
|
||||
<string name="menu_terminalDelete_tt">Apagar o conteúdo do terminal.</string>
|
||||
<string name="menu_view">Visualizar</string>
|
||||
<string name="menu_zoomIn">Zoom In</string>
|
||||
<string name="menu_zoomOut">Zoom Out</string>
|
||||
|
||||
|
||||
<string name="menu_expression">Expressão</string>
|
||||
<string name="menu_expression_tt">Criar circuito dada a expressão.</string>
|
||||
<string name="menu_runTests">Executar testes</string>
|
||||
<string name="menu_runTests_tt">Executar todos os casos de testes</string>
|
||||
<string name="menu_actualToDefault">Definir entradas</string>
|
||||
<string name="menu_actualToDefault">Definir entradas padrões</string>
|
||||
<string name="menu_actualToDefault_tt">Usar os valores atuais das entradas como padrão.</string>
|
||||
<string name="menu_restoreAllFuses">Reiniciar diodos e FGFETs</string>
|
||||
<string name="menu_restoreAllFuses_tt">Reiniciar todos os diodos (fusíveis) e FGFETs como "não programados". A configuração vigente dos fusíveis será descartada!</string>
|
||||
@ -1515,7 +1518,7 @@ In the file howTo.md you can find more details about translations.
|
||||
<string name="msg_testResult">Resultado de teste</string>
|
||||
<string name="msg_test_N_Passed">{0} com êxito</string>
|
||||
<string name="msg_test_N_Failed">{0} com falha</string>
|
||||
<string name="msg_testExp_N0_found_N1">E: {0} / F: {1}</string>
|
||||
|
||||
<string name="msg_creatingHelp">Erro ao criar a ajuda!</string>
|
||||
<string name="msg_clipboardContainsNoImportableData">A área de transferência não contém dados para importar!</string>
|
||||
<string name="msg_selectAnEmptyFolder">Selecionado arquivo vazio!</string>
|
||||
@ -1661,6 +1664,7 @@ In the file howTo.md you can find more details about translations.
|
||||
<string name="msg_testVectorHelp"><html>
|
||||
<head><style>pre { background-color: #E0E0E0;}</style></head>
|
||||
<body>
|
||||
<h3>Geral</h3>
|
||||
<p>A primeira linha deverá conter os nomes das entradas e das saídas.
|
||||
As linhas seguintes deverão conter os valores esperados.
|
||||
Um 'X' representará um "don't care", e um 'Z' representará um valor em alta impedância.
|
||||
@ -1678,7 +1682,7 @@ In the file howTo.md you can find more details about translations.
|
||||
C 1 1
|
||||
C 0 0
|
||||
</pre>
|
||||
|
||||
|
||||
<p>Os testes serão executados por Executar->Testes de execução.</p>
|
||||
<p>
|
||||
Para tornar mais fácil a criação de muitos arranjos de testes, há o comando 'repeat([n])':
|
||||
@ -1691,35 +1695,56 @@ In the file howTo.md you can find more details about translations.
|
||||
<p>A seguir há um exemplo para testar um somador de 4-bits:</p>
|
||||
|
||||
<pre>
|
||||
C_i-1 A_3 A_2 A_1 A_0 B_3 B_2 B_1 B_0 C_i S_3 S_2 S_1 S_0
|
||||
repeat(256) 0 bits(4,n>>4) bits(4,n) bits(5,(n>>4)+(n&15))
|
||||
repeat(256) 1 bits(4,n>>4) bits(4,n) bits(5,(n>>4)+(n&15)+1)
|
||||
C_i-1 A_3 A_2 A_1 A_0 B_3 B_2 B_1 B_0 C_i S_3 S_2 S_1 S_0
|
||||
repeat(256) 0 bits(4,n>>4) bits(4,n) bits(5,(n>>4)+(n&15))
|
||||
repeat(256) 1 bits(4,n>>4) bits(4,n) bits(5,(n>>4)+(n&15)+1)
|
||||
</pre>
|
||||
|
||||
<p>Os sinais de entrada serão o carry-in (C_i-1) e os oito bits de entrada A_3-A_0 e B_3-B_0.
|
||||
<p>
|
||||
Os sinais de entrada serão o carry-in (C_i-1) e os oito bits de entrada A_3-A_0 e B_3-B_0.
|
||||
Os 4 bits de entrada serão gerados pela instrução 'bits'. O resultado (C_i, S_3-S_0) também será gerado
|
||||
pela mesma instrução.
|
||||
Isso irá ocorrer um vez com C_i-1 = 0 e na próxima linha com C_i-1 = 1.
|
||||
Dessa forma, 512 linhas de testes serão gerados para cobrir todas as configurações possíveis das entradas.</p>
|
||||
<p>Se múltiplas linhas forem repetidas, ou se repetições aninhadas forem requeridas, o comando de
|
||||
repetição
|
||||
poderá ser usado. O exemplo acima poderia ser implementado como mostrado a seguir:</p>
|
||||
repetição poderá ser usado. O exemplo acima poderia ser implementado como mostrado a seguir:
|
||||
</p>
|
||||
|
||||
<pre>
|
||||
C_i-1 A_3 A_2 A_1 A_0 B_3 B_2 B_1 B_0 C_i S_3 S_2 S_1 S_0
|
||||
C_i-1 A_3 A_2 A_1 A_0 B_3 B_2 B_1 B_0 C_i S_3 S_2 S_1 S_0
|
||||
loop(a,16)
|
||||
loop(b,16)
|
||||
0 bits(4,a) bits(4,b) bits(5,a+b)
|
||||
1 bits(4,a) bits(4,b) bits(5,a+b+1)
|
||||
end loop
|
||||
loop(b,16)
|
||||
0 bits(4,a) bits(4,b) bits(5,a+b)
|
||||
1 bits(4,a) bits(4,b) bits(5,a+b+1)
|
||||
end loop
|
||||
end loop
|
||||
</pre>
|
||||
|
||||
<p>Poderia ser útil para gerar valores aleatórios para casos de testes.
|
||||
<p>
|
||||
Sob certas circunstâncias poderá necessitar se capaz de reagir ao estado inicial do circuito.
|
||||
Portanto, os sinais fornecidos pelo circuito poderão ser usados como caso de teste.
|
||||
Por exemplo, se um contador que for iniciado em um estado indefinido for testado,
|
||||
poderá ser levado a um estado definido na variação do clock:
|
||||
</p>
|
||||
|
||||
<pre>C Q_3 Q_2 Q_1 Q_0
|
||||
|
||||
# clock counter to 1111
|
||||
while(!(Q_3 & Q_2 & Q_1 & Q_0))
|
||||
C x x x x
|
||||
end while
|
||||
|
||||
# start the test execution
|
||||
repeat(16) C bits(4,n)
|
||||
</pre>
|
||||
|
||||
<p>
|
||||
Poderia ser útil para gerar valores aleatórios para casos de testes.
|
||||
Isso poderá ser criado pela função 'random([n])'. O valor gerado será maior ou igual a
|
||||
zero e menor que [n]. Considerando um multiplicador de 16-bits como exemplo,
|
||||
um teste completo não poderá ser executado pois deveria ter 2^32 combinações das entradas.
|
||||
Um teste de regressão para multiplicar 100000 valores aleatórios poderia se parecer como isso:</p>
|
||||
Um teste de regressão para multiplicar 100000 valores aleatórios poderia se parecer como isso:
|
||||
</p>
|
||||
|
||||
<pre>
|
||||
A B Y
|
||||
@ -1730,9 +1755,10 @@ In the file howTo.md you can find more details about translations.
|
||||
end loop
|
||||
</pre>
|
||||
|
||||
<p>Uma entrada que permita um valor em alta impedância também poderá ser usada como valor de saída de
|
||||
<p>
|
||||
Uma entrada que permita um valor em alta impedância também poderá ser usada como valor de saída de
|
||||
teste.
|
||||
Nesse caso, o nome do sinal poderá ser usado com o sufixo "_out" para ser lido de volta e ter o valor comparado.
|
||||
Nesse caso, o nome do sinal poderá ser usado com o sufixo '_out' para ser lido de volta e ter o valor comparado.
|
||||
Para isso, a entrada correspondente deverá ser definida como de alta impedância ('Z').</p>
|
||||
|
||||
<pre>OE CLK D D_out
|
||||
@ -1743,12 +1769,72 @@ In the file howTo.md you can find more details about translations.
|
||||
1 0 z 0
|
||||
</pre>
|
||||
|
||||
<p>O circuito para esse teste deverá ter apenas uma entrada 'D', a qual poderá estar em estado de alta
|
||||
<p>
|
||||
O circuito para esse teste deverá ter apenas uma entrada 'D', a qual poderá estar em estado de alta
|
||||
impedância.
|
||||
Portanto, o sinal 'D_out' também será avaliado para se verificar o valor desse caso.</p>
|
||||
|
||||
</body></html>
|
||||
</string>
|
||||
<p>
|
||||
Em casos especiais, pode ser desejável usar sinais providos pelo circuito,
|
||||
derivar um novo sinal, e então testá-lo. Um exemplo poderá ser o de um barramento
|
||||
de sinal com vários bits, onde apenas um único bit deverá ser testado, enquanto os
|
||||
outros não terão qualquer influência sobre o teste. Nesse caso, um novo sinal poderá
|
||||
ser gerado, no próprio teste, apenas para conter esse bit, de modo que outros testes
|
||||
possam ser definidos para o mesmo.
|
||||
</p>
|
||||
|
||||
<p>Isso poderá ser feito pelo comando 'declare':</p>
|
||||
|
||||
<pre>A B Bit
|
||||
|
||||
declare Bit = (Bus>>3)&1;
|
||||
|
||||
0 0 0
|
||||
0 1 0
|
||||
1 0 1
|
||||
1 1 0
|
||||
</pre>
|
||||
|
||||
<p>
|
||||
Nesse exemplo, o terceiro bit será isolado do sinal do barramento ('Bus') e
|
||||
tornado disponível como o sinal 'Bit' para teste. O circuito em si não terá 'Bit' como saída.
|
||||
</p>
|
||||
|
||||
<h3>Processadores</h3>
|
||||
|
||||
<p>
|
||||
Se processadores forem testados, normalmente a inicialização de processador será requerida.
|
||||
É possível executar essa inicialização no próprio caso de teste.
|
||||
Dessa forma, vários testes poderão ser acomodados em um circuito e cada teste poderá ter sua prória inicialização.
|
||||
Há três instruções para executar essa inicialização:
|
||||
</p>
|
||||
|
||||
<ul>
|
||||
<li>
|
||||
O comando 'program' poderá ser usado para sobrescrever a memória de programa do processador.
|
||||
A instrução <pre>program(0x8000,0x2d11,0x8000,0x2f21)</pre> colocará quatro palavras no início da
|
||||
memória de programa. Todas as outras palavras serão iguais a zero.
|
||||
</li>
|
||||
<li>
|
||||
A instrução 'memory' podrá ser usada para guardar valor em componente do tipo RAM:
|
||||
<pre>memory mem(3)=7;</pre>
|
||||
Esse exemplo guardará o valor 7 na memória identificada por 'mem' no endereço 2.
|
||||
</li>
|
||||
<li>
|
||||
Um registrador identificado poderá ser sobrescrito com o comando 'init'.
|
||||
<pre>init R0=22;</pre>
|
||||
Essa instrução sobrescreverá o registrador identificado por 'R0' com o valor 22.
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
<p>
|
||||
Deve-se notar que todas as inicializações somente serão aplicadas uma única vez
|
||||
antes da execução do teste, independente da linha no caso de teste onde esses comandos
|
||||
possam estar. Contudo, não devem ser usados antes da linha de cabeçalho
|
||||
que relaciona os nomes dos sinais.
|
||||
</p>
|
||||
|
||||
</body></html></string>
|
||||
<string name="fsm_title">Máquina de Estados Finitos (FSM)</string>
|
||||
<string name="fsm_noMove">Nenhuma transição</string>
|
||||
<string name="fsm_moveTrans">Transições</string>
|
||||
@ -2131,4 +2217,81 @@ In the file howTo.md you can find more details about translations.
|
||||
<string name="elem_StepperMotorBipolar_pin_B+">Bobina B, positivo</string>
|
||||
<string name="elem_StepperMotorBipolar_pin_B-">Bobina B, negativo</string>
|
||||
<string name="key_colorScheme_DARK">Escuro</string>
|
||||
<string name="elem_ScopeTrigger">Gráficos com dados amostrados</string>
|
||||
<string name="elem_ScopeTrigger_short">Osciloscópio</string>
|
||||
<string name="elem_ScopeTrigger_tt">Mostrará o gráfico de valores amostrados, os quais serão armazenados apenas se houver alteração no sinal de entrada.
|
||||
O armazenamento se dará quando o circuito estiver estabilizado.
|
||||
O gatilho não iniciará a medida como em um osciloscópio real, mas cada evento gatilhado armazenará
|
||||
um valor de medida apenas, para cada um dos sinais amostrados.
|
||||
Como entrada direta haverá apenas um gatilho. As entradas e saídas do circuito, flip-flops e registradores e
|
||||
o componente amostrador poderão ser usados como sinais. Isso poderá ser ativado nos respectivos componentes.</string>
|
||||
<string name="elem_ScopeTrigger_pin_T">Uma alteração nessa entrada provocará o armazenamento de valores amostrados.</string>
|
||||
<string name="elem_NotConnected">Desconectado</string>
|
||||
<string name="elem_NotConnected_tt">Esse componente poderá ser usado para colocar uma conexão em alta impedância (Z).
|
||||
Se um entrada de uma porta lógica estiver em alta impedância, o valor lido será indefinido.
|
||||
Observa-se que, na realidade, em muitos casos, o consumo excessivo de corrente e até mesmo danos
|
||||
poderão ocorrer se uma entrada digital não estiver definida como alta ou baixa,
|
||||
mas permanecer desconectada.</string>
|
||||
<string name="elem_NotConnected_pin_out">Esta saída estará sempre em alta impedância.</string>
|
||||
<string name="err_notConnectedNotAllowed">O símbolo de Desconectado não é permitido aqui!</string>
|
||||
<string name="elem_ROMDualPort_short">ROM</string>
|
||||
<string name="elem_ROMDualPort_tt">Componente de memória não volátil.
|
||||
Os dados armazenados poderão ser editados na caixa de diálogo para atributos.</string>
|
||||
<string name="elem_ROMDualPort_pin_A1">Esse pino definirá o endereço da palavra de dados à saída D1.</string>
|
||||
<string name="elem_ROMDualPort_pin_D1">Palavra de dados selecionada se a entrada s1 estiver em nível alto.</string>
|
||||
<string name="elem_ROMDualPort_pin_s1">Se a entrada estiver em nível alto, a saída D1 estará ativada. Se estiver em nível baixo, a saída estará em alta impedância (Z).</string>
|
||||
<string name="elem_ROMDualPort_pin_A2">Esse pino definirá o endereço da palavrra de dados à saída D2.</string>
|
||||
<string name="elem_ROMDualPort_pin_D2">Palavra de dados selecionada se a entrada s2 estiver em nível alto.</string>
|
||||
<string name="elem_ROMDualPort_pin_s2">Se a entrada estiver em nível alto, a saída D2 estará ativada. Se estiver em nível baixo, a saída estará em alta impedância (Z).</string>
|
||||
<string name="elem_PRNG">Gerador de número aleatório</string>
|
||||
<string name="elem_PRNG_tt">Poderá ser usado para gerar números aleatórios.
|
||||
Quando a simulação for iniciada, o gerador será reiniciado de modo que uma nova sequência de números
|
||||
pseudo-aleatórios seja gerada a cada vez.
|
||||
O gerador poderár ser iniciado durante simulação com um valor definido para semente para que se
|
||||
possa gerar uma sequência definida de valores pseudo-aleatórios.</string>
|
||||
<string name="elem_PRNG_short">PRNG</string>
|
||||
<string name="elem_PRNG_pin_S">Novo valor para a semente do gerador.</string>
|
||||
<string name="elem_PRNG_pin_se">Se definido, o gerador de número aleatório será reiniciado com uma nova semente na subida do clock.</string>
|
||||
<string name="elem_PRNG_pin_ne">Se definido, um novo número aleatório estará disponível na próxima borda de subida do clock.</string>
|
||||
<string name="elem_PRNG_pin_C">Entrada do clock.</string>
|
||||
<string name="elem_PRNG_pin_R">Saída do número pseudo-aleatório.</string>
|
||||
<string name="elem_GenericInitCode">Inicialização genérica</string>
|
||||
<string name="elem_GenericInitCode_tt">Código a ser executado ao iniciar-se um circuito genérico diretamente.
|
||||
Se um circuito genérico tiver que ser iniciado diretamente, tal componente deverá estar presente.</string>
|
||||
<string name="elem_GenericCode">Código</string>
|
||||
<string name="elem_GenericCode_tt">Código a ser executado quando um circuito genérico for incorporado.
|
||||
Poderá ser usado, por exemplo, para adicionar componentes ou conexões a um circuito.</string>
|
||||
<string name="err_hdlTestCaseHasGenericCode">Casos de testes com parametrização genérica sem suporte na exportação em HDL!</string>
|
||||
<string name="err_multipleRomsFound">Múltiplas memórias de programa encontradas! Somente uma memória de programa é permitida.</string>
|
||||
<string name="err_noMemoryFound">Nenhuma memória "{0}" encontrada no modelo!</string>
|
||||
<string name="err_multipleMemoriesFound">Múltiplas memórias "{0}" encontradas no modelo!</string>
|
||||
<string name="err_noGenericInitCode">Nenhum código de inicialização para componentes genéricos.
|
||||
Um componente correspondente deverá ser acrescido ao circuito a fim de poder ser iniciado.</string>
|
||||
<string name="err_multipleGenericInitCodes">Múltiplos códigos de inicialização para elementos genéricos.</string>
|
||||
<string name="err_inGenericInitCode">Erro na análise do código de inicialização genérico.</string>
|
||||
<string name="err_virtualSignal_N_DeclaredTwiceInLine_N">Sinal virtual {0} duplicado na linha {1}!</string>
|
||||
<string name="key_remainderPositive">Resto de divisão sempre positivo</string>
|
||||
<string name="key_remainderPositive_tt">Se definido, o resto de uma divisão com sinal será sempre positivo.</string>
|
||||
<string name="key_trigger">Gatilho</string>
|
||||
<string name="key_trigger_tt">Condição de gatilho para o registro de dados.</string>
|
||||
<string name="key_trigger_rising">borda de subida</string>
|
||||
<string name="key_trigger_falling">borda de descida</string>
|
||||
<string name="key_trigger_both">ambas as bordas</string>
|
||||
<string name="mod_modifiedByRunningModel">Alterações feitas ao se executar a simulação.</string>
|
||||
<string name="menu_scale">Definir escala</string>
|
||||
<string name="msg_supportsHDL">Exportável para VHDL/Verilog.</string>
|
||||
<string name="msg_errorSettingModelToTestCase">Erro ao definir a linha do caso de teste.</string>
|
||||
<string name="msg_keyAsGenericAttribute">Nome a ser usado nos circuitos genéricos: {0}</string>
|
||||
<string name="attr_createConcreteCircuitLabel">Realizar circuito</string>
|
||||
<string name="attr_createConcreteCircuit">Realizar</string>
|
||||
<string name="attr_createConcreteCircuit_tt">Realizar cirucito a partir de descrição genérica usando os
|
||||
parâmetros especificados nesse elemento.</string>
|
||||
<string name="attr_createConcreteCircuitErr">Erro durante a realização de circuito!</string>
|
||||
<string name="msg_fsm_optimizer">Otimizador de Máquina de Estados Finitos (FSM)</string>
|
||||
<string name="menu_fsm_optimize_state_numbers">Otimizador de Números de Estados</string>
|
||||
<string name="menu_fsm_optimize_state_numbers_tt">Otimizará os números de estados de modo que uma implementação realize o menor esforço possível.
|
||||
O tempo de execução aumentará muito rapidamente com a complexidade da máquina. (O(n!))</string>
|
||||
<string name="menu_fsm_optimize_state_numbers_err">Erro durante a otimização!</string>
|
||||
<string name="msg_fsm_optimizer_initial">Complexidade inicial:</string>
|
||||
<string name="msg_fsm_optimizer_best">Melhor até agora:</string>
|
||||
</resources>
|
||||
|
@ -143,7 +143,9 @@ In the file howTo.md you can find more details about translations.
|
||||
<string name="elem_RGBLED_pin_B">The blue color channel.</string>
|
||||
<string name="elem_PolarityAwareLED">LED with two connections.</string>
|
||||
<string name="elem_PolarityAwareLED_tt">LED with connections for the cathode and the anode. The LED lights up,
|
||||
if the anode is connected to high and the cathode is connected to low.</string>
|
||||
if the anode is connected to high and the cathode is connected to low.
|
||||
This LED cannot be used as a pull-down resistor. It acts solely as a display element.
|
||||
The shown resistor is only meant to symbolize the required series resistor to limit the current.</string>
|
||||
<string name="elem_PolarityAwareLED_pin_A">The anode connection of the LED.</string>
|
||||
<string name="elem_PolarityAwareLED_pin_C">The cathode connection of the LED.</string>
|
||||
<string name="elem_In">Input</string>
|
||||
@ -152,7 +154,7 @@ In the file howTo.md you can find more details about translations.
|
||||
In this case the connection is bidirectional.
|
||||
Is also used to assign an pin number, if code for a CPLD or FPGA is generated.</string>
|
||||
<string name="elem_In_pin_out">Gives the value which is connected to this input.</string>
|
||||
<string name="elem_DipSwitch">DIP Switch</string>
|
||||
|
||||
<string name="elem_DipSwitch_tt">Simple DIP switch that can output either high or low.</string>
|
||||
<string name="elem_DipSwitch_pin_out">The output value of the switch.</string>
|
||||
<string name="elem_Clock">Clock Input</string>
|
||||
@ -760,7 +762,8 @@ In the file howTo.md you can find more details about translations.
|
||||
<string name="elem_Testcase_tt">Describes a test case.
|
||||
In a test case you can describe how a circuit should behave. It can then be automatically checked whether the
|
||||
behavior of the circuit actually corresponds to this description. If this is not the case, an
|
||||
error message is shown.</string>
|
||||
error message is shown.
|
||||
The help text of the test case editor describes in detail how such a test case can be created.</string>
|
||||
<string name="elem_AsyncSeq">Asynchronous Timing</string>
|
||||
<string name="elem_AsyncSeq_tt">Allows configuration of the timing of an asynchronous sequential circuit such as a
|
||||
Muller-pipeline. The circuit must be started in single gate step mode and must be able to reach a stable state
|
||||
@ -1498,13 +1501,13 @@ In the file howTo.md you can find more details about translations.
|
||||
<string name="menu_terminalDelete">Delete</string>
|
||||
<string name="menu_terminalDelete_tt">Delete the terminals content.</string>
|
||||
<string name="menu_view">View</string>
|
||||
<string name="menu_zoomIn">Zoom In</string>
|
||||
<string name="menu_zoomOut">Zoom Out</string>
|
||||
|
||||
|
||||
<string name="menu_expression">Expression</string>
|
||||
<string name="menu_expression_tt">Create a circuit from an expression.</string>
|
||||
<string name="menu_runTests">Run Tests</string>
|
||||
<string name="menu_runTests_tt">Runs all test cases in the circuit</string>
|
||||
<string name="menu_actualToDefault">Set Inputs</string>
|
||||
<string name="menu_actualToDefault">Set Input Defaults</string>
|
||||
<string name="menu_actualToDefault_tt">Use current input values as new default values.</string>
|
||||
<string name="menu_restoreAllFuses">Reset all diodes and FGFETs</string>
|
||||
<string name="menu_restoreAllFuses_tt">Resets all diodes (fuses) and FGFETs to the "not programed" state. The
|
||||
@ -1594,7 +1597,7 @@ In the file howTo.md you can find more details about translations.
|
||||
<string name="msg_testResult">Test result</string>
|
||||
<string name="msg_test_N_Passed">{0} passed</string>
|
||||
<string name="msg_test_N_Failed">{0} failed</string>
|
||||
<string name="msg_testExp_N0_found_N1">E: {0} / F: {1}</string>
|
||||
|
||||
<string name="msg_creatingHelp">Error creating the help!</string>
|
||||
<string name="msg_clipboardContainsNoImportableData">The clipboard contains no importable data!</string>
|
||||
<string name="msg_selectAnEmptyFolder">Select an empty folder!</string>
|
||||
@ -1746,109 +1749,145 @@ In the file howTo.md you can find more details about translations.
|
||||
</string>
|
||||
<string name="msg_testVectorHelpTitle">Test vectors</string>
|
||||
<string name="msg_testVectorHelp"><html>
|
||||
<head><style>pre { background-color: #E0E0E0;}</style></head>
|
||||
<body>
|
||||
<p>The first line has to contain the names of inputs and outputs.
|
||||
The following lines contain the expected values.
|
||||
A 'X' represents a don't care, and a 'Z' represents a high Z value.
|
||||
If a 'C' is used, at first all other values are set, after that a clock cycle is performed and then the
|
||||
values are compared. So it's easier to test sequential logic.
|
||||
A line which starts with a number sign ('#') is a comment.</p>
|
||||
<head><style>pre { background-color: #E0E0E0;}</style></head>
|
||||
<body>
|
||||
<h3>General</h3>
|
||||
<p>The first line has to contain the names of inputs and outputs.
|
||||
The following lines contain the expected values.
|
||||
A 'X' represents a don't care, and a 'Z' represents a high Z value.
|
||||
If a 'C' is used, at first all other values are set, after that a clock cycle is performed and then the
|
||||
values are compared. So it's easier to test sequential logic.
|
||||
A line which starts with a number sign ('#') is a comment.</p>
|
||||
|
||||
<p>So a test for a 2-bit counter could look like this:</p>
|
||||
<p>So a test for a 2-bit counter could look like this:</p>
|
||||
|
||||
<pre>
|
||||
C Q1 Q0
|
||||
0 0 0
|
||||
C 0 1
|
||||
C 1 0
|
||||
C 1 1
|
||||
C 0 0
|
||||
</pre>
|
||||
<pre>
|
||||
C Q1 Q0
|
||||
0 0 0
|
||||
C 0 1
|
||||
C 1 0
|
||||
C 1 1
|
||||
C 0 0
|
||||
</pre>
|
||||
|
||||
<p>The tests are executed by Run->Run Tests.</p>
|
||||
<p>
|
||||
To make it easier to create a lot of test vectors there is the 'repeat([n])' statement:
|
||||
If a line begins with 'repeat([n])', [n] test lines are generated. The
|
||||
variable 'n' can be used to generate the test data. With 'repeat(16)',
|
||||
16 lines are created, where n goes from 0 to 15. If there are multiple bit inputs,
|
||||
and these are to be set together to a binary value, this can be done with the
|
||||
'bits([bits], [value])' statement. This is used to create [bits] bits of the value [value].</p>
|
||||
<p>The tests are executed by Run->Run Tests.</p>
|
||||
<p>
|
||||
To make it easier to create a lot of test vectors there is the 'repeat([n])' statement:
|
||||
If a line begins with 'repeat([n])', [n] test lines are generated. The
|
||||
variable 'n' can be used to generate the test data. With 'repeat(16)',
|
||||
16 lines are created, where n goes from 0 to 15. If there are multiple bit inputs,
|
||||
and these are to be set together to a binary value, this can be done with the
|
||||
'bits([bits], [value])' statement. This is used to create [bits] bits of the value [value].</p>
|
||||
|
||||
<p>The following is an example that tests a 4-bit adder:</p>
|
||||
<p>The following is an example that tests a 4-bit adder:</p>
|
||||
|
||||
<pre>
|
||||
C_i-1 A_3 A_2 A_1 A_0 B_3 B_2 B_1 B_0 C_i S_3 S_2 S_1 S_0
|
||||
repeat(256) 0 bits(4,n>>4) bits(4,n) bits(5,(n>>4)+(n&15))
|
||||
repeat(256) 1 bits(4,n>>4) bits(4,n) bits(5,(n>>4)+(n&15)+1)
|
||||
</pre>
|
||||
<pre>
|
||||
C_i-1 A_3 A_2 A_1 A_0 B_3 B_2 B_1 B_0 C_i S_3 S_2 S_1 S_0
|
||||
repeat(256) 0 bits(4,n>>4) bits(4,n) bits(5,(n>>4)+(n&15))
|
||||
repeat(256) 1 bits(4,n>>4) bits(4,n) bits(5,(n>>4)+(n&15)+1)
|
||||
</pre>
|
||||
|
||||
<p>The input signals are the carry-in (C_i-1) and the eight input bits A_3-A_0 and B_3-B_0.
|
||||
The 4 input bits are generated with the 'bits' instruction. The result (C_i, S_3-S_0) is also generated
|
||||
by a 'bits' instruction.
|
||||
This happens once with C_i-1 = 0 and in the next line with C_i-1 = 1.
|
||||
In this way, 512 test rows are generated which cover all possible input configurations.</p>
|
||||
<p>If multiple rows are to be repeated, or if nested loops are required, the loop
|
||||
statement can be used. The above example could also be implemented as follows:</p>
|
||||
<p>The input signals are the carry-in (C_i-1) and the eight input bits A_3-A_0 and B_3-B_0.
|
||||
The 4 input bits are generated with the 'bits' instruction. The result (C_i, S_3-S_0) is also generated
|
||||
by a 'bits' instruction.
|
||||
This happens once with C_i-1 = 0 and in the next line with C_i-1 = 1.
|
||||
In this way, 512 test rows are generated which cover all possible input configurations.</p>
|
||||
<p>If multiple rows are to be repeated, or if nested loops are required, the loop
|
||||
statement can be used. The above example could also be implemented as follows:</p>
|
||||
|
||||
<pre>
|
||||
C_i-1 A_3 A_2 A_1 A_0 B_3 B_2 B_1 B_0 C_i S_3 S_2 S_1 S_0
|
||||
loop(a,16)
|
||||
loop(b,16)
|
||||
0 bits(4,a) bits(4,b) bits(5,a+b)
|
||||
1 bits(4,a) bits(4,b) bits(5,a+b+1)
|
||||
end loop
|
||||
end loop
|
||||
</pre>
|
||||
<pre>
|
||||
C_i-1 A_3 A_2 A_1 A_0 B_3 B_2 B_1 B_0 C_i S_3 S_2 S_1 S_0
|
||||
loop(a,16)
|
||||
loop(b,16)
|
||||
0 bits(4,a) bits(4,b) bits(5,a+b)
|
||||
1 bits(4,a) bits(4,b) bits(5,a+b+1)
|
||||
end loop
|
||||
end loop
|
||||
</pre>
|
||||
|
||||
<p>Under certain circumstances it may be necessary to be able to react to the initial
|
||||
state of the circuit. Therefore the signals provided in the circuit can be used within
|
||||
the test case. For example, if a counter that starts in an undefined state is to be
|
||||
tested, it can be clocked to a defined state:</p>
|
||||
<p>Under certain circumstances it may be necessary to be able to react to the initial
|
||||
state of the circuit. Therefore the signals provided in the circuit can be used within
|
||||
the test case. For example, if a counter that starts in an undefined state is to be
|
||||
tested, it can be clocked to a defined state:</p>
|
||||
|
||||
<pre>C Q_3 Q_2 Q_1 Q_0
|
||||
<pre>C Q_3 Q_2 Q_1 Q_0
|
||||
|
||||
# clock counter to 1111
|
||||
while(!(Q_3 & Q_2 & Q_1 & Q_0))
|
||||
C x x x x
|
||||
end while
|
||||
# clock counter to 1111
|
||||
while(!(Q_3 & Q_2 & Q_1 & Q_0))
|
||||
C x x x x
|
||||
end while
|
||||
|
||||
# start the test execution
|
||||
repeat(16) C bits(4,n)
|
||||
</pre>
|
||||
# start the test execution
|
||||
repeat(16) C bits(4,n)
|
||||
</pre>
|
||||
|
||||
<p>It may be helpful to generate random numbers in test cases.
|
||||
These can be created with the function 'random([n])'. The generated number is greater
|
||||
than or equal to zero and less than [n]. Considering a 16-bit multiplier as an example,
|
||||
a full test can not be performed since it would have 2^32 input combinations.
|
||||
A regression test that multiplies 100000 random numbers might look like this:</p>
|
||||
<p>It may be helpful to generate random numbers in test cases.
|
||||
These can be created with the function 'random([n])'. The generated number is greater
|
||||
than or equal to zero and less than [n]. Considering a 16-bit multiplier as an example,
|
||||
a full test can not be performed since it would have 2^32 input combinations.
|
||||
A regression test that multiplies 100000 random numbers might look like this:</p>
|
||||
|
||||
<pre>
|
||||
A B Y
|
||||
loop(i,100000)
|
||||
let a = random(1&lt;&lt;16);
|
||||
let b = random(1&lt;&lt;16);
|
||||
(a) (b) (a*b)
|
||||
end loop
|
||||
</pre>
|
||||
<pre>
|
||||
A B Y
|
||||
loop(i,100000)
|
||||
let a = random(1&lt;&lt;16);
|
||||
let b = random(1&lt;&lt;16);
|
||||
(a) (b) (a*b)
|
||||
end loop
|
||||
</pre>
|
||||
|
||||
<p>An input that allows high impedance as a value can also be used as a test output.
|
||||
In this case, the signal name can be used with a trailing "_out" to read back and check the current value.
|
||||
For this, the corresponding input must be set to high impedance ('Z').</p>
|
||||
<p>An input that allows high impedance as a value can also be used as a test output.
|
||||
In this case, the signal name can be used with a trailing "_out" to read back and check the current value.
|
||||
For this, the corresponding input must be set to high impedance ('Z').</p>
|
||||
|
||||
<pre>OE CLK D D_out
|
||||
0 0 0 0
|
||||
0 C 1 1
|
||||
1 0 z 1
|
||||
0 C 0 0
|
||||
1 0 z 0
|
||||
</pre>
|
||||
<pre>OE CLK D D_out
|
||||
0 0 0 0
|
||||
0 C 1 1
|
||||
1 0 z 1
|
||||
0 C 0 0
|
||||
1 0 z 0
|
||||
</pre>
|
||||
|
||||
<p>The circuit for this test has only one input 'D', but which can be high impedance state.
|
||||
Therefore, the signal 'D_out' is also available to check the value in this case.</p>
|
||||
<p>The circuit for this test has only one input 'D', but which can be high impedance state.
|
||||
Therefore, the signal 'D_out' is also available to check the value in this case.</p>
|
||||
|
||||
</body></html>
|
||||
</string>
|
||||
<p>In special cases, it may be desirable to use the signals, which are provided by
|
||||
the circuit, to derive a new signal, which is then tested. An example could be a bus
|
||||
signal with several bits, where only a single bit should be tested, whereby the remaining
|
||||
bits have no influence on the test. In this case, a new signal can be generated in the
|
||||
test itself, which contains this one bit so that tests can be defined for this bit.</p>
|
||||
<p>This is done with the 'declare' statement:</p>
|
||||
<pre>A B Bit
|
||||
|
||||
declare Bit = (Bus>>3)&1;
|
||||
|
||||
0 0 0
|
||||
0 1 0
|
||||
1 0 1
|
||||
1 1 0
|
||||
</pre>
|
||||
<p>In this example, the 3rd bit is isolated from the 'Bus' signal and made available as
|
||||
the 'Bit' signal for the test. The circuit itself contains no output 'Bit'.</p>
|
||||
<h3>Processors</h3>
|
||||
<p>If processors are to be tested, an initialization of the processor is usually required.
|
||||
It is possible to perform this initialization within the test case.
|
||||
In this way, several tests can be located in one circuit and each test can use its own initialization.
|
||||
There are three instructions to perform this initialization:</p>
|
||||
<ul>
|
||||
<li>The 'program' statement can be used to overwrite the program memory of the processor.
|
||||
The instruction <pre>program(0x8000,0x2d11,0x8000,0x2f21)</pre> writes four words to the beginning
|
||||
of the program memory. All other words are set to zero.</li>.
|
||||
<li>The 'memory' instruction can be used to write to a RAM component:
|
||||
<pre>memory mem(3)=7;</pre>
|
||||
This example writes 7 to the memory with the label 'mem' at address 3.</li>
|
||||
<li> A labeled register can be overwritten with the 'init' statement.
|
||||
<pre>init R0=22;</pre>
|
||||
This instruction overwrites the register with the label 'R0' with the value 22.</li>
|
||||
</ul>
|
||||
<p>It should be noted that all used initializations are only applied once before the
|
||||
test execution. It does not matter in which line in the test case these statements are located.
|
||||
However, they must not be used above the header line listing the signal names.</p>.
|
||||
</body></html></string>
|
||||
<string name="fsm_title">Finite State Machine</string>
|
||||
<string name="fsm_noMove">No movement</string>
|
||||
<string name="fsm_moveTrans">Transitions</string>
|
||||
@ -2222,4 +2261,81 @@ In the file howTo.md you can find more details about translations.
|
||||
<string name="elem_StepperMotorBipolar_pin_B+">Coil B, positive</string>
|
||||
<string name="elem_StepperMotorBipolar_pin_B-">Coil B, negative</string>
|
||||
<string name="key_colorScheme_DARK">Dark</string>
|
||||
<string name="elem_ScopeTrigger">Triggered Data Graph</string>
|
||||
<string name="elem_ScopeTrigger_short">Scope</string>
|
||||
<string name="elem_ScopeTrigger_tt">Shows a graph of measured values, whereby measured values are only stored if
|
||||
the input signal changes. Storing takes place when the circuit has stabilized.
|
||||
The trigger does not start the measurement like in a real scope, but each trigger event stores a single
|
||||
measurement value for each of the shown signals.
|
||||
As direct input there is only the trigger. The inputs and outputs of the circuit, flip-flops and registers and the
|
||||
probe component can be used as signals. This can be activated in the respective components.</string>
|
||||
<string name="elem_ScopeTrigger_pin_T">A change at this input causes measured values to be stored.</string>
|
||||
<string name="elem_NotConnected">Not Connected</string>
|
||||
<string name="elem_NotConnected_tt">This component can be used to set a wire to High-Z.
|
||||
If an input of a logical gate is set to high-Z, the read value is undefined.
|
||||
Note that in reality in many cases excessive current consumption and even damage can
|
||||
occur if a digital input is not set to high or low but remains unconnected.</string>
|
||||
<string name="elem_NotConnected_pin_out">This output always outputs High-Z.</string>
|
||||
<string name="err_notConnectedNotAllowed">The NotConnected symbol is not allowed here!</string>
|
||||
<string name="elem_ROMDualPort_short">ROM</string>
|
||||
<string name="elem_ROMDualPort_tt">A non-volatile memory component.
|
||||
The stored data can be edited in the attributes dialog.</string>
|
||||
<string name="elem_ROMDualPort_pin_A1">This pin defines the address of data word to be output on D1.</string>
|
||||
<string name="elem_ROMDualPort_pin_D1">The selected data word if the s1 input is high.</string>
|
||||
<string name="elem_ROMDualPort_pin_s1">If the input is high, the output D1 is activated. If it is low, the data output is in high Z state.</string>
|
||||
<string name="elem_ROMDualPort_pin_A2">This pin defines the address of data word to be output on D2.</string>
|
||||
<string name="elem_ROMDualPort_pin_D2">The selected data word if the s2 input is high.</string>
|
||||
<string name="elem_ROMDualPort_pin_s2">If the input is high, the output D2 is activated. If it is low, the data output is in high Z state.</string>
|
||||
<string name="elem_PRNG">Random Number Generator</string>
|
||||
<string name="elem_PRNG_tt">Can be used to generate random numbers.
|
||||
When the simulation is started, the generator is reinitialized so that a new pseudo-random number
|
||||
sequence is generated at each start.
|
||||
The generator can be initialized in the running simulation with a defined seed value to generate
|
||||
a defined pseudo-random number sequence.</string>
|
||||
<string name="elem_PRNG_short">PRNG</string>
|
||||
<string name="elem_PRNG_pin_S">New seed value of the generator.</string>
|
||||
<string name="elem_PRNG_pin_se">If set, the random number generator is reinitialized with the new seed value at the next rising clock edge.</string>
|
||||
<string name="elem_PRNG_pin_ne">If set, a new random number is output at the next rising clock edge.</string>
|
||||
<string name="elem_PRNG_pin_C">The clock input.</string>
|
||||
<string name="elem_PRNG_pin_R">Output of the pseudorandom number.</string>
|
||||
<string name="elem_GenericInitCode">Generic Initialization</string>
|
||||
<string name="elem_GenericInitCode_tt">Code that is executed to start a generic circuit directly.
|
||||
If a generic circuit is to be started directly, such a component must be present.</string>
|
||||
<string name="elem_GenericCode">Code</string>
|
||||
<string name="elem_GenericCode_tt">Code that is executed when a generic circuit is made concrete.
|
||||
Can be used, for example, to add components or wires to a circuit.</string>
|
||||
<string name="err_hdlTestCaseHasGenericCode">Test cases with generic parameterization are not supported in HDL
|
||||
export!</string>
|
||||
<string name="err_multipleRomsFound">Multiple program memories found! Only one program memory is allowed.</string>
|
||||
<string name="err_noMemoryFound">No memory "{0}" found in the model!</string>
|
||||
<string name="err_multipleMemoriesFound">Multiple memories "{0}" found in the model!</string>
|
||||
<string name="err_noGenericInitCode">No initialization code for the generic components.
|
||||
A respective component must be added to the circuit in order to start it.</string>
|
||||
<string name="err_multipleGenericInitCodes">Multiple initialization codes for the generic elements.</string>
|
||||
<string name="err_inGenericInitCode">Error in the analysis of the generic initialization code.</string>
|
||||
<string name="err_virtualSignal_N_DeclaredTwiceInLine_N">Virtual signal {0} declared twice in line {1}!</string>
|
||||
<string name="key_remainderPositive">Remainder always positive</string>
|
||||
<string name="key_remainderPositive_tt">If set, the remainder of a signed division is always positive.</string>
|
||||
<string name="key_trigger">Trigger</string>
|
||||
<string name="key_trigger_tt">Trigger condition for data recording.</string>
|
||||
<string name="key_trigger_rising">rising edge</string>
|
||||
<string name="key_trigger_falling">falling edge</string>
|
||||
<string name="key_trigger_both">both edges</string>
|
||||
<string name="mod_modifiedByRunningModel">Changes made by the running simulation.</string>
|
||||
<string name="menu_scale">Set Scaling</string>
|
||||
<string name="msg_supportsHDL">Exportable to VHDL/Verilog.</string>
|
||||
<string name="msg_errorSettingModelToTestCase">Error while setting the test case row.</string>
|
||||
<string name="msg_keyAsGenericAttribute">Name to use in generic circuits: {0}</string>
|
||||
<string name="attr_createConcreteCircuitLabel">Create Concrete Circuit</string>
|
||||
<string name="attr_createConcreteCircuit">Create</string>
|
||||
<string name="attr_createConcreteCircuit_tt">Creates a concrete circuit from this generic circuit using the
|
||||
parameters specified in this element.</string>
|
||||
<string name="attr_createConcreteCircuitErr">Error while creating the concrete circuit!</string>
|
||||
<string name="msg_fsm_optimizer">FSM-Optimizer</string>
|
||||
<string name="menu_fsm_optimize_state_numbers">Optimize the State Numbers</string>
|
||||
<string name="menu_fsm_optimize_state_numbers_tt">Optimizes the state numbers so that an implementation has the
|
||||
least possible effort. The runtime increases very quickly with the complexity of the machine. (O(n!))</string>
|
||||
<string name="menu_fsm_optimize_state_numbers_err">Error during optimization!</string>
|
||||
<string name="msg_fsm_optimizer_initial">Initial complexity:</string>
|
||||
<string name="msg_fsm_optimizer_best">Better so far:</string>
|
||||
</resources>
|
||||
|
Loading…
x
Reference in New Issue
Block a user