|
我的乘法已經(jīng)寫(xiě)了好久了,但是一直改來(lái)改去,今天終于完成了算是比較標(biāo)準(zhǔn)的一個(gè)程序吧,我把所有端口的寬度都用一個(gè)變量來(lái)表示,到時(shí)候直接改動(dòng)變量的值就可以了。。。
之前,我給變量賦值的語(yǔ)句是這么寫(xiě)的:
parameter e1=4'd8;///表示成數(shù)的指數(shù)位數(shù)////
parameter e2=4'd8;///表示被乘數(shù)的指數(shù)位數(shù)///
,,,,,
parameter N1=5'd32;///表示乘數(shù)總位數(shù)////
parameter N2=5'd32;//表示被乘數(shù)總的位數(shù)///
parameter O=6'd55;///表示結(jié)果的位數(shù)/////
編譯的時(shí)候也沒(méi)有任何錯(cuò)誤,但是進(jìn)行simulate的時(shí)候,總是出現(xiàn)錯(cuò)誤,說(shuō)Msb of part -selected into“in_multiplier”is out ofbounds。然后沒(méi)有出現(xiàn)仿真的界面。后來(lái)怎么改都不正確,賦值時(shí)一位一位賦值,測(cè)試向量中數(shù)值減小,將端口寬度減小,甚至改變了一下變量名字都無(wú)濟(jì)于事。
后來(lái)根據(jù)“transcript”里面的錯(cuò)誤提示,將定義變量的程序改了一下,就是parametere1=8;其他的也都這樣改,結(jié)果真的出來(lái)了,,,
其實(shí),也有一些其他的問(wèn)題,比如在主程序里面是用變量名表示端口寬度的,那么在測(cè)試向量里面也要用變量來(lái)表示端口寬度,不然在進(jìn)行simulate的時(shí)候會(huì)出現(xiàn)warning,說(shuō)主程序和測(cè)試向量里面的端口名不匹配,即Portsize (2 or 2)does not match connection size(1)for part“a”。
|
|