一区二区三区三上|欧美在线视频五区|国产午夜无码在线观看视频|亚洲国产裸体网站|无码成年人影视|亚洲AV亚洲AV|成人开心激情五月|欧美性爱内射视频|超碰人人干人人上|一区二区无码三区亚洲人区久久精品

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

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

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

li5236 ? 來源:ExASIC ? 作者:ExASIC ? 2022-03-29 14:44 ? 次閱讀

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

django介紹

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

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

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

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

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

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

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

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

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

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

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

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

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

幾種可能的解決方案:

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

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

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

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

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

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

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

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

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

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

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

    關(guān)注

    71

    文章

    2856

    瀏覽量

    175868
  • 瀏覽器
    +關(guān)注

    關(guān)注

    1

    文章

    1040

    瀏覽量

    35998
  • 函數(shù)
    +關(guān)注

    關(guān)注

    3

    文章

    4365

    瀏覽量

    63912
收藏 人收藏

    評論

    相關(guān)推薦
    熱點推薦

    edge瀏覽器識別 latex語法插件

    默認(rèn)的瀏覽器是沒有l(wèi)atex識別功能的,容易顯示為亂碼或者源碼,無法正常識別。本插件需要在瀏覽器的擴展程序菜單下安裝,能在edge下完美運行。本插件是免費插件。
    發(fā)表于 03-17 18:03 ?0次下載

    E2000 Speedometer測試瀏覽器性能

    E2000 Speedometer****測試瀏覽器性能 Version:V1.0 日期:2024-12-5 1、瀏覽器基準(zhǔn)測試Speedometer Speedometer是一款專為Web瀏覽器
    發(fā)表于 01-10 21:33

    2024年12月瀏覽器市場份額報告:谷歌Chrome穩(wěn)居榜首

    根據(jù)市場調(diào)查機構(gòu)Statcounter最新發(fā)布的權(quán)威報告,2024年12月全球瀏覽器市場份額排行榜中,谷歌Chrome瀏覽器再次以卓越的表現(xiàn)穩(wěn)居首位。數(shù)據(jù)顯示,Chrome的市場占有率高達68.38
    的頭像 發(fā)表于 01-02 14:58 ?1237次閱讀

    訊飛星火瀏覽器插件全新升級

    時刻陪伴,星火插件讓你的瀏覽器變成真正的生產(chǎn)力工具。
    的頭像 發(fā)表于 12-25 09:48 ?813次閱讀

    Chrome瀏覽器優(yōu)化Android性能,驍龍8至尊版表現(xiàn)突出

    谷歌近日對Chrome瀏覽器的最新版本進行了重大更新,特別針對Android設(shè)備進行了性能優(yōu)化,特別是對于搭載驍龍8至尊版處理的旗艦設(shè)備而言。 自Chrome M112版本以來,Android
    的頭像 發(fā)表于 12-13 14:44 ?799次閱讀

    AWTK 最新動態(tài):支持瀏覽器控件

    導(dǎo)讀AWTK瀏覽器控件,基于webview項目實現(xiàn),將瀏覽器嵌入到AWTK應(yīng)用程序中,讓開發(fā)者可以方便的集成在線幫助和調(diào)用地圖等功能。awtk-widget-web-view是基于webview實現(xiàn)的AWTK瀏覽器控件,使得AW
    的頭像 發(fā)表于 11-20 01:05 ?500次閱讀
    AWTK 最新動態(tài):支持<b class='flag-5'>瀏覽器</b>控件

    寫一個Chrome瀏覽器插件

    一、什么是瀏覽器插件 瀏覽器插件是依附于瀏覽器,用來拓展網(wǎng)頁能力的程序。插件具有監(jiān)聽瀏覽器事件、獲取和修改網(wǎng)頁元素、攔截網(wǎng)絡(luò)請求、添加快捷菜單等功能。使用
    的頭像 發(fā)表于 11-18 17:12 ?867次閱讀
    寫一個Chrome<b class='flag-5'>瀏覽器</b>插件

    log114做仿真時,用示波器它的波形卻失真了為什么?

    請教各位高手,用log114做仿真時,最后的輸出電壓值是正確的,但是用示波器它的波形卻失真了,怎么回事?
    發(fā)表于 08-30 08:09

    跨域問題是由瀏覽器的同源策略造成的

    瀏覽器
    jf_62215197
    發(fā)布于 :2024年08月27日 07:51:42

    不只是前端,后端、產(chǎn)品和測試也需要了解的瀏覽器知識(二)

    繼上篇《 不只是前端,后端、產(chǎn)品和測試也需要了解的瀏覽器知識(一)》介紹了瀏覽器的基本情況、發(fā)展歷史以及市場占有率。 本篇文章將介紹瀏覽器基本原理。 在掌握基本原理后,通過技術(shù)深入,在研發(fā)
    的頭像 發(fā)表于 08-12 14:32 ?549次閱讀
    不只是前端,后端、產(chǎn)品和測試也需要了解的<b class='flag-5'>瀏覽器</b>知識(二)

    谷歌Chrome瀏覽器新增三大AI功能,提升用戶體驗

    谷歌近日宣布,在其廣受歡迎的Chrome瀏覽器中引入了三項前沿的AI技術(shù)功能,旨在為用戶提供更加智能、便捷的瀏覽體驗。這些新功能由Gemini技術(shù)強力驅(qū)動,目前已在Chrome桌面版上線,標(biāo)志著谷歌在AI與瀏覽器融合方面的又一重
    的頭像 發(fā)表于 08-05 11:26 ?948次閱讀

    不只是前端,后端、產(chǎn)品和測試也需要了解的瀏覽器知識

    一、我們?yōu)槭裁匆私?b class='flag-5'>瀏覽器? 1. 對于前端開發(fā)者 1.瀏覽器是用戶體驗的第一線。我們需要了解瀏覽器的工作原理,才能有效地設(shè)計和實現(xiàn)用戶界面,確保良好的用戶體驗。 2.好的產(chǎn)品需要考慮瀏覽器
    的頭像 發(fā)表于 07-01 18:03 ?668次閱讀
    不只是前端,后端、產(chǎn)品和測試也需要了解的<b class='flag-5'>瀏覽器</b>知識

    如何用python調(diào)用瀏覽器的視頻?

    linda 我想用python調(diào)用瀏覽器的視頻。 我使用cv2調(diào)用視頻流,但是失敗了。 URL=\"http://192.168.4.1/face_stream\" cap = cv2.VideoCapture(URL) print(cap.isOpened()) 輸出了false,請問該怎么實現(xiàn)?
    發(fā)表于 06-26 08:15

    Opera瀏覽器引領(lǐng)潮流,全球首接端側(cè)AI大模型

    昆侖萬維旗下海外平臺Opera宣布,其旗艦瀏覽器Opera One和游戲瀏覽器Opera GX將正式接入端側(cè)AI大模型,成為全球首個實現(xiàn)這一突破的主流瀏覽器
    的頭像 發(fā)表于 06-03 09:18 ?971次閱讀

    Microsoft Edge瀏覽器將去除爭議性關(guān)注創(chuàng)建者功能

    據(jù)悉,2019 年 The Verge 曾披露 Edge 瀏覽器的關(guān)注創(chuàng)建者功能存在嚴(yán)重漏洞,該功能使得用戶在瀏覽網(wǎng)站時,瀏覽器將其訪問記錄上傳至必應(yīng)搜索引擎。
    的頭像 發(fā)表于 05-13 15:24 ?642次閱讀