freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

語法要點(diǎn)詳細(xì)講解-展示頁

2024-09-13 04:22本頁面
  

【正文】 mescale 1ns/1ns module mymem(data,addr,read,write)。 ?ROM中的數(shù)據(jù)保存在一個(gè)獨(dú)立的文件中,如上頁的右邊的虛線方框所示。 always (addr or read_en_) if(!read_en_) read_data=mem[addr]。 reg [3:0] mem [0:15]。 output [3:0] read_data。 input read_en_。 ? 明確對存儲(chǔ)器訪問操作的權(quán)限。 學(xué)會(huì)如何用 Verilog中對雙向(即輸入 /輸出)端口 , ( inout)建模。 end endtask endmodule 語法詳細(xì)講解 怎樣使用任務(wù) 在測試模塊中使用任務(wù)可以提高程序代碼的效率,可以用任務(wù)把多次重復(fù)的操作包裝起來。 20 data = 8?hzz。 20 data = data_in。 begin 30 data_valid =1。 end 語法詳細(xì)講解 怎樣使用任務(wù) task cpu_driver。 cpu_driver (8?b1010_1010)。 cpu ul(data_valid,data,data_rd)。 reg [7:0] data。 end 注:這兩個(gè)時(shí)鐘模型有些不同,行為描述的模型延遲期間一直是低電平,而門級描述的模型開始延遲有半個(gè)周期是不確定的。 initial begin go=0。 wire clk。 initial begin clk=0。 end 注:這兩個(gè)時(shí)鐘模型也有些不同,行為描述的模型一開始就有確定的電平,而門級描述的模型有延遲 , 開始時(shí)電平是不確定的。 initial begin (period/4+1) go=0。 wire clk。 (3*period/4) clk=1。 initial begin (period+1) clk=1。 end 注:這兩個(gè)時(shí)鐘模型有些不同,行為描述的模型延遲期間一直是低電平,而門級描述的模型開始延遲有半個(gè)周期是不確定的。 initial begin go=0。 wire clk。 initial begin clk=0。 end 注:在有些仿真器中,如果設(shè)計(jì)所用的時(shí)鐘是由與其相同抽象級別的時(shí)鐘模型產(chǎn)生的,則仿真器的性能就能得到提高。 initial begin go=0。 wire clk。 period/2 clk=1。 [例 1] 簡單的對稱方波時(shí)鐘: reg clk。 雖然有時(shí)在設(shè)計(jì)中會(huì)包含時(shí)鐘,但時(shí)鐘通常用在測試模塊中。 可以對信號的某(確定)位、某些(確定)位或拼接的信號,使用 force和 release賦值;但不能對信號的可變位使用 force和 release 來賦值。 如果先使用 assign,再使用 force對同一信號賦值,則信號的值為 force所賦 的值, 語法詳細(xì)講解 強(qiáng)制激勵(lì) 語法詳細(xì)講解 強(qiáng)制激勵(lì) 當(dāng)執(zhí)行 release后,則信號的值為 assign所賦 的值。 end 在以上兩個(gè)例子中,在 10到 20 這個(gè)時(shí)間段內(nèi),網(wǎng)絡(luò)或寄存器類型的信號被強(qiáng)制賦值,而別處對該變量的賦值均無效。 initial begin 10 force =0。 20 deassign 。 assign和 deassign 適用于對寄存器類型的信號 ( 例如: RTL級上的節(jié)點(diǎn)或測試模塊中在多個(gè)地方被賦值的信號 ) 進(jìn)行賦值 。 ? 兩種方式都有各自配套的命令來停止賦值過程 。 join endmodule 語法詳細(xì)講解 并行塊 時(shí)間 data_bus 0 8?b0000_0000 10 8?b0100_0101 30 8?b0100_0110 40 8?b0100_0111 45 8?b1000_1110 50 8?b1000_1111 60 8?b1001_0000 65 8?b0010_0000 70 8?b0010_0001 時(shí)間 data_bus 80 8?b0010_0010 85 8?b0100_0100 90 8?b0100_0101 100 8?b0010_0001 105 8?b0100_0110 110 8?b1000_1100 120 8?b1000_1110 125 8?b0001_1100 140 8?b0000_1111 上面模塊的仿真輸出如下: 語法詳細(xì)講解 強(qiáng)制激勵(lì) 在一個(gè)過程塊中 , 可以用兩種不同的方式對信號變量或表達(dá)式進(jìn)行連續(xù)賦值 。 25 repeat (5) 20 data_bus = data_bus 1。 10 data_bus = 8?h45。 reg [7:0] data_bus。 用并行塊能表示以同一個(gè)時(shí)間起點(diǎn)算起的多個(gè)事 件的運(yùn)行 , 并行地執(zhí)行復(fù)雜的過程結(jié)構(gòu) , 如循環(huán)或任務(wù) 。 ? 掌握組織模塊測試的常用方法;學(xué)會(huì)編寫常用的 測試代碼。語法要點(diǎn)詳細(xì)講解 ? 有關(guān)測試模塊編寫的語法 ; ? 語法的高級部分: 函數(shù)、任務(wù)、文件、存貯器建立模型、 雙向總線、 UDP、綜合指令。 語法詳細(xì)講解 Verilog測試模塊的編寫 目的: ? 復(fù)習(xí)如何編寫較復(fù)雜的測試文件,對所做的設(shè)計(jì) 進(jìn)行完整的測試和驗(yàn)證。 語法詳細(xì)講解 用 Verilog設(shè)計(jì)的步驟 注:虛線表示編譯器能檢查輸入文件的可讀性和是否存在以及是否允許生成輸出文件 include 文件 設(shè)計(jì)文件 廠家元件 庫文件 輸入文件:激勵(lì)和期望的輸出信號 輸出文件:激勵(lì)和實(shí)際輸出的信號 編譯器 仿真器 仿真器 語法詳細(xì)講解 測試平臺的組成 激勵(lì) 信號 需要驗(yàn)證的 設(shè)計(jì) 激勵(lì)信號 和用于驗(yàn) 證的結(jié)果 數(shù)據(jù) 需要驗(yàn)證的 設(shè)計(jì) 簡單的測試平臺 復(fù)雜的測試平臺 語法詳細(xì)講解 并行塊 在測試塊中常用到 fork… join塊 。 舉例說明如下: module inline_tb。 initial fork data_bus= 8?b00。 //這兩個(gè) repeat開始執(zhí)行時(shí)間不同 , 但能同時(shí)運(yùn)行 20 repeat (10) 10 data_bus = data_bus +1。 140 data_bua = 8?h0f。 ? 過程連續(xù)賦值往往是不可以綜合的 , 通常用在測試模塊中 。 ? 兩種不同方式均不允許賦值語句間的時(shí)間控制 。 initial begin 10 assign = `init_state。 end force 和 release 用于寄存器類型和網(wǎng)絡(luò)連接類型(例如:門級掃描寄存器的輸出)的強(qiáng)制賦值,強(qiáng)制改寫其它地方的賦值。 20 release 。 force的賦值優(yōu)先級高于 assign。 如果用 force對同一個(gè)信號賦了幾次值,再執(zhí)行release,則所有賦的值均不再存在。 不能對寄存器類型的信號某位或某些位使用 assign 和 deassign 來賦值。下面 三個(gè)例子分別說明如何在門級和行為級建立不同波形的時(shí)鐘模型。 always begin period/2 clk=0。 end reg go。 nand (period/2) ul (clk,clk,go)。 (period/2) go=1。 語法詳細(xì)講解 建立時(shí)鐘 [例 2]簡單的帶延遲的對稱方波時(shí)鐘: 語法詳細(xì)講解 建立時(shí)鐘 reg clk。 (period) forever (period/2) clk=!clk end reg go。 nand (period/2) ul (clk,clk,go)。 (period) go=1。 [例 3]. 帶延遲、頭一個(gè)脈沖不規(guī)則的、占空比不為 1的時(shí)鐘: reg clk。 (period/21) forever begin (period/4) clk=0。 end end reg go。 nand (3*period/4,period/4) ul (clk,clk,go)。 (5*period/41) go=1。 語法詳細(xì)講解 建立時(shí)鐘 [例 2]簡單的帶延遲的對稱方波時(shí)鐘: 語法詳細(xì)講解 建立時(shí)鐘 reg clk。 (period) forever (period/2) clk=!clk end reg go。 nand (period/2) ul (clk,clk,go)。 (period) go=1。 語法詳細(xì)講解 怎樣使用任務(wù) 舉例說明如何使用任務(wù): module bus_ctrl_tb。 reg data_valid, data_rd。 initial begin cpu_driver (8?b0000_0000)。 cpu_driver (8?b0101_0101)。 input [7:0] data_in。 wait (data_rd = =1)。 wait (data_rd= =0)。 30 data_valid = 0。 wait wait wait wait data1 data2 data3 data4 cpu_data clk data_valid data_rd read_cpu_state 語法詳細(xì)講解 存儲(chǔ)建模 目標(biāo) 學(xué)會(huì)如何用 Verilog對存儲(chǔ)器建模。 存儲(chǔ)器建模必須注意以下兩個(gè)方面的問題: ? 聲明存儲(chǔ)器容量的大小。 例如:指出可以對存儲(chǔ)器做以下哪幾種操作: 1)只讀 2)讀寫 3)同步讀寫 4)多次讀,同時(shí)進(jìn)行一次寫 5)多次同步讀寫,同時(shí)提供一些方法保證一致性 語法詳細(xì)講解 存儲(chǔ)器建模 `timescale 1ns/10ps module myrom(read_data,addr,read_en_)。 input [3:0] addr。 reg [3:0] read_data。 initial $readmemb(“my_rom_data”,mem)。 endmodule 語法詳細(xì)講解 簡單 ROM 建模 my_rom_data 0000 0101 1100 0011 1101 0010 0011 11
點(diǎn)擊復(fù)制文檔內(nèi)容
教學(xué)課件相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1