91欧美超碰AV自拍|国产成年人性爱视频免费看|亚洲 日韩 欧美一厂二区入|人人看人人爽人人操aV|丝袜美腿视频一区二区在线看|人人操人人爽人人爱|婷婷五月天超碰|97色色欧美亚州A√|另类A√无码精品一级av|欧美特级日韩特级

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

瀏覽器里編輯代碼、仿真、看log、看波形的方法

li5236 ? 來源:ExASIC ? 作者:ExASIC ? 2022-03-29 14:44 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

本文介紹了一種在瀏覽器里編輯代碼、仿真、看log、看波形的方法。

django介紹

django是一個由python實現(xiàn)的web后端框架。這里“后端”就是指在服務器上執(zhí)行的程序(前端程序在瀏覽器里執(zhí)行)。django采用了 MVT 的軟件設計模式,即模型(Model),視圖(View)和模板(Template)。這種MVT的設計思想讓數(shù)據(jù)與表現(xiàn)形式分開,從而編寫的程序更容易理解和維護。

django的結構大致如下圖。簡單地講,瀏覽器提交的請求,經(jīng)apache執(zhí)行后,送給django。django先解析url,根據(jù)url調用不同view函數(shù)。view函數(shù)操作數(shù)據(jù)庫,把數(shù)據(jù)填進模板得到html,view把html送回給瀏覽器。這里返回的信息不僅僅是html,也可以是text文本、json、圖片、視頻等各種格式的信息。

在“瀏覽器”里實現(xiàn)云端EDA

我們的云端EDA分為三部分:瀏覽器里的IDE(包括代碼編輯器、log顯示、波形查看、操作按鈕等)、web后端實現(xiàn)(處理瀏覽器的請求、調用EDA服務器api執(zhí)行、返回信息給瀏覽器等)、EDA服務器(接收web后端的eda指令,如編譯、仿真等,調用eda)。

要實現(xiàn)“瀏覽器里的IDE”,主要需要javascript。代碼編輯器只不過是一個加強版的textarea,實現(xiàn)了行號顯示、代碼高亮、自動縮進等功能。這部分有現(xiàn)成輪子可以調用,比如CodeMirror等。

點擊“仿真”之后發(fā)生了什么?

當代碼寫完,點擊“Run”按鈕后,瀏覽器把代碼傳輸給web服務器,并將代碼存儲在指定的目錄。這里的目錄可以是“用戶名+項目名”的形式,避免與其他用戶或者其他項目沖突,也可以是“當前時間+隨機數(shù)”的形式。在代碼傳輸時,為了避免特殊字符,可以用base64將代碼編碼。如果需要減小傳輸數(shù)據(jù)量,可以先壓縮后傳輸。

代碼存儲好后,django的view函數(shù)具體實現(xiàn)了仿真調用,比如用subprocess.Popen(),后臺調用eda服務器的相關api(簡單的,可以只是一個sim腳本)。這里一般有幾點需要注意:

view函數(shù)要做成異步執(zhí)行,即eda開始仿真后,立即返回信息通知瀏覽器。仿真過程可能持續(xù)很長時間,比如幾分鐘、幾個小時,瀏覽器不可能一直等在那里。

在仿真的過程中,需要實時顯示仿真的狀態(tài),比如瀏覽器里能實時顯示log。因為上面把仿真設成異步了,就需要瀏覽器定時查詢。比如每2秒或者5秒,查詢仿真的log和狀態(tài)。

當然瀏覽器里也可以用websocket來實現(xiàn)。用websocket有一個好處,就是不會超時,并且服務器可以主動給瀏覽器發(fā)消息。這樣就避免了定時查詢帶來的資源浪費。

下面來討論另一個問題:如何實現(xiàn)在瀏覽器里查看仿真波形?

查看波形仍然是當前數(shù)字設計和驗證最有效、最直觀的調試方法。但VCD波形一般比較大,很難直接傳遞給瀏覽器,另外也會有很長時間的延遲,影響使用體驗。

幾種可能的解決方案:

壓縮。壓縮成tar.gz,或者其它自定義的格式。如果壓縮后小于5MB,就會感覺不到延遲。如果壓縮后20MB,就會要稍微等一會兒。如果是100M,就需要等較長時間。當然壓縮后100M也可以存儲很多波形信息了,可以應付常見的模塊級設計。

波形切片。在服務器仿真時把波形存儲很多小文件,比如10M左右。用戶瀏覽波形時,需要看前面或者后面的波形時,可以點“向前”或“向后”的按鈕從服務器快速加載。因為文件小,所以速度也快。但有一個問題,就是需要縮放時,比如縮放到full,需要加載全部波形,這會變得很慢。

另外一種可行的方案,瀏覽器把開始時間、結束時間、波形顯示窗口寬度告訴服務器,在服務器端把指定時間段的波形截出來,并處理成瀏覽器可以顯示的大小的圖片。這樣服務器把處理后的圖片傳送給瀏覽器,一般這樣的矢量圖片,可以控制在幾十K以內。瀏覽器收到后,直接顯示。當然瀏覽器需要實現(xiàn)時間刻度和鼠標的放大、縮小、劃選等操作,觸發(fā)這些操作后,從服務器重新取一幅矢量圖替換掉,這樣就實現(xiàn)了波形的放大和縮小。

綜上,方案3是最可行的方案,能滿足幾乎所有的設計場景。有人擔心這個服務器端的波形處理程序會不會太占資源或者太慢?其實,我們可以這樣想,一臺服務器上同時開著20個Verdi肯定不慢。這里的波形處理程序也同樣可以用C/C++來實現(xiàn),不一定要用python。

這樣,我們就簡單實現(xiàn)了在瀏覽器里仿真和調試。

做這樣一個瀏覽器EDA有什么意義呢?

我覺得,首先,可以用于學習、培訓。教程與實驗融合,邊學邊練,輕量級實驗,無需本地實驗環(huán)境。edaplaygroud是一個很好的例子,這是國外的培訓機構doulos提供的學習平臺,支持vcs、xcellium這樣的商業(yè)軟件,也支持常見的開源軟件。

其次,如果可以與國產(chǎn)EDA公司達成合作,在后臺支持這些國產(chǎn)EDA,那么用戶無需安裝就可以立即試用和體驗。勢必可以起到宣傳、促進和普及國產(chǎn)EDA的作用。也會給合作的國產(chǎn)EDA公司帶來新用戶、新訂單和收益。

最后,說一說我對國產(chǎn)EDA的觀點。

當下國產(chǎn)EDA公司如雨后春筍般出現(xiàn),誰能最終勝出,就看EDA產(chǎn)品能否真正解決客戶的問題,能否滿足客戶日益增長的新需求。真正讓客戶感覺到能用、好用、還想用。

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權轉載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • eda
    eda
    +關注

    關注

    72

    文章

    3117

    瀏覽量

    183218
  • 瀏覽器
    +關注

    關注

    1

    文章

    1043

    瀏覽量

    37105
  • 函數(shù)
    +關注

    關注

    3

    文章

    4419

    瀏覽量

    67627
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    無需安裝!在瀏覽器就能玩轉ESP32/ESP8266,這個神器絕了!

    無需安裝!在瀏覽器就能玩轉ESP32/ESP8266,這個神器絕了!【往期精選】十年嵌入式最深的痛,不是Bug,而是抓不到日志!vivo宣布原生支持HomeAssistant生態(tài)設備接入(含
    的頭像 發(fā)表于 01-10 10:01 ?984次閱讀
    無需安裝!在<b class='flag-5'>瀏覽器</b><b class='flag-5'>里</b>就能玩轉ESP32/ESP8266,這個神器絕了!

    鴻蒙手機系統(tǒng)6.0用瀏覽器看視頻,視頻顯示不能橫屏。怎么設置?

    鴻蒙手機系統(tǒng)6.0用瀏覽器看視頻,視頻顯示不能橫屏。怎么設置? 如何掂讓這個豎屏切換為橫屏?
    發(fā)表于 12-20 20:10

    “透”工業(yè),還得OCT!

    “透”工業(yè),還得OCT!OCT技術在工業(yè)領域的創(chuàng)新應用探索光學相干層析技術(OpticalCoherenceTomography,OCT)是一種三維成像技術,可以在散射介質中進行高分辨率成像,成像
    的頭像 發(fā)表于 09-17 11:08 ?1299次閱讀
    <b class='flag-5'>看</b>“透”工業(yè),還得OCT!

    Microsoft Edge瀏覽器iOS端插件功能上線

    在最新發(fā)布的 139 版本中,Microsoft Edge 瀏覽器 iOS 端正式支持插件功能!與此同時,Microsoft Edge 安卓端的插件數(shù)量已躍升至近 30 款。廣告攔截、雙語翻譯、資源下載……你的手機瀏覽器,也能擁有自定義的「超能力」。
    的頭像 發(fā)表于 08-19 14:29 ?1813次閱讀

    亞馬遜云科技推出Amazon Nova Act SDK預覽版,加速瀏覽器自動化Agent落地

    北京2025年8月5日 /美通社/ --?亞馬遜云科技日前宣布,推出Amazon Nova Act SDK有限預覽版,可快速幫助客戶將基于瀏覽器的Agent從原型部署至生產(chǎn)環(huán)境。該SDK可與亞馬遜云
    的頭像 發(fā)表于 08-06 08:42 ?875次閱讀

    微軟Microsoft Edge瀏覽器構筑立體式安全防線

    在信息爆炸的今天,釣魚網(wǎng)站、詐騙廣告、隱私追蹤層出不窮。Microsoft Edge 瀏覽器為桌面與移動端用戶構筑了立體式安全防線。用七大安全護盾,保護你的上網(wǎng)安全。
    的頭像 發(fā)表于 08-04 15:39 ?1361次閱讀

    Texas Instruments LOG300DEVM和LOG300RGTEVM評估模塊數(shù)據(jù)手冊

    Texas Instruments LOG300DEVM和LOG300RGTEVM評估模塊 (EVM) 設計用于評估集成對數(shù)檢波、低噪聲放大器 (LNA) 和輸入頻率檢測的性能,所
    的頭像 發(fā)表于 07-21 10:15 ?722次閱讀
    Texas Instruments <b class='flag-5'>LOG</b>300DEVM和<b class='flag-5'>LOG</b>300RGTEVM評估模塊數(shù)據(jù)手冊

    ESP32-P4 C5開發(fā)板燒錄小智全流程!速

    ,我們文字、視頻教程都有!搭配食用更佳!教程在這抓緊碼住開發(fā)環(huán)境搭建打開瀏覽器,搜索并進入“樂鑫科技官網(wǎng)”;在官網(wǎng)頁面中找到“SDKs”選項,點擊后選擇“ESP-ID
    的頭像 發(fā)表于 07-04 18:03 ?2447次閱讀
    ESP32-P4 C5開發(fā)板燒錄小智全流程!速<b class='flag-5'>看</b>!

    ##DevEco Studio##如何讓模擬有圖片?【圖片下載法】

    ? API9和API12在模擬上,有一個巨大的區(qū)別,那就是API9(開發(fā)工具3的版本),他的模擬有一個拍照功能(再往前的版本里甚至還有瀏覽器,可以通過
    發(fā)表于 06-29 22:51

    ##DevEco Studio##如何讓模擬有圖片?【文件拖入法】

    ? API9和API12在模擬上,有一個巨大的區(qū)別,那就是API9(開發(fā)工具3的版本),他的模擬有一個拍照功能(再往前的版本里甚至還有瀏覽器,可以通過
    發(fā)表于 06-29 22:49

    老電視如何安裝瀏覽器

    2017年購買的夏普老電視,1.5G+8G存儲,網(wǎng)上下的瀏覽器APK文件在電視內打開就彈出“解析程序包出現(xiàn)問題”。 未知來源選項已打開,存儲空間清空到只剩下三個應用(只占用300M左右),基本可
    發(fā)表于 06-01 18:57

    從初學到進階:樹莓派上最適合你的代碼編輯器推薦!

    之前,你需要安裝一些必備工具,代碼編輯器便是其中之一。樹莓派系統(tǒng)自帶了一些代碼編輯器,它們功能良好,足以滿足基本需求。不過,如果你需要更高級的功能,就必須探索其他
    的頭像 發(fā)表于 05-15 16:20 ?1256次閱讀
    從初學到進階:樹莓派上最適合你的<b class='flag-5'>代碼</b><b class='flag-5'>編輯器</b>推薦!

    全棧開發(fā)進階指南:LuatOS-log庫從入門到實戰(zhàn)!

    本文將帶你深入探索LuatOS系統(tǒng)中log庫的核心原理與實戰(zhàn)技巧,通過代碼示例解析日志管理、錯誤追蹤及性能優(yōu)化的最佳實踐,助力全棧工程師構建更穩(wěn)健的物聯(lián)網(wǎng)應用。 今天,我們一起來認識LuatOS
    的頭像 發(fā)表于 05-15 16:12 ?2895次閱讀
    全棧開發(fā)進階指南:LuatOS-<b class='flag-5'>log</b>庫從入門到實戰(zhàn)!

    Vim編輯器的基本操作

    代碼的世界,效率是永恒的追求。無論是新手開發(fā)者還是資深工程師,都渴望擁有一款能讓自己如虎添翼的編輯器。而在Linux生態(tài)中,有一款被無數(shù)程序員奉為神器、被譽為“效率之王”的編輯器
    的頭像 發(fā)表于 05-06 13:41 ?1322次閱讀
    Vim<b class='flag-5'>編輯器</b>的基本操作

    ISO16750電源編輯波形菊水皇家可編程電源

    ISO16750電源編輯波形
    發(fā)表于 03-31 09:03 ?1次下載