精品国产人成在线_亚洲高清无码在线观看_国产在线视频国产永久2021_国产AV综合第一页一个的一区免费影院黑人_最近中文字幕MV高清在线视频

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

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

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

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

li5236 ? 來(lái)源:ExASIC ? 作者:ExASIC ? 2022-03-29 14:44 ? 次閱讀

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

django介紹

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

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

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

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

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

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

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

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

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

在仿真的過(guò)程中,需要實(shí)時(shí)顯示仿真的狀態(tài),比如瀏覽器里能實(shí)時(shí)顯示log。因?yàn)樯厦姘逊抡嬖O(shè)成異步了,就需要瀏覽器定時(shí)查詢。比如每2秒或者5秒,查詢仿真的log和狀態(tài)。

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

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

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

幾種可能的解決方案:

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

波形切片。在服務(wù)器仿真時(shí)把波形存儲(chǔ)很多小文件,比如10M左右。用戶瀏覽波形時(shí),需要看前面或者后面的波形時(shí),可以點(diǎn)“向前”或“向后”的按鈕從服務(wù)器快速加載。因?yàn)槲募。运俣纫部臁5幸粋€(gè)問(wèn)題,就是需要縮放時(shí),比如縮放到full,需要加載全部波形,這會(huì)變得很慢。

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

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

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

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

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

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

最后,說(shuō)一說(shuō)我對(duì)國(guó)產(chǎn)EDA的觀點(diǎn)。

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

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

    關(guān)注

    71

    文章

    2709

    瀏覽量

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

    關(guān)注

    1

    文章

    1016

    瀏覽量

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

    關(guān)注

    3

    文章

    4307

    瀏覽量

    62434
收藏 人收藏

    評(píng)論

    相關(guān)推薦

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

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

    寫一個(gè)Chrome瀏覽器插件

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

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

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

    跨域問(wèn)題是由瀏覽器的同源策略造成的

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

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

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

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

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

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

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

    微軟Edge瀏覽器新增文本編輯功能:引入Compose和數(shù)字書(shū)寫功能

    除此之外,Edge 瀏覽器也對(duì) Windows Ink 的手寫體驗(yàn)進(jìn)行了優(yōu)化提升。現(xiàn)在,用戶可在瀏覽器地址欄、文本區(qū)及“contenteditable”屬性的區(qū)域內(nèi)使用數(shù)字書(shū)寫功能。
    的頭像 發(fā)表于 04-24 15:26 ?634次閱讀

    Edge瀏覽器關(guān)閉Microsoft Rewards擴(kuò)展原因揭曉

    據(jù)報(bào)道,近期德國(guó)等地的Microsoft Edge瀏覽器用戶發(fā)現(xiàn),安裝或啟動(dòng)Microsoft Rewards擴(kuò)展后,會(huì)出現(xiàn)“右上角擴(kuò)展被Edge瀏覽器禁用以保障您的瀏覽器安全”的提醒窗口。
    的頭像 發(fā)表于 04-10 09:55 ?754次閱讀

    鴻蒙實(shí)戰(zhàn)開(kāi)發(fā):【瀏覽器制作】

    使用[@ohos.systemparameter]接口和[Web組件]展示了一個(gè)瀏覽器的基本功能,展示網(wǎng)頁(yè),根據(jù)頁(yè)面歷史棧前進(jìn)回退等。
    的頭像 發(fā)表于 03-19 17:47 ?559次閱讀
    鴻蒙實(shí)戰(zhàn)開(kāi)發(fā):【<b class='flag-5'>瀏覽器</b>制作】

    安卓版Chrome瀏覽器現(xiàn)已支持第三方密碼管理調(diào)用

    據(jù)報(bào)道,數(shù)據(jù)解析專家Leppeva64近日在安卓版谷歌Chrome瀏覽器的源代碼中透露,該瀏覽器已在安卓平臺(tái)上實(shí)現(xiàn)了對(duì)第三方密碼管理的調(diào)用支持,并覆蓋Stable、Beta及Cana
    的頭像 發(fā)表于 03-19 11:04 ?663次閱讀

    如何通過(guò)瀏覽器訪問(wèn)Web頁(yè)面進(jìn)行固件更新的方法

    如果電腦沒(méi)有安裝 TIA PORTAL 軟件,但是 CPU 之前激活了 Web 服務(wù)功能,可以通過(guò)電腦聯(lián)網(wǎng) CPU,然后打開(kāi)瀏覽器瀏覽到 CPU 的方式進(jìn)行固件更新。
    的頭像 發(fā)表于 02-25 14:51 ?1407次閱讀

    谷歌Chrome瀏覽器副總裁對(duì)蘋果歐洲新規(guī)提出異議,稱其限制過(guò)于嚴(yán)格

    塔布茲指出,蘋果從未認(rèn)真思考過(guò)是否在iOS平臺(tái)上放開(kāi)瀏覽器或引擎的權(quán)限,其設(shè)定的策略實(shí)在太過(guò)嚴(yán)格,不能給予瀏覽器開(kāi)發(fā)者真正的選擇權(quán)。
    的頭像 發(fā)表于 02-03 09:59 ?711次閱讀

    交流電源List波形編輯功能如何使用?

    List波形編輯功能的使用方法和相關(guān)應(yīng)用。 首先,交流電源List波形編輯功能一般通過(guò)電力系統(tǒng)仿真
    的頭像 發(fā)表于 01-19 15:01 ?754次閱讀

    谷歌宣布放棄Fuchsia OS引入完整Chrome/Chromium瀏覽器

    此前的Chromium例行代碼更新顯示,谷歌決定終止將完整Chrome/Chromium瀏覽器引入至Fuchsia OS的計(jì)劃。
    的頭像 發(fā)表于 01-16 14:02 ?691次閱讀