Lo sviluppo della prova PCB di oggi l'industria IT sta cambiando con ogni giorno che passa e i requisiti per le apparecchiature hardware stanno diventando sempre più alti. I progettisti hardware stanno affrontando il problema di come progettare PCB ad alta velocità e ad alta densità. Come si dice, se i lavoratori vogliono fare bene il loro lavoro, devono prima affilare i loro strumenti. Questo è il motivo per cui sempre più progettisti abbandonano gli strumenti di progettazione PCB di fascia bassa e scelgono il software PCB EDA ad alte prestazioni fornito da aziende come Cadence.
Il cambiamento della prova PCB porterà inevitabilmente a problemi di un tipo o dell'altro. Quando scelgono le soluzioni PCB ad alta velocità Cadence, tutti affrontano il problema di come trapiantare i loro progetti Protel nel software di progettazione PCB Cadence.
I problemi incontrati dalla prova PCB in questo processo possono essere approssimativamente suddivisi in due tipi: uno è che il design non è molto complicato e il progettista vuole solo utilizzare la potente funzione di cablaggio automatico di Cadence CCT per completare il lavoro di cablaggio; L'altro è che il design è complesso e il progettista deve fare affidamento sulla fiducia Gli strumenti di analisi del rumore sono utilizzati per simulare il segnale e il rumore del progetto e impostare la topologia del cablaggio della rete metallica.
Nel primo caso, il lavoro di conversione da fare è relativamente semplice. È possibile utilizzare lo strumento di conversione Protel a CCT fornito da Protel o Cadence per completare questo lavoro. Nel secondo caso, il lavoro da fare è relativamente più complicato, e questo metodo di trasformazione sarà brevemente introdotto di seguito.
L'oggetto di analisi dello strumento di analisi segnale-rumore Cadence per la prova PCB è il file brd di Cadence Allegro e Allegro può leggere netlist di terze parti che soddisfano i suoi requisiti. L'output di netlist in formato Telexis di Protel soddisfa i requisiti di Allegro per netlist di terze parti. Puoi iniettare i file Protel in Allegro.
Ecco due punti per l'attenzione del lettore. In primo luogo, le netlist di terze parti Allegro non consentono "." nella sezione $PACKAGE; In secondo luogo, in Protel, usiamo la forma di BasName[0:N] per rappresentare il bus, e BasName[x] per rappresentare un segnale nel bus. La rappresentazione di un segnale nel bus nella netlist Allegro di terze parti è Bas NameX. I lettori possono risolvere questi problemi modificando direttamente l'output della netlist Telexis di Protel.
Allegro ha anche bisogno del file di descrizione del dispositivo Device.txt di ogni tipo di dispositivo quando si inietta la netlist di terze parti. Il suo formato è il seguente:
Pacchetto: tipo di pacchetto
Classe: clasttype
Pinnumber: total pinnumber
Pinato: ...
Gli elementi comunemente usati per la prova PCB sono PACCHETTO, CLASSE e PINCOUNT. PACKAGE descrive il pacchetto del dispositivo, ma Allegro utilizzerà la voce PACKAGE nella netlist e ignorerà questa voce nel file di descrizione del dispositivo durante l'iniezione della netlist. CLASS determina il tipo di dispositivo per l'analisi segnale-rumore. Cadence divide il dispositivo in tre categorie: IC, IO e DISCRETE. PINCOUNT indica il numero di pin del dispositivo. Per la maggior parte dei dispositivi, è sufficiente includere questi tre elementi nel file Device.txt.
Con un file di netlist e descrizione del dispositivo di terze parti per la prova PCB, possiamo sostituire il design schematico in Protel nel software di progettazione PCB Cadence sotto forma di netlist. Quindi, il progettista può utilizzare il software PCB Cadence ad alta velocità e ad alta densità. La potente funzione del design PCB completa il tuo design.
FILE *fp1, *fp2;
::AfxMessageBox("ciao");
fp1=fopen("pick.txt", "rt");
if (fp1)::AfxMessageBox("Impossibile aprire il file!!!");
fp2=fopen("place.txt","wt");
if (fp2==NULL)::AfxMessageBox("Impossibile creare il file!!!");
char refdes[5], Pattern[5];
Float midx, midy, refx, refy, padx, pady, rotazione;
char tb[1];
char tmp=""";
fprintf(fp2,"%s\n", "# Allegro script");
fprintf(fp2,"%s\n", "versione 13.6");
fprintf(fp2,"%s\n", "place refdes");
while (!feof(fp1)) {
fscanf(fp1,"%s", referes);
fscanf(fp1,"%s", Pattern);
fscanf(fp1,"%f", &midx);
fscanf(fp1,"%f", &midy);
fscanf(fp1,"%f", &refx);
fscanf(fp1,"%f", &refy);
fscanf(fp1,"%f", &padx);
fscanf(fp1,"%f", &pady);
fscanf(fp1,"%s", tb);
fscanf(fp1,"%f", &rotation);
fprintf(fp2, "fillin%c%s%c \n",tmp,refdes,tmp);
if (rotazione!=0) {
fprintf(fp2, "rotate\n");
fprintf(fp2, "iangle%f\n", rotazione);
};
char yy=tb[0];
if (yy!='T') fprintf(fp2, "pop mirror\n");
fprintf(fp2, "pick%f%f \n", padx,pady);
fprintf(fp2, "next \n");
};
fprintf(fp2, "done");
fclose(fp1);
fclose(fp2);
Quanto sopra introduce brevemente il metodo di conversione di Protel in Allegro, e spero possa essere utile per il lavoro di progettazione dei lettori.