国产精品免费无遮挡无码永久视频-国产高潮视频在线观看-精品久久国产字幕高潮-国产精品99精品无码视亚
電子工程網(wǎng)
標題:
奇怪的verilog問題
[打印本頁]
作者:
wangkj
時間:
2009-8-17 16:02
標題:
奇怪的verilog問題
reg [17:0] test_data=0;//18'h0; 這樣正常
這個verilog的寫法,用注釋中的寫法cpld就不工作了,奇怪!
reg [17:0] test_data18'h0; 這樣就出問題了。
作者:
wangkj
時間:
2009-8-17 16:10
原來的想法,是系統(tǒng)上電,test_data=0,
可是,系統(tǒng)上電,竟然還保持上次掉電的數(shù)據(jù)!
亂套了。
如果增加復(fù)位引腳,還得增加額外的電路,而且,管腳相當緊張。
搞過verilog的幫忙看看。
作者:
wangkj
時間:
2009-8-17 16:11
還有不少其他的變量,都是這樣賦值的,如果這樣有問題,那
必須得增加復(fù)位功能了。麻煩透了。
作者:
wangkj
時間:
2009-8-17 16:14
always@(posedge spck)// or negedge erd)
begin
if (spck_cnt==15) //after clock 15,will have a delay
begin
ext_in_wr <= 1'b1;//ext_in data to ext_in FIFO
ext_in_wdata[17:0] <= {ea0,1'b0,ext_in_buf[14:0],mosi};//{ea0,1'b0,ext_in_buf[14:0],mosi};
test_data[17:0]<= test_data[17:0]+1'b1;//{ea0,1'b0,ext_in_buf[14:0],mosi};//{ea0,1'b0,ext_in_buf[14:0],mosi};
end
else
begin
ext_in_wr<=0;
ext_in_buf[14:0]<={ext_in_buf[13:0],mosi};
end
// if (ea0==ea0_old)
// spck_cnt<=0;
// else
spck_cnt<=spck_cnt+1;
ea0_old<=ea0;
end
作者:
wangkj
時間:
2009-8-17 16:14
這是程序源碼,就是一個spi接收而已。
作者:
Anqi160
時間:
2009-8-18 16:48
語法錯誤吧,,reg [17:0] test_data=18'h00000;
作者:
wangkj
時間:
2009-8-19 09:50
經(jīng)過昨天和今天的測試,確實無論那種寫法,確實是掉電數(shù)據(jù)保持!
看來,只能增加復(fù)位電路或者邏輯。
或許,這是actel 這款電路的特性吧。郁悶。
作者:
一朝成名
時間:
2009-8-19 16:21
不懂,幫不上忙~
以前挺喜歡FPGA CPLD設(shè)計的,一直沒機會,現(xiàn)在也沒感覺了,過了勁兒了
作者:
yimaoqian
時間:
2009-8-25 22:09
verilog最后實現(xiàn)的電路都是觸發(fā)器和邏輯門,對于reg可類似于觸發(fā)器的Q吧,用7474是大家都會把復(fù)位和置位端接到有效電平,我想cpld也應(yīng)該不例外吧,上電沒有有效復(fù)位的話,應(yīng)該處于不定值,你定義變量reg = 0,但verilog的執(zhí)行語句為always,assign,task,fuction;而reg = 0并沒有在上述語句中,所以并沒有被執(zhí)行,可以把cpld的全局復(fù)位變量接出來吧,樓主不會把全局復(fù)位變量都用來做其他了吧?
作者:
wangkj
時間:
2009-8-25 23:00
沒有接硬件復(fù)位電路。不得多站一個IO嗎?
作者:
yimaoqian
時間:
2009-8-26 20:21
如果在fpga里, 掉電丟失的原因,reg [17:0] test_data=18'h00000;上電時test_data初始值應(yīng)該為0;
在spck_cnt<= 0處 同時test_data=18'h00000;可行不,這樣只可能出現(xiàn)上電的那一次誤碼!
作者:
why2010a
時間:
2010-11-10 10:23
頂
作者:
why2010a
時間:
2010-11-10 10:23
頂
歡迎光臨 電子工程網(wǎng) (http://m.4huy16.com/)
Powered by Discuz! X3.4