RISC-V Doğrulaması İçin Gerekli Araçlar Var mı?

RISC-V Doğrulaması İçin Gerekli Araçlar Var mı?

Kaynak Düğüm: 2551565

Yarıiletken Mühendisliği, RISC-V işlemcilerinin doğrulanmasını görüşmek üzere, ürün yönetiminden sorumlu grup yöneticisi Pete Hardee ile bir araya geldi. Ritim; Mike Eftimakis, strateji ve ekosistemden sorumlu başkan yardımcısı kodasip; Simon Davidmann, kurucusu ve CEO'su Imperas Yazılımı; Sven Beyer, işlemci doğrulaması program yöneticisi Siemens EDA; Kiran Vittal, ittifaklar ortak pazarlaması kıdemli direktörü Synopsus; Breker Verification CEO'su Dave Kelf ve Viosoft Corporation'ın başkanı ve CTO'su Hieu Tran. Aşağıda o konuşmadan alıntılar yer alıyor. Bu tartışmanın birinci bölümünü görüntülemek için burayı tıklayın.

SE: RISC-V doğrulama akışı neye benziyor?

Kelf: İşlemcilerin doğrulanmasını bir dizi etkinlik olarak görüyoruz, ancak bu yığında çok sayıda geridöngü var. Pek çok şirket ISA'ya uygunluğu ayrı bir faaliyet olarak ele alıyor. Her şeyin yolunda olduğundan emin olmak için ilk aşamada bir 'Merhaba Dünya' testi yapacaklar, ardından mümkün olduğunca çok sayıda uyumluluk testi gerçekleştirecekler. ISA'yı eşleştirmeye çalışırlar ve ardından mikro mimariyi test etmeye başlarlar. Pek çok insan orada duruyor. Uyumluluk testlerini çalıştırırken uyumluluk elde ediyormuş gibi görünebilirler ve ardından mikro mimari testlerini yazmaya başlarlar, bozuk olan bazı şeyleri bulurlar ve bir ISA'ya uymanın sadece bir ISA oluşturmaktan çok daha karmaşık olduğunu fark ederler. Talimatın düzgün çalıştığından emin olun. Yığında yukarıya doğru ilerledikçe şu soruyu sorarlar: 'Çekirdeklerin sistemin geri kalanıyla olan ilişkisini doğrulayabilir miyiz? Üzerine bir işletim sistemi başlatabilir miyiz? Gerekli performansa sahip mi? Performansın doğru olduğundan emin olmak için tasarımın profilini çıkarabilirler mi ve doğrulamada daha fazla hata ortaya çıkarmak için doğrulama faaliyetlerine başlayabilirler mi?' Normal bir ASIC'i veya normal çekirdeği test ettiğimizde, tüm doğrulama etkinliklerini gerçekleştirebilir, gerçekten iyi bir kapsam elde edebilir ve ardından doğrulamayı sonunda yapabilirsiniz. Çoğu zaman doğrulamaya geri dönmeniz gerekmez. Bu işlemcilerle bunu yapabilirsiniz. Bu doğrulama yığınında her zaman ileri geri gitmeniz gerekir. Bu sizi ve bu mimarinin tüm doğrulamasını gerçekten yavaşlatır. Altın referans modeli kritik öneme sahip hale geliyor. Imperas modelleri birçok kişi tarafından son teknoloji endüstri standardı modeller olarak kabul edilmektedir. Biz bu modellerle çalışıyoruz. Güvenebileceğiniz gerçekten sağlam bir temel referans modeli oluşturmak kritik bir şey haline geliyor. Mikro mimariyi test edebilirsiniz, sistemin geri kalanıyla olan etkileşimin bir kısmını bu çekirdek modele göre test edebilirsiniz ve gerçek işlemcide neler olup bittiğine dair gerçekten daha net bir resim elde edebilirsiniz.

Tran: RISC-V söz konusu olduğunda altın referans modeli fikrinin uygulanabilir olup olmadığı konusunda bazı şüphelerim var. Unix'in sahneye çıktığı güne dönerseniz, kendi uygulamaları olan bir avuç tedarikçi vardı. IBM'den Solaris, SVR4, AIX vb. vardı. Tüm bu farklı Unix/Linux uygulamalarından genel olarak çalışabilecek ortak bir yürütülebilir dosya elde etme fikri kesinlikle mümkün değildi. Her satıcı, kendilerine diğerlerinden farklılaşmayı sağlayacak katma değer ve özel uzantılar oluşturmaya teşvik edilir. Bunu burada RISC-V'de görüyoruz. Uygulamaların çoğunun Intel veya Arm şemsiyesi altında olduğu x86 ve Arm'ın aksine, kendi RISC-V uygulamasını oluşturan yüzlerce farklı kurum ve kuruluşa sahipsiniz. Spesifikasyonun çok büyük olduğu vektör uzantısı gibi şeylerden bahsettiğinizde, birçok uygulayıcı bu uzantının yalnızca bir alt kümesini uygulamaya karar vermiştir. Bu çeşitli uygulamalara göre yürütmeyi doğrulayabilmek için ortak bir altın referans modelini nasıl oluşturabilirsiniz? İkincisi, yürütmenin doğrulanması ve doğrulanması hakkında konuştuğumuzda, takım zincirinde ve işletim sisteminde daha da yukarılara gitmeniz gerekir. Örneğin vektör uzantılarını ele alalım. Konuştuğum ve birlikte çalıştığım her satıcının kendi derleyicisi, vektör uzantılarını destekleyen kendi LLVM uygulaması var. Ve hiçbiri diğerleriyle uyumlu değil. Yani A satıcısından LLVM derleyicisini alıp kod oluşturabilirsiniz ve bu, B satıcısının uygulaması için pek verimli olmaz. Bu açıdan bakıldığında, ortak bir model bulmanın mümkün olup olmadığı konusunda şüpheliyim. size bu farklılıklara karşı bir temel verebilir.

Davidmann: Bu yoruma kesinlikle katılmıyorum. RISC-V tam bir kabus çünkü çok fazla seçenek var. Bu, uyumluluk ve uyumlulukla ilgili zorluklardan biridir. Hepsi yasal olan pek çok konfigürasyon seçeneği var ve asıl soru şu: Bir referans modelini nasıl yaratacaksınız? Ama durum bundan daha kötü. Her üç ayda bir, her uzantının yeni bir sürümü yayınlanır. Simülatörümüzde bu tam bir referanstır. Bağımsız alt kümelerin yanı sıra versiyonlar için de tamamen yapılandırılabilir. Vektörlerin 11 versiyonu var, bunlardan 4'ü silikona gitti. Doğru tasarlanıp mimarileştirildiği sürece bunda bir sorun olduğunu düşünmüyorum. RISC-V işleri daha iyi yapma fırsatı sunuyor. Tek bir Kola veya tek Intel'e sahip olduğumuz eski yöntemle yaşayamayız. Bu işe yaramayacak. Eski dünyada tek bir şeyi yapan bir referans modeliniz varsa, yeni dünyada 100 şeyi yapabilen bir referans modeliniz var. Ve biz de oraya gidiyoruz. Aksi takdirde RISC-V asla kaderini gerçekleştiremeyecektir. Bu sorunları çözmemiz lazım.

sert: İşlemci uygulamasını biliyoruz ve şeytan ayrıntıda gizlidir. SystemVerilog, Verilog'un bu uygulama ayrıntılarını yakalamada çok daha iyi olduğu konusunda kesinlikle sizinle aynı fikirdeyiz. Ancak bu uygulamayı amacı yakalayan daha üst düzey bir modele göre doğrulamanız gerekir. Bu tek bir referans modeli değil. Bahsettiğimiz birçok varyant için referans modeli oluşturmanın çok sayıda veya standartlaştırılmış bir yolu olabilir.

Davidmann: Beş ya da altı yıl önce, resmi konuyu araştıran ve sonunda altın referans modeli oluşturma dili olarak SAIL'i seçen RISC-V Uluslararası organizasyonunun bir parçasıydım. Yanlış anladığımız şey SAIL'in pek yapılandırılabilir olmamasıdır. Bir mimari için harika. Arm için harika. Bir tanımdan, yapı itibariyle doğruya, resmi bir tanımlamadan aşağıya doğru tüm bu akışa sahipler ve bu harika. RISC-V'nin zorluğu, tasarım gereği bu sonsuz yapılandırılabilirliğe sahip olmasıdır. Ve bunun SAIL'de modellenmesinde gerçek bir zorluk var. Bu yüzden Imperas dinamik bir modeli tercih etti.

Vitthal: RISC-V neredeyse her şirket tarafından benimseniyor. Önde gelen yarı iletken satıcıları bile birçok startup gibi RISC-V tasarımları yapıyor. Ancak önemli olan, kapsama hedeflerinize ulaşmak için çok yüksek kalitede teşviklere sahip olduğunuz başarılı bir doğrulama planına sahip olabilmektir. Hem doğrulama hem de hata ayıklama el ele gider. Donanım/yazılım hata ayıklaması, kodda adım adım ilerlemek ve sorunlara eş zamanlı bakmak çok önemlidir. Mimarinin esnekliğine dönersek, bu zorluklar yaratıyor ve hepimiz için fırsatlar burada yatıyor. Yenilikçi çözümler geliştiriliyor. RISC-V satıcıları ve EDA araç şirketlerinin yanı sıra diğer EDA ortakları vb. arasında çok sayıda işbirliği var.

Kelf: Bunu belli ölçüde çözmüş firmalar var. RISC-V'nin sonsuz yapılandırılabilirliği, tüm bunlar doğrudur. Ancak günün sonunda Arm ve Intel, daha az yapılandırılabilir işlemcilerinin doğrulanmasını çözdüler. Bir akışları veya bir dizi karmaşık akışları vardır ve bu akışlar bir dizi farklı aktiviteyi içerir. Arm bunu yapmak için pek çok resmi araç ve pek çok farklı şey kullanıyor. Bu adamlardan bazılarının akışlarında neler yaptığına bakmak ve bazılarını otomatikleştirmeye çalışmak, başlamak için iyi bir nokta olabilir. RISC-V işlemcileri yapmaya çalışan ve birlikte işbirliği yapan, bu daha genelleştirilmiş akışları ortaya çıkarmak için işbirliği yapan ve bunların bazılarını standartlaştırıp standartlaştıramayacağımızı gören herkesin kullanabileceği bir şeye ihtiyacınız var. Ve uygun bir standart anlamında değil, endüstri genelinde çalışan ve yalnızca talimat seti uyumluluğu değil, gerçek bir uyumluluk yaratan RISC-V işlemcilerini doğrulamanın fiili standart bir yolu.

SE: Birkaçınız yeni araçlara, yeni akışlara ihtiyacımız olduğundan bahsettiniz. Bugün eksik olan ne? Birinin sağlaması gereken şeylerin neler olduğunu nasıl bulacağız?

Kelf: RISC-V işlemcilerini dahili olarak yapan birçok kişi var ve yeniden başlıyorlar. İşlemci doğrulamasının nasıl yapılacağını öğreniyorlar. Codasip gibi şirketler, Arm ve Intel gibi yerlerden çok fazla deneyime ve uzmanlığa sahip, ne yapılması gerektiğini anlayan kişileri işe aldı. Bu şirketlerin bazılarının artık 'İşlemci tam tutarlılığı destekleyebilir mi?' gibi konuları değerlendirdikleri akışlar ürettiğini görüyoruz. Sistemin geri kalanında çalışıyor mu? RISC-V içindeki PMP (fiziksel bellek koruması) talimatları gibi güvenlik talimatları doğru şekilde çalışabilir mi?'

Davidmann: Beş veya altı yıl önce RISC-V'ye başladığımızda RISC-V'ye özel hiçbir şey yoktu. Verilog simülatörümüz vardı, bazı resmi şeyler vardı, bazı özellikler yazabiliyordunuz. GCC vardı ve onu çalıştırıp hata ayıklayabilirsiniz. İşte bu kadar. Son beş yılda gördüğümüz şey, insanların, işlemcilerin özel yöntemlerle nasıl doğrulandığını öğrenerek elde edilen birçok araç ve teknolojiyi geliştirdiğidir. Ve bunu daha fazla kamuoyuna duyurmaya çalışıyoruz. Bunun Intel ve Arm'da nasıl yapıldığını ve kullanılan teknoloji türlerini anlamaya çalışıyoruz. Doğrulama göreviyle ilgilendiğim OpenHW'de çalışıyoruz. Endüstriyel kalitede açık kaynaklı silikonla ilgilidir. Açık kaynaklı araçları kullanmakla ilgili değil. Son birkaç yılda öğrendiklerimiz pek çok farklı teknik, işleri yapmanın pek çok farklı yolu ve sizin için doğrulamayı yapan teknoloji gibi bu yapılandırılabilir referans modeli gibi araçlar geliştirdik ve oluşturduk. Linux'un ne kadar iyi çalıştığını kontrol etmeye çalışmak için geliştirdiğimiz işlevsel kapsam. İnsanlar test jeneratörleri inşa ediyorlar. Diğer şirketler, Siemens'in OneSpin Teknolojileri gibi RISC-V'ye odaklanan resmi araçlar geliştiriyor. İşin resmi tarafıyla ilgilenen üç veya dört şirket daha var. Gördüğümüz şey şu ki, bazı spesifik RISC-V teknolojileri oluşturuluyor, bazı doğrulama IP'leri oluşturuluyor ve EDA satıcıları insanların ihtiyaç duyduğu metodolojileri giderek daha fazla öğreniyor ve araçları geliştiriyorlar. Ama henüz ilk günler. RISC-V'nin gerçek kullanımına yalnızca beş yıl, ticari kısmına ise muhtemelen birkaç yıl kaldı. Daha önce beş yıllık akademik işler vardı. Codasip gibi şirketler ve silikon IP'nin diğer ticari satıcıları gerçekten gelişiyor ve doğrulama için teknolojileri dahili olarak geliştiriyorlar. Bazı EDA satıcıları gibi biz de bunların ticari araçlar olarak oluşturulmasına yardımcı olmaya çalışıyoruz. RISC-V doğrulama teknolojilerinde yeni çağın başlangıcındayız.

Vitthal: Ana akım işlemci geliştiricileri ne yaptıklarını biliyorlar. Daha önce x86 ve Arm'ı yaptılar. RISC-V'yi benimsiyorlar ve tam olarak ne yapacaklarını biliyorlar. Ayrıca açık kaynak topluluğundan da yararlanıyorlar. Ana akım için RISC-V'ye baktığınızda, ana akım tasarımcılar tarafından benimsendiğini görürsünüz. İşte bu noktada bir metodolojiye ihtiyaçları var. Eksik olan budur. Synopsys, hem yazılım hem de donanım olarak doğrulama ve onaylama için gereken her şeyi sunar. VIP'lerimiz var, resmi tekniklerimiz var, veri yollarımız var ama eksik olan bir metodolojidir. Metodoloji, işlemci doğrulama mühendisinin ve diğer uzmanların uzmanlığıyla birlikte gelir.

Eftimakis: IP satıcılarının gizli sosu budur. Biz de dahili olarak bunu yapıyoruz.

Davidmann: Imperas gibi şirketler bunu daha halka açık hale getirmeye çalışıyor. Daha önce özel IP olabilirdi. RISC-V işlemci doğrulama referans akışı hakkında 90 dakikalık bir eğitim veriyoruz. İhtiyacınız olan tüm farklı parçaları ve bugün hangi teknolojilerin mevcut olduğunu ve nelerin mevcut olmadığını ortaya koyuyor. Ticari teknolojiye dayalı test oluşturuculardan bahsediyoruz.

Vitthal: Müşterilerimizin açık kaynak çekirdeği kullanan portaldan indirebilecekleri yemek kitabı adı verilen benzer bir şeyimiz var. Bu sizi tüm doğrulama sürecinden geçirebilir.

Beyer: Yeni takım eklemek çok önemlidir, ancak çok yapılandırılabilir RISC-V referans modeline ihtiyacımız var ve bunu takım ve akış için kullanılabilir hale getirmeliyiz. Daha sonra, derin deneyimi olmayan kişilerin RISC-V çekirdekleri için yeterli doğrulama deneyimine sahip olma noktasına gelebilmeleri için bunun etrafında bir şeyler inşa edebiliriz.

Eftimakis: Imperas ve OneSpin gibi araçları akışımıza entegre ettik. Bu, RISC-V'nin bir parçası olmanın bir faydası olarak gördüğümüz bir şey çünkü ekosistem için oluşturulmuş bu araçlardan yararlanabiliyor ve bunları doğrulama akışımıza entegre edebiliyoruz. Karşılaştırmayı modeller, simülasyonlar, resmi doğrulamalar, iddialar vb. ile birleştirebiliriz. Bu, bu ekosistemin bir parçası olmaktan elde ettiğimiz bir faydadır.

Zaman Damgası:

Den fazla Yarı Mühendislik