aboutsummaryrefslogtreecommitdiffstats
path: root/techlibs/intel/cycloneive/cells_map.v
blob: abeb92eefef4c5ea9bb2a5efe6f31179ba24ff4e (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
/*
 *  yosys -- Yosys Open SYnthesis Suite
 *
 *  Copyright (C) 2012  Clifford Wolf <clifford@clifford.at>
 *
 *  Permission to use, copy, modify, and/or distribute this software for any
 *  purpose with or without fee is hereby granted, provided that the above
 *  copyright notice and this permission notice appear in all copies.
 *
 *  THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
 *  WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
 *  MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
 *  ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
 *  WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
 *  ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
 *  OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
 *
 */
// > c60k28 (Viacheslav, VT) [at] yandex [dot] com
// > Intel FPGA technology mapping. User must first simulate the generated \
// > netlist before going to test it on board.
// > Changelog: 1) The missing power_up parameter in the techmap introduces a problem in Quartus mapper. Fixed.

// Normal mode DFF negedge clk, negedge reset
module  \$_DFF_N_ (input D, C, output Q);
   parameter WYSIWYG="TRUE";
   parameter power_up=1'bx;
   dffeas #(.is_wysiwyg(WYSIWYG), .power_up(power_up)) _TECHMAP_REPLACE_ (.d(D), .q(Q), .clk(C), .clrn(1'b1), .prn(1'b1), .ena(1'b1), .asdata(1'b0), .aload(1'b0), .sclr(1'b0), .sload(1'b0));
endmodule
// Normal mode DFF
module  \$_DFF_P_ (input D, C, output Q);
   parameter WYSIWYG="TRUE";
   parameter power_up=1'bx;
   dffeas #(.is_wysiwyg(WYSIWYG), .power_up(power_up)) _TECHMAP_REPLACE_ (.d(D), .q(Q), .clk(C), .clrn(1'b1), .prn(1'b1), .ena(1'b1), .asdata(1'b0), .aload(1'b0), .sclr(1'b0), .sload(1'b0));
endmodule

// Async Active Low Reset DFF
module  \$_DFF_PN0_ (input D, C, R, output Q);
   parameter WYSIWYG="TRUE";
   parameter power_up=1'bx;
   dffeas #(.is_wysiwyg(WYSIWYG), .power_up("power_up")) _TECHMAP_REPLACE_ (.d(D), .q(Q), .clk(C), .clrn(R), .prn(1'b1), .ena(1'b1), .asdata(1'b0), .aload(1'b0), .sclr(1'b0), .sload(1'b0));
endmodule
// Async Active High Reset DFF
module  \$_DFF_PP0_ (input D, C, R, output Q);
   parameter WYSIWYG="TRUE";
   parameter power_up=1'bx;
   wire R_i = ~ R;
   dffeas #(.is_wysiwyg(WYSIWYG), .power_up(power_up)) _TECHMAP_REPLACE_ (.d(D), .q(Q), .clk(C), .clrn(R_i), .prn(1'b1), .ena(1'b1), .asdata(1'b0), .aload(1'b0), .sclr(1'b0), .sload(1'b0));
endmodule

module  \$__DFFE_PP0 (input D, C, E, R, output Q);
   parameter WYSIWYG="TRUE";
   parameter power_up=1'bx;
   wire E_i = ~ E;
   dffeas #(.is_wysiwyg(WYSIWYG), .power_up(power_up)) _TECHMAP_REPLACE_ (.d(D), .q(Q), .clk(C), .clrn(R), .prn(1'b1), .ena(1'b1), .asdata(1'b0), .aload(1'b0), .sclr(E_i), .sload(1'b0));
endmodule

// Input buffer map
module \$__inpad (input I, output O);
   cycloneive_io_ibuf _TECHMAP_REPLACE_ (.o(O), .i(I), .ibar(1'b0));
endmodule

// Output buffer map
module \$__outpad (input I, output O);
   cycloneive_io_obuf _TECHMAP_REPLACE_ (.o(O), .i(I), .oe(1'b1));
endmodule

// LUT Map
/* 0 -> datac
 1 -> cin */
module \$lut (A, Y);
   parameter WIDTH  = 0;
   parameter LUT    = 0;
   input [WIDTH-1:0] A;
   output            Y;
   generate
      if (WIDTH == 1) begin
	 assign Y = ~A[0]; // Not need to spend 1 logic cell for such an easy function
      end else
        if (WIDTH == 2) begin
           cycloneive_lcell_comb #(.lut_mask({4{LUT}}),
                                   .sum_lutc_input("datac")) _TECHMAP_REPLACE_ (.combout(Y),
                                                                                .dataa(A[0]),
                                                                                .datab(A[1]),
                                                                                .datac(1'b1),
                                                                                .datad(1'b1));
        end else
          if(WIDTH == 3) begin
	     cycloneive_lcell_comb #(.lut_mask({2{LUT}}),
                                     .sum_lutc_input("datac")) _TECHMAP_REPLACE_ (.combout(Y),
                                                                                  .dataa(A[0]),
                                                                                  .datab(A[1]),
                                                                                  .datac(A[2]),
                                                                                  .datad(1'b1));
          end else
            if(WIDTH == 4) begin
	       cycloneive_lcell_comb #(.lut_mask(LUT),
                                       .sum_lutc_input("datac")) _TECHMAP_REPLACE_ (.combout(Y),
                                                                                    .dataa(A[0]),
                                                                                    .datab(A[1]),
                                                                                    .datac(A[2]),
                                                                                    .datad(A[3]));
            end else
	             wire _TECHMAP_FAIL_ = 1;
   endgenerate

endmodule
es com vibração</string> <string name="pref_bumpyarrows_summary">Vibrar quando enviar teclas de cursor com a trackball; útil para ligações com atraso</string> <string name="pref_bell_category">Aviso sonoro do terminal</string> <string name="pref_bell_title">Aviso sonoro audível</string> <string name="pref_bell_volume_title">Volume do aviso sonoro</string> <string name="pref_bell_vibrate_title">Vibrar em aviso sonoro</string> <string name="pref_bell_notification_title">Notificações em segundo plano</string> <string name="pref_bell_notification_summary">Enviar notificação quando um terminal a correr em segundo plano enviar um aviso sonoro.</string> <string name="list_keymode_right">Usar teclas do lado direito</string> <string name="list_keymode_left">Usar teclas do lado esquerdo</string> <string name="list_keymode_none">Desactivar</string> <string name="list_pubkeyids_none">Não usar teclas</string> <string name="list_pubkeyids_any">Usar qualquer tecla não bloqueada</string> <string name="list_update_daily">Diariamente</string> <string name="list_update_weekly">Semanalmente</string> <string name="list_update_never">Nunca</string> <string name="hostpref_nickname_title">Alcunha</string> <string name="hostpref_color_title">Categoria de cor</string> <string name="hostpref_fontsize_title">Tamanho da fonte (pt)</string> <string name="hostpref_pubkeyid_title">Utilizar autenticação de chave publica (pubkey)</string> <string name="hostpref_authagent_title">Usar agente de autenticação SSH</string> <string name="hostpref_postlogin_title">Automação pós-login</string> <string name="hostpref_postlogin_summary">Comandos a correr no servidor remoto após autenticar</string> <string name="hostpref_compression_title">Compressão</string> <string name="hostpref_compression_summary">Isto pode ajudar em redes mais lentas</string> <string name="hostpref_wantsession_title">Iniciar sessão de shell</string> <string name="hostpref_wantsession_summary">Desactivar esta preferência para usar apenas redirecionamento de portas</string> <string name="hostpref_stayconnected_title">Permanecer ligado</string> <string name="hostpref_stayconnected_summary">Tentar ligar de novo ao anfitrião se desligar</string> <string name="hostpref_delkey_title">Tecla DEL</string> <string name="hostpref_delkey_summary">O código de tecla a enviar quando a tecla DEL é pressionada</string> <string name="hostpref_encoding_title">Codificação</string> <string name="hostpref_encoding_summary">Codificação de caractéres para o anfitrião</string> <string name="hostpref_connection_category">Configuração da Ligação</string> <string name="hostpref_username_title">Nome do Utilizador</string> <string name="hostpref_hostname_title">Anfitrião</string> <string name="hostpref_port_title">Porto</string> <string name="bind_never">Nunca ligado</string> <string name="bind_minutes">%1$s minutos atrás</string> <string name="bind_hours">%1$s horas atrás</string> <string name="bind_days">%1$s dias atrás</string> <string name="console_copy_done">Copiados %1$d bytes para a área de transferência</string> <string name="console_copy_start">Toque e arraste\nou use as teclas direcionais\npara selecionar a área a copiar</string> <string name="console_menu_close">Fechar</string> <string name="console_menu_copy">Copiar</string> <string name="console_menu_paste">Colar</string> <string name="console_menu_portforwards">Redirecionamento de portas</string> <string name="console_menu_resize">Forçar Tamanho</string> <string name="console_menu_urlscan">Detecção de URL</string> <string name="button_yes">Sim</string> <string name="button_no">Não</string> <string name="portforward_local">Local</string> <string name="portforward_remote">Remoto</string> <string name="portforward_dynamic">Dinamico (SOCKS)</string> <string name="portforward_pos">Criar redirecionamento de portas</string> <string name="portforward_done">Redirecionamento de porta criado com sucesso</string> <string name="portforward_problem">Problema ao criar redirecionamento de porta, talvez esteja a usar portas abaixo de 1024 ou a porta já esteja em uso?</string> <string name="portforward_menu_add">Adicionar redirecionamento de porta</string> <string name="hint_userhost">utilizador\@servidor</string> <string name="list_format_error">Use o formato %1$s</string> <string name="format_username">nome do utilizador</string> <string name="format_hostname">endereço</string> <string name="format_port">porto</string> <string name="list_menu_pubkeys">Gerir Chaves Públicas</string> <string name="list_menu_sortcolor">Ordenar por cor</string> <string name="list_menu_sortname">Ordenar por nome</string> <string name="list_menu_settings">Definições</string> <string name="list_host_disconnect">Desconectar</string> <string name="list_host_edit">Editar anfitrião</string> <string name="list_host_portforwards">Editar redirecionamento de portas</string> <string name="list_host_delete">Eliminar anfitrião</string> <string name="list_host_empty">Usar a caixa de ligação rápida\nabaixo para ligar a um anfitrião.</string> <string name="list_rotation_default">Padrão</string> <string name="list_rotation_land">Forçar panoramico</string> <string name="list_rotation_port">Forçar retrato</string> <string name="list_rotation_auto">Automática</string> <string name="list_camera_ctrlaspace">Ctrl+A seguido de Espaço</string> <string name="list_camera_ctrla">Ctrl+A</string> <string name="list_camera_esc">Esc</string> <string name="list_camera_esc_a">Esc+A</string> <string name="list_camera_none">Nenhum</string> <string name="list_delkey_backspace">Retrocesso</string> <string name="list_delkey_del">Apagar</string> <string name="delete_message">Tem a certeza que deseja eliminar \'%1$s\'?</string> <string name="delete_pos">Sim, apagar</string> <string name="delete_neg">Cancelar</string> <string name="wizard_agree">Aceitar</string> <string name="wizard_next">Seguinte</string> <string name="wizard_back">Retroceder</string> <string name="terminal_no_hosts_connected">Nenhum anfitrião ligado actualmente</string> <string name="terminal_connecting">A ligar a %1$s:%2$d via %3$s</string> <string name="terminal_sucess">Verificado anfitrião \'%1$s\' chave: %2$s</string> <string name="terminal_failed">Verificação da chave do anfitrião falhou.</string> <string name="terminal_using_s2c_algorithm">Algoritmo servidor-cliente: %1$s %2$s</string> <string name="terminal_using_c2s_algorithm">Algoritmo cliente-servidor: %1$s %2$s</string> <string name="terminal_using_algorithm">A usar algoritmo %1$s %2$s</string> <string name="terminal_auth">A tentar autenticação</string> <string name="terminal_auth_pass">A tentar autenticação por \'password\'</string> <string name="terminal_auth_pass_fail">Autenticação pelo método \'password\' falhou</string> <string name="terminal_auth_pubkey_any">A tentar autenticação de chave pública (pubkey) com todas as chaves públicas em memória</string> <string name="terminal_auth_pubkey_invalid">A chave pública escolhida é inválida, tente escolher outra chave no editor de anfitriões</string> <string name="terminal_auth_pubkey_specific">A tentar autenticação de chave pública (publickey) com uma chave pública específica</string> <string name="terminal_auth_pubkey_fail">Autenticação pelo método de chave pública (publickey) com a chave \'%1$s\' falhou</string> <string name="terminal_auth_ki">A tentar autenticação pelo método \'teclado-interactivo\'</string> <string name="terminal_auth_ki_fail">Autenticação pelo método \'teclado-interactivo\' falhou</string> <string name="terminal_auth_fail">[O seu anfitrião não suporta autenticação por \'password\' ou \'teclado-interactivo\'.]</string> <string name="terminal_no_session">A sessão não será iniciada devido a preferência do anfitrião.</string> <string name="terminal_enable_portfoward">Permitir redirecionamento de porta: %1$s</string> <string name="local_shell_unavailable">Falha! Shell local não está disponível neste telemóvel.</string> <string name="notification_text">%1$s requer a sua atenção.</string> <string name="no">Não</string> <string name="with_confirmation">com confirmação</string> <string name="yes">Sim</string> <string name="exceptions_submit_message">Aparentemente o ConnectBot teve um problema na ultima vez que foi executado. Enviar relatório de erros para os programadores do ConnectBot?</string> <string name="menu_colors_reset">Limpar</string> <string name="app_is_running">O ConnectBot esta a ser executado</string> <string name="color_red">vermelho</string> <string name="color_green">verde</string> <string name="color_blue">azul</string> <string name="color_gray">cinzento</string> </resources>