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

正文內(nèi)容

fpga現(xiàn)代數(shù)字系統(tǒng)設(shè)計(jì)(存儲(chǔ)版)

  

【正文】 塊相應(yīng)的連接端口順序保持一致。如CpuRamRd_n信號(hào),經(jīng)鎖存后應(yīng)命名為 CpuRamRd_nr ? 多級(jí)鎖存的信號(hào),可多加 r以標(biāo)明。 ~c) 。 功能定義: assign d = a | x 。 assign e = ( b amp。 ~c )。 ? 驅(qū)動(dòng)端信號(hào)的改變會(huì)立刻 ? 傳遞到輸出的連線(xiàn)上 。 ? 常用行為語(yǔ)句結(jié)構(gòu)來(lái)給寄存器類(lèi)型的變量賦值 。 ? 數(shù)組類(lèi)型(特例:存儲(chǔ)器類(lèi)型) ? memory數(shù)據(jù)類(lèi)型常用于寄存器文件、 ROM和RAM建模等,是寄存器的二維數(shù)組形式,它是reg型的擴(kuò)展, ? 一般格式: reg [n1:0] 存儲(chǔ)器名 [N1:0]。 這是經(jīng)常犯的三個(gè)錯(cuò)誤?。?! 選擇數(shù)據(jù)類(lèi)型時(shí)常犯的錯(cuò)誤舉例 修改前: module example(o1, o2, a, b, c, d)。 input a, b, c, d。注意“與”操作符的優(yōu)先級(jí)總是比相同類(lèi)型的“或”操作符高。b=4?b0010 a+b a*b a/b a%b 注意 :在算術(shù)運(yùn)算中,有一個(gè)操作數(shù)為不確定狀態(tài),則運(yùn)算結(jié)果都為不確定狀態(tài) 。 與 | 或 ^ 異或 ~ ^ 同或 ^ ~ 同或 ? 當(dāng)兩個(gè)操作數(shù)位數(shù)不同時(shí),位數(shù)少的操作數(shù)零擴(kuò)展到相同位數(shù)。b00001011 大于 小于 = 大于等于 = 小于等于 ? 其結(jié)果是邏輯 邏輯 0或不確定 x。1amp。 ? 即是強(qiáng)調(diào)電路的輸入 /輸出功能。 initial begin a=1; b=0。 //清 0 else q=d。 assign q_b=~q。 說(shuō)明: ? 式子左邊的 “ 賦值目標(biāo)線(xiàn)網(wǎng) ” 只能是線(xiàn)網(wǎng)型變量,不能是寄存器型變量。 wire clk,b。 input clk,b。不允許持續(xù)性賦 ? 當(dāng)為時(shí)序邏輯建模,使用 “ 非阻塞賦值 ” 。 assign {c,sum[3:0]}=a[3:0]+b[3:0]+c_in。 格式: fork fork 塊名 執(zhí)行語(yǔ)句 1; 快內(nèi)變量、參數(shù)定義; 執(zhí)行語(yǔ)句 2; 執(zhí)行語(yǔ)句 1; 執(zhí)行語(yǔ)句 3; 執(zhí)行語(yǔ)句 2; join join 例如: begin fork 10 dout=2?b00。 end join ? 在塊語(yǔ)句中,語(yǔ)句由上而下順序執(zhí)行,當(dāng)執(zhí)行最后一行指令時(shí),仿真時(shí)間為 100個(gè)時(shí)間單位。 else cou=cou+1。如果操作數(shù)是 0、z、 x,等價(jià)于邏輯假,反之為邏輯真。 end endmodule 例:設(shè)計(jì) 14進(jìn)制計(jì)數(shù)器(要求同步時(shí)鐘下同步復(fù)位) module counter(qout,reset,clk)。 output[7:0] out。 //計(jì)數(shù) end endmodule ? 38譯碼器電路 例: 38譯碼器 module sample_reg(clk, rst, din, dout)。 endmodule 例: 數(shù)據(jù)采樣模塊 例: 41的選通數(shù)據(jù)輸出,其輸出數(shù)據(jù)位 32位,(使用 ifelse語(yǔ)句) ? ifelse表達(dá)了一個(gè)條件選擇的設(shè)計(jì)意圖,它與條件運(yùn)算符有重要的區(qū)別:條件運(yùn)算符可以出現(xiàn)在一個(gè)表達(dá)式中,而這個(gè)表達(dá)式可以使用在過(guò)程賦值中或者連續(xù)賦值中,可進(jìn)行行為建模,也可進(jìn)行門(mén)級(jí)建模 ? ifelse只能出現(xiàn)在 always、 initial塊語(yǔ)句,或者函數(shù)與任務(wù)中,一般只能在行為建模中使用。 reg [3:0] dout。 例:用 case語(yǔ)句實(shí)現(xiàn) 4位數(shù)據(jù)的 4選 1電路。 reg[6:0] decodeout。d2:decodeout=739。 439。b1110000。bx。 case(address) 439。b0000。h5 : out = 439。 439。b0100。hd : out = 439。 default : out=39。 reg out。b1???: out = d。 integer i。 end endmodule 【 例 】 用 for 語(yǔ)句描述的七人投票表決器 module mult_for (oute,a,b)。 i=size。 end end endmodule 【 例 】 用 while語(yǔ)句求 1加到 100的值,完成后打印結(jié)果。end always(posedge clk) begin while(j=100) begin data_out=data_out+1。 end 4. repeat語(yǔ)句 語(yǔ)句格式: repeat(表達(dá)式 )語(yǔ)句; ? 說(shuō)明: repeat語(yǔ)句執(zhí)行其表達(dá)式所確定的固定次數(shù)的循環(huán)操作,其表達(dá)式通常是常數(shù),也可以是變量、信號(hào)。 input [15:0] address。 ? 定義函數(shù)時(shí)至少要有一個(gè)輸入?yún)⒘俊=7。 //函數(shù)只有輸入,輸出為函數(shù)名本身 casex (din1) 839。h5。b0000_01xx : code = 339。 default: code = 339。 1) 任務(wù)的定義 定義任務(wù)的語(yǔ)法如下: task 任務(wù)名 。 task my_and。 output[4:0] c。 任務(wù)可以啟動(dòng)其它的任務(wù),其它任務(wù)又可以啟動(dòng)別的任務(wù),可以啟動(dòng)的任務(wù)數(shù)是沒(méi)有限制的。b0000_000x : code = 339。h3。 839。 output[2:0] dout function[2:0] code。 begin count=0。 ? 函數(shù)的使用規(guī)則 與任務(wù)相比較函數(shù)的使用有較多的約束,下面給出的是函數(shù)的使用規(guī)則: ? 函數(shù)的定義不能包含有任何的時(shí)間控制語(yǔ)句,即任何用#、 、或 wait來(lái)標(biāo)識(shí)的語(yǔ)句。 端口說(shuō)明語(yǔ)句 變量類(lèi)型說(shuō)明語(yǔ)句 begin 語(yǔ)句 ........ end endfunction ? 注意 返回值的類(lèi)型或范圍 這一項(xiàng)是可選項(xiàng),如缺省則返回值為一位寄存器類(lèi)型數(shù)據(jù)。 initial begin clock=0。 initial begin data_out=0。 while(i4) //while 語(yǔ)句 begin $display (i=%h,i)。 always (a or b) begin oute=0。 else if(sum[2]) pass=1。 input[6:0] vote。b?1??: out = c。 input a,b,c,d。hf : out = 439。b0000。 439。h7 : out = 439。b0000。 439。 reg[3:0] address。b1111011。 439。d4:decodeout=739。b0110000。 output[6:0] decodeout。 ? 語(yǔ)句格式 case(控制表達(dá)式 ) 分支表達(dá)式 1: 語(yǔ)句 1; 分支表達(dá)式 2: 語(yǔ)句 2; 分支表達(dá)式 n: 語(yǔ)句 n; default:默認(rèn)語(yǔ)句; endcase ? case括弧內(nèi)的表達(dá)式稱(chēng)為控制表達(dá)式 ,通常表示為控制信號(hào)的某些位。 wire clk。 end else begin data = din。 //同步清 0,低電平有效 else if (load) out = data。 else qout=qout+1。 always (posedge clk) begin i f (reset) qout=0。 語(yǔ)句格式: ? if(條件表達(dá)式 ) begin 語(yǔ)句區(qū)塊 1 end else begin 語(yǔ)句區(qū)塊 2 end ? if(條件表達(dá)式 1) begin 語(yǔ)句區(qū)塊 1 end else if(條件表達(dá)式 2) begin 語(yǔ)句區(qū)塊 2 end else if(條件表達(dá)式 2) begin 語(yǔ)句區(qū)塊 2 end ? if(條件表達(dá)式 ) begin if(條件表達(dá)式 ) begin 語(yǔ)句區(qū)塊 1 end else begin 語(yǔ)句區(qū)塊 1 end end else begin if(條件表達(dá)式 ) begin 語(yǔ)句區(qū)塊 2 end else begin 語(yǔ)句區(qū)塊 2 end end ? 條件表達(dá)式可以是邏輯表達(dá)式或關(guān)系表達(dá)式。 reg[7:0]cou。 40 dout=2?b11。 格式: begin begin 塊名 執(zhí)行語(yǔ)句 1; 快內(nèi)變量、參數(shù)定義; 執(zhí)行語(yǔ)句 2; 執(zhí)行語(yǔ)句 1; 執(zhí)行語(yǔ)句 3; 執(zhí)行語(yǔ)句 2; end end ? 快名是可選的,是一個(gè)塊的標(biāo)識(shí)名 ? 快內(nèi)可以根據(jù)需要定義變量,聲明參數(shù),但這些只能在塊內(nèi)使用。 ? 不要使用# 0延遲的賦值 。 end endmodule “ 非阻塞賦值 ” ? 非阻塞賦值在賦值開(kāi)始時(shí)計(jì)算表達(dá)式右邊的值,到了本次仿真周期結(jié)束時(shí)才更新被賦值變量,且也許其它語(yǔ)句的同時(shí)賦值。 ? 使用阻塞語(yǔ)句可能會(huì)得到意想不到的結(jié)果 。 input clk,b。 assign {c,sum[3:0]}=a[3:0]+b[3:0]+c_in。 output q,q_d。例如:信號(hào)出現(xiàn)正沿、負(fù)沿或是數(shù)值改變時(shí),區(qū)塊內(nèi)的語(yǔ)句即被執(zhí)行。 例 : reg[1:0]a,b。 q=(sel)?a:b。 ? 這類(lèi)操作符對(duì)操作數(shù)有左向右進(jìn)行操作 ? 縮減運(yùn)算符只要一個(gè)操作數(shù) 例 a=4?b1101 amp。 c = a | b。例如,若操作數(shù)為全 0,則其邏輯值為 0,邏輯反操作值為 1。 || ? : 最高 最低 優(yōu)先級(jí) + 加 減 * 乘 / 除 % 模 ? 將負(fù)數(shù)賦值給 reg或其它無(wú)符號(hào)變量使用 2的補(bǔ)碼算術(shù)。 else o1 = 0。 else o1 = 0。 ? 輸入 /輸出口 (inout)只可以由網(wǎng)絡(luò)連接驅(qū)動(dòng) ,但它本身只能驅(qū)動(dòng)網(wǎng)絡(luò)連接。格式: ? parameter 標(biāo)識(shí)符 1=表達(dá)式 1, 標(biāo)識(shí)符 2=表達(dá)式 2, … 標(biāo)識(shí)符 n=表達(dá)式 n。 // 位寬為 8的 wire型變量 a和 b 類(lèi)型 功 能 wire, tri
點(diǎn)擊復(fù)制文檔內(nèi)容
研究報(bào)告相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1