Ho guardato sul Web e le discussioni/gli esempi sembrano essere per lo sviluppo del software tradizionale. Poiché Verilog e VHDL (utilizzati per la progettazione di chip, ad esempio FPGA e ASIC) sono simili allo sviluppo di software C e C++, sembrerebbe avere senso. Tuttavia, alcune differenze sono fondamentalmente parallele e richiedono l'hardware per test completi.Esperienze con Test Driven Development (TDD) per progettazione logica (chip) in Verilog o VHDL
Quali esperienze, buone e cattive, hai avuto? Qualche link che puoi suggerire su questa specifica applicazione?
Modifiche/chiarimenti: 28/10/09: Mi sto particolarmente chiedendo di TDD. Ho familiarità con i banchi di prova, compresi quelli autocontrollati. Sono anche consapevole del fatto che SystemVerilog ha alcune caratteristiche particolari per i banchi di prova.
28/10/09: Le domande implicite includono 1) scrivere un test per qualsiasi funzionalità, mai utilizzando forme d'onda per la simulazione e 2) scrivere test/banchi di prova prima.
11/29/09: In Empirical Studies Show Test Driven Development Improves Quality riportano per (software) TDD "La pre-release densità di difetti dei quattro prodotti, misurata come difetti per mille linee di codice, diminuito tra il 40% e il 90% rispetto al progetti che non utilizzavano il TDD: la dirigenza dei team ha segnalato soggettivamente un aumento del 15-35% dei tempi di sviluppo iniziale per i team che utilizzavano il TDD, sebbene i team concordassero che ciò fosse compensato da una riduzione dei costi di manutenzione ". I bug ridotti riducono il rischio di intercettazione, a scapito di un impatto moderato sul programma. This ha anche alcuni dati.
29/11/09: Principalmente sto facendo il controllo e il codice datapath, non il codice DSP. Per DSP, la soluzione tipica prevede una simulazione bitmap accurata di Matlab.
03/02/10: Il vantaggio di TDD è che ci si assicura che il test fallisca prima. Suppongo che questo potrebbe essere fatto anche con asserzioni.
Bella domanda. Mi sono spesso chiesto quali sarebbero stati i test unitari per i blocchi RTL. – Marty
Posso immaginare quanto bene andrebbe giù proponendo che i test vengano scritti prima dell'RTL :-) Un gestore di chip vedrebbe questo come un push-out della data di tapeout. – DMC
Presumo che il pubblico del TDD abbia discussioni in merito. Dovrei esaminarlo. –