零基礎(chǔ)學(xué)FPGA(六)今天講習(xí)題
習(xí)題呢,來(lái)自夏雨聞老師的那本教材,就挑幾個(gè)感覺(jué)自己做著有點(diǎn)難度的寫(xiě)寫(xiě)吧
本文引用地址:http://2s4d.com/article/267959.htm
這個(gè)題呢剛開(kāi)始我是沒(méi)看明白,記得書(shū)上只講了我們習(xí)慣上的用法,這種用法我是沒(méi)見(jiàn)過(guò),問(wèn)了下別人才知道,Verilog中一般是左高右低。第一個(gè)沒(méi)問(wèn)題,第二個(gè),input [0:2] IP,習(xí)慣上我們這樣寫(xiě) input [2:0] IP,這里兩個(gè)是等價(jià)的,即表示第0 .1 .2 三位。第三個(gè),wire [16:23] A,也是,左高右低,表示第16.17.....22. 23位,左高右低就這樣記就好了。
首先FF呢用二進(jìn)制表示就是1111_1111,因?yàn)槭?‘hFF,即取前兩位,即0000_0011,因此,答案1,2正確。
這道題值得注意的是always的這種結(jié)構(gòu),可以有兩個(gè)@語(yǔ)句,這道題本身不難,看下答案,知道有這么一回事就好。
這道題比較有意思,這里I和J是整型,輸出I=-1沒(méi)問(wèn)題。-1也是整數(shù),輸出J=0也沒(méi)問(wèn)題
這里A是3位寄存器變量,值為000,與-1相減,-1的補(bǔ)碼為1111,所以A-1=000+1111,即1111,但這里A是3位的,所以取后三位,所以呢,A就為111即7.同理輸出B為8.
這個(gè)題要注意位運(yùn)算符和邏輯運(yùn)算符的區(qū)別,像&是位運(yùn)算符,&&是邏輯運(yùn)算符。所以第一題是按位與,答案應(yīng)該是4’b1000,第二題是按位取反,答案是4‘b0011,第三題是邏輯運(yùn)算,4'b1011是邏輯1,前面一個(gè)非號(hào),即左邊是邏輯0,同理,右邊是邏輯1,所以答案應(yīng)該是1'b1,下面的題也都類(lèi)似,這里就先不說(shuō)了。
這個(gè)題與上面提到過(guò)的那個(gè)題,類(lèi)似,主要是注意寄存器變量的位數(shù)就好了,從低位取起,再按照輸出類(lèi)型確定輸出。
這個(gè)題倒不難,但是很容易犯錯(cuò),注意默認(rèn)位數(shù)為32位就好了
題目不多,盡量把每個(gè)題目做精才是王道!
fpga相關(guān)文章:fpga是什么
評(píng)論