-
Verilog_HDL的基本語法詳解(夏宇聞版):Verilog HDL是一種用于數(shù)字邏輯電路設(shè)計(jì)的語言。用Verilog HDL描述的電路設(shè)計(jì)就是該電路的Verilog HDL模型。Verilog HDL既是一種行為描述的語言也是一種結(jié)構(gòu)描述的語言。這也就是說,既可以用電路的功能描述也可以用元器件和它們之間的連接來建立所設(shè)計(jì)電路的Verilog HDL模型。Verilog模型可以是實(shí)際電路的不同級別的抽象。這些抽象的級別和它們對應(yīng)的模型類型共有以下五種:
系統(tǒng)級(system):用高級語言結(jié)構(gòu)實(shí)現(xiàn)設(shè)計(jì)模塊的外部性能的模型。
算法級(algorithm):用高級語言結(jié)構(gòu)實(shí)現(xiàn)設(shè)計(jì)算法的模型。
RTL級(Register Transfer Level):描述數(shù)據(jù)在寄存器之間流動和如何處理這些數(shù)據(jù)的模型。
門級(gate-level):描述邏輯門以及邏輯門之間的連接的模型。
開關(guān)級(switch-level):描述器件中三極管和儲存節(jié)點(diǎn)以及它們之間連接的模型。
一個(gè)復(fù)雜電路系統(tǒng)的完整Verilog HDL模型是由若干個(gè)Verilog HDL模塊構(gòu)成的,每一個(gè)模塊又可以由若干個(gè)子模塊構(gòu)成。其中有些模塊需要綜合成具體電路,而有些模塊只是與用戶所設(shè)計(jì)的模塊交互的現(xiàn)存電路或激勵信號源。利用Verilog HDL語言結(jié)構(gòu)所提供的這種功能就可以構(gòu)造一個(gè)模塊間的清晰層次結(jié)構(gòu)來描述極其復(fù)雜的大型設(shè)計(jì),并對所作設(shè)計(jì)的邏輯電路進(jìn)行嚴(yán)格的驗(yàn)證。
Verilog HDL行為描述語言作為一種結(jié)構(gòu)化和過程性的語言,其語法結(jié)構(gòu)非常適合于算法級和RTL級的模型設(shè)計(jì)。這種行為描述語言具有以下功能:
· 可描述順序執(zhí)行或并行執(zhí)行的程序結(jié)構(gòu)。
· 用延遲表達(dá)式或事件表達(dá)式來明確地控制過程的啟動時(shí)間。
· 通過命名的事件來觸發(fā)其它過程里的激活行為或停止行為。
· 提供了條件、if-else、case、循環(huán)程序結(jié)構(gòu)。
· 提供了可帶參數(shù)且非零延續(xù)時(shí)間的任務(wù)(task)程序結(jié)構(gòu)。
· 提供了可定義新的操作符的函數(shù)結(jié)構(gòu)(function)。
· 提供了用于建立表達(dá)式的算術(shù)運(yùn)算符、邏輯運(yùn)算符、位運(yùn)算符。
· Verilog HDL語言作為一種結(jié)構(gòu)化的語言也非常適合于門級和開關(guān)級的模型設(shè)計(jì)。因其結(jié)構(gòu)化的特點(diǎn)又使它具有以下功能:
- 提供了完整的一套組合型原語(primitive);
- 提供了雙向通路和電阻器件的原語;
- 可建立MOS器件的電荷分享和電荷衰減動態(tài)模型。
Verilog HDL的構(gòu)造性語句可以精確地建立信號的模型。這是因?yàn)樵赩erilog HDL中,提供了延遲和輸出強(qiáng)度的原語來建立精確程度很高的信號模型。信號值可以有不同的的強(qiáng)度,可以通過設(shè)定寬范圍的模糊值來降低不確定條件的影響。
Verilog HDL作為一種高級的硬件描述編程語言,有著類似C語言的風(fēng)格。其中有許多語句如:if語句、case語句等和C語言中的對應(yīng)語句十分相似。如果讀者已經(jīng)掌握C語言編程的基礎(chǔ),那么學(xué)習(xí)Verilog HDL并不困難,我們只要對Verilog HDL某些語句的特殊方面著重理解,并加強(qiáng)上機(jī)練習(xí)就能很好地掌握它,利用它的強(qiáng)大功能來設(shè)計(jì)復(fù)雜的數(shù)字邏輯電路。下面我們將對Verilog HDL中的基本語法逐一加以介紹。
標(biāo)簽:
Verilog_HDL
上傳時(shí)間:
2013-11-23
上傳用戶:青春給了作業(yè)95
-
摘要: 串行傳輸技術(shù)具有更高的傳輸速率和更低的設(shè)計(jì)成本, 已成為業(yè)界首選, 被廣泛應(yīng)用于高速通信領(lǐng)域。提出了一種新的高速串行傳輸接口的設(shè)計(jì)方案, 改進(jìn)了Aurora 協(xié)議數(shù)據(jù)幀格式定義的弊端, 并采用高速串行收發(fā)器Rocket I/O, 實(shí)現(xiàn)數(shù)據(jù)率為2.5 Gbps的高速串行傳輸。關(guān)鍵詞: 高速串行傳輸; Rocket I/O; Aurora 協(xié)議
為促使FPGA 芯片與串行傳輸技術(shù)更好地結(jié)合以滿足市場需求, Xilinx 公司適時(shí)推出了內(nèi)嵌高速串行收發(fā)器RocketI/O 的Virtex II Pro 系列FPGA 和可升級的小型鏈路層協(xié)議———Aurora 協(xié)議。Rocket I/O支持從622 Mbps 至3.125 Gbps的全雙工傳輸速率, 還具有8 B/10 B 編解碼、時(shí)鐘生成及恢復(fù)等功能, 可以理想地適用于芯片之間或背板的高速串行數(shù)據(jù)傳輸。Aurora 協(xié)議是為專有上層協(xié)議或行業(yè)標(biāo)準(zhǔn)的上層協(xié)議提供透明接口的第一款串行互連協(xié)議, 可用于高速線性通路之間的點(diǎn)到點(diǎn)串行數(shù)據(jù)傳輸, 同時(shí)其可擴(kuò)展的帶寬, 為系統(tǒng)設(shè)計(jì)人員提供了所需要的靈活性[4]。但該協(xié)議幀格式的定義存在弊端,會導(dǎo)致系統(tǒng)資源的浪費(fèi)。本文提出的設(shè)計(jì)方案可以改進(jìn)Aurora 協(xié)議的固有缺陷,提高系統(tǒng)性能, 實(shí)現(xiàn)數(shù)據(jù)率為2.5 Gbps 的高速串行傳輸, 具有良好的可行性和廣闊的應(yīng)用前景。
標(biāo)簽:
Rocket
2.5
高速串行
收發(fā)器
上傳時(shí)間:
2013-11-06
上傳用戶:smallfish
-
Verilog_HDL的基本語法詳解(夏宇聞版):Verilog HDL是一種用于數(shù)字邏輯電路設(shè)計(jì)的語言。用Verilog HDL描述的電路設(shè)計(jì)就是該電路的Verilog HDL模型。Verilog HDL既是一種行為描述的語言也是一種結(jié)構(gòu)描述的語言。這也就是說,既可以用電路的功能描述也可以用元器件和它們之間的連接來建立所設(shè)計(jì)電路的Verilog HDL模型。Verilog模型可以是實(shí)際電路的不同級別的抽象。這些抽象的級別和它們對應(yīng)的模型類型共有以下五種:
系統(tǒng)級(system):用高級語言結(jié)構(gòu)實(shí)現(xiàn)設(shè)計(jì)模塊的外部性能的模型。
算法級(algorithm):用高級語言結(jié)構(gòu)實(shí)現(xiàn)設(shè)計(jì)算法的模型。
RTL級(Register Transfer Level):描述數(shù)據(jù)在寄存器之間流動和如何處理這些數(shù)據(jù)的模型。
門級(gate-level):描述邏輯門以及邏輯門之間的連接的模型。
開關(guān)級(switch-level):描述器件中三極管和儲存節(jié)點(diǎn)以及它們之間連接的模型。
一個(gè)復(fù)雜電路系統(tǒng)的完整Verilog HDL模型是由若干個(gè)Verilog HDL模塊構(gòu)成的,每一個(gè)模塊又可以由若干個(gè)子模塊構(gòu)成。其中有些模塊需要綜合成具體電路,而有些模塊只是與用戶所設(shè)計(jì)的模塊交互的現(xiàn)存電路或激勵信號源。利用Verilog HDL語言結(jié)構(gòu)所提供的這種功能就可以構(gòu)造一個(gè)模塊間的清晰層次結(jié)構(gòu)來描述極其復(fù)雜的大型設(shè)計(jì),并對所作設(shè)計(jì)的邏輯電路進(jìn)行嚴(yán)格的驗(yàn)證。
Verilog HDL行為描述語言作為一種結(jié)構(gòu)化和過程性的語言,其語法結(jié)構(gòu)非常適合于算法級和RTL級的模型設(shè)計(jì)。這種行為描述語言具有以下功能:
· 可描述順序執(zhí)行或并行執(zhí)行的程序結(jié)構(gòu)。
· 用延遲表達(dá)式或事件表達(dá)式來明確地控制過程的啟動時(shí)間。
· 通過命名的事件來觸發(fā)其它過程里的激活行為或停止行為。
· 提供了條件、if-else、case、循環(huán)程序結(jié)構(gòu)。
· 提供了可帶參數(shù)且非零延續(xù)時(shí)間的任務(wù)(task)程序結(jié)構(gòu)。
· 提供了可定義新的操作符的函數(shù)結(jié)構(gòu)(function)。
· 提供了用于建立表達(dá)式的算術(shù)運(yùn)算符、邏輯運(yùn)算符、位運(yùn)算符。
· Verilog HDL語言作為一種結(jié)構(gòu)化的語言也非常適合于門級和開關(guān)級的模型設(shè)計(jì)。因其結(jié)構(gòu)化的特點(diǎn)又使它具有以下功能:
- 提供了完整的一套組合型原語(primitive);
- 提供了雙向通路和電阻器件的原語;
- 可建立MOS器件的電荷分享和電荷衰減動態(tài)模型。
Verilog HDL的構(gòu)造性語句可以精確地建立信號的模型。這是因?yàn)樵赩erilog HDL中,提供了延遲和輸出強(qiáng)度的原語來建立精確程度很高的信號模型。信號值可以有不同的的強(qiáng)度,可以通過設(shè)定寬范圍的模糊值來降低不確定條件的影響。
Verilog HDL作為一種高級的硬件描述編程語言,有著類似C語言的風(fēng)格。其中有許多語句如:if語句、case語句等和C語言中的對應(yīng)語句十分相似。如果讀者已經(jīng)掌握C語言編程的基礎(chǔ),那么學(xué)習(xí)Verilog HDL并不困難,我們只要對Verilog HDL某些語句的特殊方面著重理解,并加強(qiáng)上機(jī)練習(xí)就能很好地掌握它,利用它的強(qiáng)大功能來設(shè)計(jì)復(fù)雜的數(shù)字邏輯電路。下面我們將對Verilog HDL中的基本語法逐一加以介紹。
標(biāo)簽:
Verilog_HDL
上傳時(shí)間:
2014-12-04
上傳用戶:cppersonal
-
摘要: 串行傳輸技術(shù)具有更高的傳輸速率和更低的設(shè)計(jì)成本, 已成為業(yè)界首選, 被廣泛應(yīng)用于高速通信領(lǐng)域。提出了一種新的高速串行傳輸接口的設(shè)計(jì)方案, 改進(jìn)了Aurora 協(xié)議數(shù)據(jù)幀格式定義的弊端, 并采用高速串行收發(fā)器Rocket I/O, 實(shí)現(xiàn)數(shù)據(jù)率為2.5 Gbps的高速串行傳輸。關(guān)鍵詞: 高速串行傳輸; Rocket I/O; Aurora 協(xié)議
為促使FPGA 芯片與串行傳輸技術(shù)更好地結(jié)合以滿足市場需求, Xilinx 公司適時(shí)推出了內(nèi)嵌高速串行收發(fā)器RocketI/O 的Virtex II Pro 系列FPGA 和可升級的小型鏈路層協(xié)議———Aurora 協(xié)議。Rocket I/O支持從622 Mbps 至3.125 Gbps的全雙工傳輸速率, 還具有8 B/10 B 編解碼、時(shí)鐘生成及恢復(fù)等功能, 可以理想地適用于芯片之間或背板的高速串行數(shù)據(jù)傳輸。Aurora 協(xié)議是為專有上層協(xié)議或行業(yè)標(biāo)準(zhǔn)的上層協(xié)議提供透明接口的第一款串行互連協(xié)議, 可用于高速線性通路之間的點(diǎn)到點(diǎn)串行數(shù)據(jù)傳輸, 同時(shí)其可擴(kuò)展的帶寬, 為系統(tǒng)設(shè)計(jì)人員提供了所需要的靈活性[4]。但該協(xié)議幀格式的定義存在弊端,會導(dǎo)致系統(tǒng)資源的浪費(fèi)。本文提出的設(shè)計(jì)方案可以改進(jìn)Aurora 協(xié)議的固有缺陷,提高系統(tǒng)性能, 實(shí)現(xiàn)數(shù)據(jù)率為2.5 Gbps 的高速串行傳輸, 具有良好的可行性和廣闊的應(yīng)用前景。
標(biāo)簽:
Rocket
2.5
高速串行
收發(fā)器
上傳時(shí)間:
2013-10-13
上傳用戶:lml1234lml
-
題目:利用條件運(yùn)算符的嵌套來完成此題:學(xué)習(xí)成績>=90分的同學(xué)用A表示,60-89分之間的用B表示,60分以下的用C表示。 1.程序分析:(a>b)?a:b這是條件運(yùn)算符的基本例子。
標(biāo)簽:
gt
90
運(yùn)算符
嵌套
上傳時(shí)間:
2015-01-08
上傳用戶:lifangyuan12
-
pl0的編譯器,增加了if else語言支持,和數(shù)組,和repeat語言支持
標(biāo)簽:
pl0
編譯器
上傳時(shí)間:
2015-02-21
上傳用戶:小鵬
-
軟件測試:一個(gè)編譯器測試軟件,支持下列C語言運(yùn)算符:+ - * / % ^(乘方) 負(fù) (int) (double) "字符串" [](數(shù)組) > < == >= <= != && ! ++ -- = += -= *= /= %= ^=,支持下列關(guān)鍵字:void int double string if else for while do goto break continue return,支持下列數(shù)據(jù)類型:int double string int[] double[] string[],支持下列系統(tǒng)函數(shù):int max(int,int),double max(double,double),int[] newint(int),double[] newdouble(int),string[] newstring(int),void delete(int[]),void delete(double[]),void delete(string[]),支持任意用戶定義函數(shù),支持函數(shù)重載。不支持全局變量。如果發(fā)現(xiàn)錯誤,請告訴我
標(biāo)簽:
軟件測試
編譯器
測試軟件
上傳時(shí)間:
2013-12-15
上傳用戶:sy_jiadeyi
-
RSA算法 :首先, 找出三個(gè)數(shù), p, q, r, 其中 p, q 是兩個(gè)相異的質(zhì)數(shù), r 是與 (p-1)(q-1) 互質(zhì)的數(shù)...... p, q, r 這三個(gè)數(shù)便是 person_key,接著, 找出 m, 使得 r^m == 1 mod (p-1)(q-1)..... 這個(gè) m 一定存在, 因?yàn)?r 與 (p-1)(q-1) 互質(zhì), 用輾轉(zhuǎn)相除法就可以得到了..... 再來, 計(jì)算 n = pq....... m, n 這兩個(gè)數(shù)便是 public_key ,編碼過程是, 若資料為 a, 將其看成是一個(gè)大整數(shù), 假設(shè) a < n.... 如果 a >= n 的話, 就將 a 表成 s 進(jìn)位 (s
標(biāo)簽:
person_key
RSA
算法
上傳時(shí)間:
2013-12-14
上傳用戶:zhuyibin
-
對c語言的簡單語法分析器 文件說明: input.txt內(nèi)為輸入的源程序,包括for,while和if else控制等 output.txt內(nèi)為輸出的二元單詞序列 k.txt為關(guān)鍵字表 l.txt為運(yùn)算符和界符表 i.txt為該輸入的源程序的標(biāo)志符 c.txt為常數(shù)表 個(gè)別表需要序列號,這時(shí)各表的序列號默認(rèn)為從1開始,每行加1。 使用說明: 在提示符下輸入input.txt文件的路徑和文件名字, 運(yùn)行完成后,打開文件output.txt看結(jié)果。
標(biāo)簽:
input
txt
c語言
語法分析器
上傳時(shí)間:
2013-12-23
上傳用戶:pompey
-
詞法分析器的構(gòu)造方法,詞法分析器能夠識別一些關(guān)鍵字(如if,else等)詞法分析器能夠識別一些運(yùn)算符(如+,-,*,/等)詞法分析器能夠識別標(biāo)識符
標(biāo)簽:
分析器
上傳時(shí)間:
2015-05-19
上傳用戶:咔樂塢