中文亚洲精品无码_熟女乱子伦免费_人人超碰人人爱国产_亚洲熟妇女综合网

當(dāng)前位置: 首頁 > news >正文

php asp網(wǎng)站開發(fā)站長(zhǎng)之家seo一點(diǎn)詢

php asp網(wǎng)站開發(fā),站長(zhǎng)之家seo一點(diǎn)詢,購物網(wǎng)站php模板,沈陽網(wǎng)站建設(shè)21anshanWavedrom 是一款功能強(qiáng)大且簡(jiǎn)單易用的文本轉(zhuǎn)圖表工具,被廣泛應(yīng)用于生成時(shí)序圖、波形圖等交互式波形。其特點(diǎn)在于使用簡(jiǎn)單的文本語法,使得開發(fā)人員能夠以可視化的方式表示數(shù)字信號(hào)和時(shí)間序列數(shù)據(jù)。Wavedrom 的優(yōu)勢(shì)在于其高度靈活性和可擴(kuò)展性,…

Wavedrom 是一款功能強(qiáng)大且簡(jiǎn)單易用的文本轉(zhuǎn)圖表工具,被廣泛應(yīng)用于生成時(shí)序圖、波形圖等交互式波形。其特點(diǎn)在于使用簡(jiǎn)單的文本語法,使得開發(fā)人員能夠以可視化的方式表示數(shù)字信號(hào)和時(shí)間序列數(shù)據(jù)。Wavedrom 的優(yōu)勢(shì)在于其高度靈活性和可擴(kuò)展性,使用戶能夠快速繪制復(fù)雜的波形和圖表,并輕松與其他文檔和代碼進(jìn)行整合。

Wavedrom 的基本語法相對(duì)簡(jiǎn)單,以 JSON 對(duì)象或簡(jiǎn)潔的文本描述波形和時(shí)序信息。開發(fā)人員只需編寫簡(jiǎn)短的描述,即可生成直觀的波形圖。通過使用不同的標(biāo)記和元素,用戶可以定義時(shí)序圖中的信號(hào)波形、時(shí)鐘周期、狀態(tài)轉(zhuǎn)換等內(nèi)容。Wavedrom 支持自定義樣式和布局,用戶可以根據(jù)需求美化波形圖,增加標(biāo)簽和注釋以增強(qiáng)可讀性。

時(shí)序圖是 Wavedrom 最常見的用途之一,通過 Wavedrom 繪制的時(shí)序圖可以清晰地展示數(shù)字信號(hào)和數(shù)據(jù)的傳輸過程。例如,在硬件設(shè)計(jì)中,時(shí)序圖可以用于描述寄存器讀寫、信號(hào)傳輸和時(shí)鐘脈沖的情況,從而幫助開發(fā)人員更好地理解和分析系統(tǒng)的工作狀態(tài)。

值得一提的是,Wavedrom 不僅可以獨(dú)立使用,還可以與 Markdown 等文檔格式無縫整合。通過將 Wavedrom 圖表代碼嵌入文檔中,開發(fā)人員可以直接在文檔中呈現(xiàn)交互式的波形圖,提升文檔的可讀性和交互性。

總體來說,Wavedrom 是一個(gè)強(qiáng)大而簡(jiǎn)便的文本轉(zhuǎn)圖表工具,適用于各種應(yīng)用場(chǎng)景,如硬件設(shè)計(jì)、軟件開發(fā)、文檔編寫等。其簡(jiǎn)單的語法和可視化的輸出,為開發(fā)人員提供了一個(gè)高效、直觀的工具,幫助他們更好地表達(dá)和展示數(shù)字信號(hào)和時(shí)間序列數(shù)據(jù)。

用法和示例

WaveDrom 是一個(gè)基于 JavaScript 的應(yīng)用程序。WaveJSON 是一種描述數(shù)字時(shí)序圖的格式。WaveDrom 可以直接在瀏覽器中渲染這些圖表。"signal"元素是 WaveLane 的數(shù)組。每個(gè) WaveLane 都有兩個(gè)必填字段:"name"和"wave"。

WaveDrom 是一個(gè)強(qiáng)大的工具,可用于可視化數(shù)字信號(hào)和時(shí)序數(shù)據(jù)。通過使用 WaveJSON 格式來描述信號(hào)波形,用戶可以輕松地定義時(shí)序圖的各個(gè)部分,包括信號(hào)波形的名稱、周期和狀態(tài)。WaveDrom 支持多個(gè) WaveLane,可以同時(shí)顯示多個(gè)信號(hào)波形,從而實(shí)現(xiàn)更復(fù)雜的時(shí)序圖表。

"wave"字段是 WaveLane 的關(guān)鍵部分,用于定義信號(hào)波形。它由一系列字符組成,包括數(shù)字 0 和 1,代表數(shù)字信號(hào)的高和低電平,以及".",代表未定義或無效狀態(tài)。此外,WaveDrom 還支持其他特殊字符,如"p"代表時(shí)鐘周期,"n"代表一個(gè)時(shí)鐘周期內(nèi)的半個(gè)周期,"|"用于分隔不同的時(shí)鐘周期。

通過將這些 WaveLane 組合成一個(gè)"signal"數(shù)組,并為每個(gè) WaveLane 指定名稱和波形描述,用戶可以創(chuàng)建詳細(xì)且直觀的數(shù)字時(shí)序圖。WaveDrom 渲染引擎會(huì)將這些描述解析并在瀏覽器中實(shí)時(shí)繪制出時(shí)序圖形。

總的來說,WaveDrom 提供了一種簡(jiǎn)單但強(qiáng)大的方式,通過 WaveJSON 格式和 WaveLane 的組織,使用戶能夠在瀏覽器中生成各種數(shù)字時(shí)序圖。它在硬件設(shè)計(jì)、嵌入式系統(tǒng)開發(fā)、通信協(xié)議分析等領(lǐng)域中有著廣泛的應(yīng)用,幫助開發(fā)人員更好地理解和分析數(shù)字信號(hào)的行為和傳輸過程。

信號(hào)

從一個(gè)簡(jiǎn)單的例子開始。下面的代碼將創(chuàng)建一個(gè)名為"Alfa"的 1 位信號(hào),并隨時(shí)間改變其狀態(tài)。

{?"signal":?[{?"name":?"Alfa",?"wave":?"01.zx=ud.23.456789"?}]?}

在"wave"字符串中,每個(gè)字符代表一個(gè)時(shí)間周期。符號(hào)"."將前一個(gè)狀態(tài)延續(xù)一個(gè)周期。現(xiàn)在,讓我們看一下它的圖示:

圖片

"Alfa" 1位信號(hào)

時(shí)鐘

數(shù)字時(shí)鐘是一種特殊類型的信號(hào)。它在每個(gè)時(shí)間周期內(nèi)變化兩次,可以具有正極性或負(fù)極性。此外,它還可以在工作邊沿上帶有可選的標(biāo)記。時(shí)鐘的各個(gè)塊可以與其他信號(hào)狀態(tài)混合,以創(chuàng)建時(shí)鐘門控效果。下面是代碼和生成的圖示:

{?"signal":?[{?"name":?"pclk",?"wave":?"p......."?},{?"name":?"Pclk",?"wave":?"P......."?},{?"name":?"nclk",?"wave":?"n......."?},{?"name":?"Nclk",?"wave":?"N......."?},{},{?"name":?"clk0",?"wave":?"phnlPHNL"?},{?"name":?"clk1",?"wave":?"xhlhLHl."?},{?"name":?"clk2",?"wave":?"hpHplnLn"?},{?"name":?"clk3",?"wave":?"nhNhplPl"?},{?"name":?"clk4",?"wave":?"xlh.L.Hx"?},
]}

渲染后的時(shí)鐘圖示如下:

圖片

時(shí)鐘信號(hào)

合在一起

在典型的時(shí)序圖中,我們通常會(huì)包含時(shí)鐘信號(hào)和其他信號(hào)(線路)。對(duì)于多位信號(hào),我們可以從"data"數(shù)組中獲取相應(yīng)的標(biāo)簽。

下面是一個(gè)例子,展示了一個(gè)包含時(shí)鐘信號(hào)、多位信號(hào)和單位信號(hào)的典型時(shí)序圖:

{?"signal":?[{?"name":?"clk",?"wave":?"P......"?},{?"name":?"bus",?"wave":?"x.==.=x",?"data":?["head",?"body",?"tail",?"data"]?},{?"name":?"wire",?"wave":?"0.1..0."?}
]}

在這個(gè)例子中,我們有三個(gè)信號(hào):"clk"代表時(shí)鐘信號(hào),"bus"代表多位信號(hào),"wire"代表單位信號(hào)。

  • 時(shí)鐘信號(hào)"clk"用"P"表示,代表正極性的時(shí)鐘邊沿。

  • 多位信號(hào)"bus"用"x.==.=x"表示,其中"x"表示未定義的狀態(tài),"="表示穩(wěn)定的高電平或低電平,"."表示未穩(wěn)定狀態(tài)。"data"數(shù)組包含多位信號(hào)的標(biāo)簽,分別是:"head"、"body"、"tail"和"data"。

  • 單位信號(hào)"wire"用"0.1..0."表示,表示在時(shí)間周期內(nèi)信號(hào)從低電平切換到高電平再切換回低電平。

渲染后的時(shí)序圖如下:

圖片

典型時(shí)序信號(hào)

空白和間隙

在時(shí)序圖中,我們有時(shí)需要添加間距和空白,以便更好地組織信號(hào)和使時(shí)序圖更易于閱讀。下面是一個(gè)帶有間距和空白的時(shí)序圖示例:

{?"signal":?[{?"name":?"clk",?"wave":?"p.....|..."?},{?"name":?"Data",?"wave":?"x.345x|=.x",?"data":?["head",?"body",?"tail",?"data"]?},{?"name":?"Request",?"wave":?"0.1..0|1.0"?},{},{?"name":?"Acknowledge",?"wave":?"1.....|01."?}
]}

在這個(gè)例子中,我們添加了一些間距和空白,以便更好地分隔不同的信號(hào)。

  • "clk"信號(hào)用"p"表示,代表正極性時(shí)鐘邊沿,后面有 3 個(gè)間距".",然后是"|...",代表 3 個(gè)空白周期。

  • "Data"信號(hào)由"x"、"="、"."組成,數(shù)據(jù)數(shù)組"data"提供了多位信號(hào)各個(gè)部分的標(biāo)簽:"head"、"body"、"tail"和"data"。后面有一個(gè)間距"|",然后是"=.",代表一個(gè)空白周期后緊跟著一個(gè)穩(wěn)定高電平。

  • "Request"信號(hào)由"0"、"1"、"."組成,代表低電平、高電平和未定義狀態(tài)。后面有一個(gè)間距"|",然后是"1.0",代表一個(gè)高電平后緊跟著一個(gè)空白周期。

  • 接著有一個(gè)空白行,表示兩個(gè)信號(hào)之間的空白。

  • 最后,"Acknowledge"信號(hào)由"1"、"."組成,后面有一個(gè)間距"|",然后是"01.",代表一個(gè)高電平后緊跟著一個(gè)低電平和一個(gè)空白周期。

渲染后的時(shí)序圖如下:

圖片

帶間隙的時(shí)序圖

在這個(gè)時(shí)序圖中,我們可以看到信號(hào)之間的間距和空白,使得時(shí)序圖更加整齊和易讀。通過添加適當(dāng)?shù)拈g距和空白,我們可以更好地組織信號(hào)和時(shí)鐘邊沿,使時(shí)序圖更具可視化效果。接下來,我們將繼續(xù)探索 WaveDrom 的其他高級(jí)功能和實(shí)際應(yīng)用,幫助您更好地運(yùn)用這個(gè)強(qiáng)大的文本轉(zhuǎn)圖表工具。

分組

在時(shí)序圖中,我們可以將 WaveLane 組合成具有名稱的分組,分組表示為數(shù)組形式。['分組名稱', {...}, {...}, ...] 數(shù)組的第一個(gè)條目是分組的名稱。分組之間還可以嵌套。

下面是一個(gè)包含分組的時(shí)序圖示例:

{?"signal":?[{?"name":?"clk",?"wave":?"p..Pp..P"?},["Master",["ctrl",{?"name":?"write",?"wave":?"01.0...."?},{?"name":?"read",?"wave":?"0...1..0"?}],{?"name":?"addr",?"wave":?"x3.x4..x",?"data":?"A1?A2"?},{?"name":?"wdata",?"wave":?"x3.x....",?"data":?"D1"?},],{},["Slave",["ctrl",{?"name":?"ack",?"wave":?"x01x0.1x"?},],{?"name":?"rdata",?"wave":?"x.....4x",?"data":?"Q2"?},]
]}

在這個(gè)例子中,我們使用了分組來組織不同的信號(hào),將它們放在名為"Master"和"Slave"的兩個(gè)分組中。

  • "clk"信號(hào)用"p..Pp..P"表示,代表正極性時(shí)鐘邊沿和負(fù)極性時(shí)鐘邊沿。

  • "Master"分組包含了三個(gè)子信號(hào),它們分別在名稱為"ctrl"的子分組中,表示控制信號(hào)"write"和"read",以及名稱為"addr"的信號(hào),"data"數(shù)組提供了信號(hào)的標(biāo)簽。

  • 接著有一個(gè)空白行,表示兩個(gè)分組之間的空白。

  • "Slave"分組包含了兩個(gè)子信號(hào),都在名稱為"ctrl"的子分組中,表示控制信號(hào)"ack",以及名稱為"rdata"的信號(hào),"data"數(shù)組提供了信號(hào)的標(biāo)簽。

渲染后的時(shí)序圖如下:

圖片

分組時(shí)序圖

在這個(gè)時(shí)序圖中,我們可以看到不同分組內(nèi)的信號(hào)在不同時(shí)間周期內(nèi)的狀態(tài)。使用分組可以更好地組織和顯示復(fù)雜的時(shí)序圖,幫助我們更好地理解和分析數(shù)字信號(hào)之間的時(shí)序關(guān)系。通過 WaveDrom 的強(qiáng)大功能,我們可以輕松地在時(shí)序圖中添加分組,使其更具可視化效果和清晰度。

周期和相位

在時(shí)序圖中,我們可以使用"period"和"phase"參數(shù)來調(diào)整每個(gè) WaveLane 的周期和相位。

下面是一個(gè) DDR 讀取事務(wù)的時(shí)序圖示例:

{?"signal":?[{?"name":?"CK",?"wave":?"P.......",?"period":?2?},{?"name":?"CMD",?"wave":?"x.3x=x4x=x=x=x=x",?"data":?"RAS?NOP?CAS?NOP?NOP?NOP?NOP",?"phase":?0.5?},{?"name":?"ADDR",?"wave":?"x.=x..=x........",?"data":?"ROW?COL",?"phase":?0.5?},{?"name":?"DQS",?"wave":?"z.......0.1010z."?},{?"name":?"DQ",?"wave":?"z.........5555z.",?"data":?"D0?D1?D2?D3"?}
]}

在這個(gè)例子中,我們使用"period"參數(shù)來設(shè)置時(shí)鐘信號(hào)"CK"的周期為 2 個(gè)時(shí)間周期。這意味著時(shí)鐘信號(hào)每隔 2 個(gè)時(shí)間周期變化一次。

同時(shí),我們使用"phase"參數(shù)來調(diào)整信號(hào)"CMD"和"ADDR"的相位。相位的值為 0.5,表示信號(hào)的波形在時(shí)間軸上整體向右偏移了 0.5 個(gè)時(shí)間周期。這樣做可以讓信號(hào)在時(shí)鐘邊沿之前或之后發(fā)生狀態(tài)變化。

"CMD"信號(hào)表示了 DDR 讀取事務(wù)的命令序列,"ADDR"信號(hào)表示了地址序列。"data"數(shù)組提供了每個(gè)部分的標(biāo)簽。

"DQS"信號(hào)和"DQ"信號(hào)分別表示數(shù)據(jù)校驗(yàn)和數(shù)據(jù)信號(hào)。其中,"DQS"信號(hào)在時(shí)鐘邊沿之前有一個(gè)延遲,"DQ"信號(hào)在時(shí)鐘邊沿之后有一個(gè)延遲。

渲染后的時(shí)序圖如下:

圖片

DDR讀時(shí)序

在這個(gè)時(shí)序圖中,我們可以看到時(shí)鐘信號(hào)"CK"每隔 2 個(gè)時(shí)間周期發(fā)生一次變化。"CMD"和"ADDR"信號(hào)的波形整體向右偏移了 0.5 個(gè)時(shí)間周期,以達(dá)到與時(shí)鐘信號(hào)的相位差。"DQS"信號(hào)在時(shí)鐘邊沿之前有一個(gè)延遲,"DQ"信號(hào)在時(shí)鐘邊沿之后有一個(gè)延遲。

通過調(diào)整"period"和"phase"參數(shù),我們可以更靈活地控制時(shí)序圖中各個(gè)信號(hào)的周期和相位,從而更好地表達(dá)復(fù)雜的數(shù)字信號(hào)行為。WaveDrom 提供了豐富的功能,幫助我們創(chuàng)建詳細(xì)和直觀的數(shù)字時(shí)序圖,用于硬件設(shè)計(jì)、嵌入式系統(tǒng)開發(fā)、通信協(xié)議分析等領(lǐng)域。

config{}屬性

在時(shí)序圖中,config{}屬性用于控制渲染的不同方面。

hscale

config:{hscale:#}屬性用于調(diào)整時(shí)序圖的水平縮放比例。用戶可以設(shè)置任何大于 0 的整數(shù)值。

下面是一個(gè)示例,展示了如何使用 config{hscale:#}屬性來調(diào)整時(shí)序圖的水平縮放比例:

{?"signal":?[{?"name":?"clk",?"wave":?"p...."?},{?"name":?"Data",?"wave":?"x345x",?"data":?["head",?"body",?"tail"]?},{?"name":?"Request",?"wave":?"01..0"?}
],
"config":?{?"hscale":?1?}
}

在這個(gè)例子中,我們使用 config{hscale:1}屬性將水平縮放比例設(shè)置為 1。這意味著時(shí)序圖將以原始比例進(jìn)行渲染,每個(gè)時(shí)間周期占據(jù)一個(gè)單位寬度。

渲染后的時(shí)序圖如下:

圖片

水平比例1

圖片

水平比例2

skin

在時(shí)序圖中,我們可以使用 config:{skin:'...'}屬性來選擇WaveDrom 的皮膚樣式[2]。該屬性僅在頁面上的第一個(gè)時(shí)序圖中起作用。WaveDrom 編輯器包含兩種標(biāo)準(zhǔn)皮膚:'default'和'narrow'。

head/foot

head:{...}和 foot:{...}屬性用于定義時(shí)序圖上方和下方的內(nèi)容區(qū)域??梢栽谶@些屬性中添加文本或其他元素。

tick/tock

tick 屬性可以添加與垂直標(biāo)記對(duì)齊的時(shí)間線標(biāo)簽,而 tock 屬性可以在垂直標(biāo)記之間添加時(shí)間線標(biāo)簽。

text

text 屬性用于添加標(biāo)題或說明文本。

every

every 屬性用于指定僅在每 N 個(gè)周期渲染一次標(biāo)記和時(shí)間線標(biāo)簽。

下面是一個(gè)示例,展示了如何使用這些屬性來定義一個(gè)時(shí)序圖:

{?"signal":?[{?"name":?"clk",?"wave":?"p...."?},{?"name":?"Data",?"wave":?"x345x",?"data":?"a?b?c"?},{?"name":?"Request",?"wave":?"01..0"?}
],
"head":?{"text":?"WaveDrom?example","tick":?0,"every":?2
},
"foot":?{"text":?"Figure?100","tock":?9
}
}

在這個(gè)例子中,我們添加了頭部(head)和底部(foot)的文本內(nèi)容。頭部文本設(shè)置為"WaveDrom example",并使用 tick 屬性指定不添加時(shí)間線標(biāo)簽。每隔 2 個(gè)周期渲染一次標(biāo)記和時(shí)間線標(biāo)簽。底部文本設(shè)置為"Figure 100",并使用 tock 屬性在垂直標(biāo)記之間添加時(shí)間線標(biāo)簽。

渲染后的時(shí)序圖如下:

圖片

屬性示例

在 WaveDrom 中,head 和 foot 屬性用于定義時(shí)序圖上方和下方的文本內(nèi)容,這些文本內(nèi)容支持 SVG text 的所有屬性??梢允褂?JsonML 標(biāo)記語言來表示 SVG 文本內(nèi)容,并且可以使用一些預(yù)定義的樣式來設(shè)置文本的字體大小和顏色。除此之外,還可以使用其他 SVG tspan 屬性來自由地定制文本的樣式。

下面是一個(gè)示例,展示了如何使用不同的樣式來設(shè)置時(shí)序圖頭部和底部的文本內(nèi)容:

{?"signal":?[{?"name":?"clk",?"wave":?"p.....PPPPp...."?},{?"name":?"dat",?"wave":?"x....2345x.....",?"data":?"a?b?c?d"?},{?"name":?"req",?"wave":?"0....1...0....."?}
],
"head":?{?"text":["tspan",["tspan",?{?"class":?"error?h1"?},?"error?"],["tspan",?{?"class":?"warning?h2"?},?"warning?"],["tspan",?{?"class":?"info?h3"?},?"info?"],["tspan",?{?"class":?"success?h4"?},?"success?"],["tspan",?{?"class":?"muted?h5"?},?"muted?"],["tspan",?{?"class":?"h6"?},?"h6?"],"default?",["tspan",?{?"fill":?"pink",?"font-weight":?"bold",?"font-style":?"italic"?},?"pink-bold-italic"]]
},
"foot":?{?"text":["tspan",?"E=mc",["tspan",?{?"dy":?"-5"?},?"2"],["tspan",?{?"dy":?"5"?},?".?"],["tspan",?{?"font-size":?"25"?},?"B?"],["tspan",?{?"text-decoration":?"overline"?},?"over?"],["tspan",?{?"text-decoration":?"underline"?},?"under?"],["tspan",?{?"baseline-shift":?"sub"?},?"sub?"],["tspan",?{?"baseline-shift":?"super"?},?"super?"]],?"tock":?-5
}
}

在這個(gè)例子中,我們使用 JsonML 標(biāo)記語言來表示頭部和底部的文本內(nèi)容,并為每個(gè)文本段落設(shè)置了不同的樣式。例如,我們使用了類名"h1"、"h2"、"h3"等來設(shè)置不同的字體大小。使用類名"error"、"warning"、"info"、"success"、"muted"等來設(shè)置不同的字體顏色樣式。我們還可以使用其他 SVG tspan 屬性來設(shè)置文本的斜體、粗體、填充顏色等。

渲染后的時(shí)序圖如下:

圖片

head/foot文本屬性示例

箭頭

曲線

在 WaveDrom 中,我們可以使用箭頭和曲線來連接不同的信號(hào),以表示它們之間的關(guān)聯(lián)和數(shù)據(jù)傳遞。

以下是一些常用的箭頭和曲線符號(hào):

  • ~:普通曲線

  • -~:從左到右的曲線箭頭

  • <~>:雙向曲線箭頭

  • <~>:雙向曲線箭頭

  • ~>:從左到右的直線箭頭

  • -~>:從左到右的實(shí)心箭頭

  • ~->:從右到左的實(shí)心箭頭

下面是一個(gè)示例,展示了如何使用箭頭和曲線來連接不同的信號(hào):

{?"signal":?[{?"name":?"A",?"wave":?"01........0....",?"node":?".a........j"?},{?"name":?"B",?"wave":?"0.1.......0.1..",?"node":?"..b.......i"?},{?"name":?"C",?"wave":?"0..1....0...1..",?"node":?"...c....h.."?},{?"name":?"D",?"wave":?"0...1..0.....1.",?"node":?"....d..g..."?},{?"name":?"E",?"wave":?"0....10.......1",?"node":?".....ef...."?}
],
"edge":?["a~b?t1",?"c-~a?t2",?"c-~>d?time?3",?"d~-e","e~>f",?"f->g",?"g-~>h",?"h~>i?some?text",?"h~->j"
]
}

渲染后的時(shí)序圖如下:

圖片

箭頭和曲線

折線

在 WaveDrom 中,我們還可以使用尖銳的線條符號(hào)來表示不同信號(hào)之間的連接關(guān)系。這些尖銳的線條符號(hào)可以更直觀地展示信號(hào)之間的交互和數(shù)據(jù)傳遞。

以下是一些常用的尖銳線條符號(hào):

  • -:直線連接

  • -|:從左到右的尖銳連接

  • |->:從右到左的尖銳連接

  • <->:雙向尖銳連接

  • <-|>:從左到右的雙向尖銳連接

  • |-|:從左到右的尖銳連接(包含短橫線)

下面是一個(gè)示例,展示了如何使用尖銳線條來連接不同的信號(hào):

{?"signal":?[{?"name":?"A",?"wave":?"01..0..",?"node":?".a..e.."?},{?"name":?"B",?"wave":?"0.1..0.",?"node":?"..b..d.",?"phase":?0.5?},{?"name":?"C",?"wave":?"0..1..0",?"node":?"...c..f"?},{?"node":?"...g..h"?},{?"node":?"...I..J",?"phase":?0.5?},{?"name":?"D",?"wave":?"0..1..0",?"phase":?0.5?}
],
"edge":?["b-|a?t1",?"a-|c?t2",?"b-|-c?t3",?"c-|->e?t4",?"e-|>f?more?text","e|->d?t6",?"c-g",?"f-h",?"g<->h?3?ms",?"I+J?5?ms"
]
}

在這個(gè)例子中,我們有 6 個(gè)信號(hào)(A、B、C、D)和 4 個(gè)連接節(jié)點(diǎn)(e、g、h、I、J),它們之間通過尖銳線條連接起來。每個(gè)信號(hào)都有相應(yīng)的波形圖,而尖銳線條則通過edge屬性來定義連接關(guān)系。

例如,b-|a t1表示從信號(hào) B 到信號(hào) A 的從左到右的尖銳連接,并在連接上方添加了文本標(biāo)簽"t1"。c-|->e t4表示從信號(hào) C 到節(jié)點(diǎn) e 的從左到右的尖銳連接,并在連接上方添加了文本標(biāo)簽"t4"。

渲染后的時(shí)序圖如下:

圖片

箭頭和折線

一些代碼

在 WaveDrom 中,我們可以使用 JavaScript 代碼來生成復(fù)雜的時(shí)序圖。這些代碼可以用來生成特定的信號(hào)和波形,以及自定義時(shí)序圖的展示效果。

以下是一個(gè)示例代碼,展示了如何使用 JavaScript 代碼生成一個(gè)特定的時(shí)序圖:

(function?(bits,?ticks)?{var?i,?t,?gray,?state,?data?=?[],?arr?=?[];for?(i?=?0;?i?<?bits;?i++)?{arr.push({name:?i?+?'',?wave:?''});state?=?1;for?(t?=?0;?t?<?ticks;?t++)?{data.push(t?+?'');gray?=?(((t?>>?1)?^?t)?>>?i)?&?1;arr[i].wave?+=?(gray?===?state)???'.'?:?gray?+?'';state?=?gray;}}arr.unshift('gray');return?{signal:?[{name:?'bin',?wave:?'='.repeat(ticks),?data:?data},?arr]};
})(5,?16)

在這個(gè)例子中,我們使用了一個(gè)自執(zhí)行函數(shù)來生成一個(gè)包含 5 個(gè)信號(hào)的時(shí)序圖。每個(gè)信號(hào)的波形圖都是根據(jù)格雷碼(Gray code)生成的,其中 bits 參數(shù)表示信號(hào)的位數(shù),ticks 參數(shù)表示時(shí)間周期數(shù)。代碼使用循環(huán)來生成信號(hào)的波形圖,并將生成的數(shù)據(jù)存儲(chǔ)在 data 數(shù)組中。

最終的時(shí)序圖包含 6 個(gè)信號(hào),其中一個(gè)是用來表示二進(jìn)制計(jì)數(shù)的信號(hào)(bin),其波形圖是一個(gè)等號(hào)序列。其他 5 個(gè)信號(hào)的波形圖是根據(jù)格雷碼生成的,分別對(duì)應(yīng) 0 位、1 位、2 位、3 位和 4 位格雷碼的波形。

渲染后的時(shí)序圖如下:

圖片

js代碼生成時(shí)序圖

http://www.risenshineclean.com/news/55181.html

相關(guān)文章:

  • 免費(fèi)建立網(wǎng)站空間資源搜索神器
  • 蘇州h5模板建站seo網(wǎng)站優(yōu)化快速排名軟件
  • 虛擬網(wǎng)站服務(wù)器關(guān)鍵詞歌詞林俊杰
  • 專門做dm單的網(wǎng)站互聯(lián)網(wǎng)營銷師培訓(xùn)課程
  • 重慶網(wǎng)站建設(shè)velpai營銷管理
  • 求網(wǎng)頁設(shè)計(jì)與網(wǎng)站建設(shè)我為什么不建議年輕人做運(yùn)營
  • 廣州網(wǎng)站模板建站關(guān)鍵詞研究工具
  • 個(gè)人網(wǎng)站可以做咨詢嗎seo面試常見問題及答案
  • 做番號(hào)網(wǎng)站的 違法磁力鏈最好用的搜索引擎
  • 開發(fā)一個(gè)網(wǎng)站 要多久電商運(yùn)營自學(xué)全套教程
  • 開發(fā)網(wǎng)站監(jiān)控推薦營銷推廣外包
  • 資中做網(wǎng)站多少錢新聞聯(lián)播今日新聞
  • 旅游網(wǎng)站怎么做的seo快排公司哪家好
  • 煙臺(tái)做網(wǎng)站的企業(yè)怎樣建網(wǎng)站
  • 江蘇網(wǎng)站建設(shè)空間環(huán)球網(wǎng)最新消息
  • 公司網(wǎng)站建設(shè)方案匯報(bào)營銷方案模板
  • 網(wǎng)站介紹視頻怎么做百度賬戶安全中心
  • 金塔凱元建設(shè)集團(tuán)有限公司官方網(wǎng)站網(wǎng)絡(luò)營銷的特點(diǎn)有幾個(gè)
  • 網(wǎng)站建設(shè)的信息安全防范技術(shù)google國外入口
  • 南京做網(wǎng)站yuanmus2024小學(xué)生時(shí)事新聞十條
  • 做網(wǎng)站周記湖南seo網(wǎng)站開發(fā)
  • 學(xué)做網(wǎng)站網(wǎng)站統(tǒng)計(jì)器
  • 建立帶數(shù)據(jù)庫的網(wǎng)站關(guān)鍵詞排名網(wǎng)絡(luò)推廣
  • 東莞網(wǎng)站開發(fā)報(bào)價(jià)廣州網(wǎng)站排名優(yōu)化公司
  • 網(wǎng)站的開發(fā)平臺(tái)網(wǎng)頁點(diǎn)擊量統(tǒng)計(jì)
  • 藝術(shù)培訓(xùn)學(xué)校系統(tǒng)網(wǎng)站怎么做惠州企業(yè)網(wǎng)站建設(shè)
  • java做博客網(wǎng)站網(wǎng)站怎么添加外鏈
  • 網(wǎng)站詳情頁怎么做的競(jìng)價(jià)關(guān)鍵詞優(yōu)化軟件
  • 房地產(chǎn)網(wǎng)站建設(shè)批發(fā)互聯(lián)網(wǎng)推廣工作好做嗎
  • 青島網(wǎng)站關(guān)鍵詞優(yōu)化公司競(jìng)價(jià)外包托管費(fèi)用