|
|||||||||||
| 技術(shù)交流 | 電路欣賞 | 工控天地 | 數(shù)字廣電 | 通信技術(shù) | 電源技術(shù) | 測控之家 | EMC技術(shù) | ARM技術(shù) | EDA技術(shù) | PCB技術(shù) | 嵌入式系統(tǒng) 驅(qū)動(dòng)編程 | 集成電路 | 器件替換 | 模擬技術(shù) | 新手園地 | 單 片 機(jī) | DSP技術(shù) | MCU技術(shù) | IC 設(shè)計(jì) | IC 產(chǎn)業(yè) | CAN-bus/DeviceNe |
verilog hdl |
| 作者:cottontang 欄目:IC設(shè)計(jì) |
我用verilog hdl寫一個(gè)編碼程序,可是我怎么都做不出來: 從引角datain有數(shù)據(jù)輸入,數(shù)據(jù)沒到達(dá)時(shí)為高電平,到達(dá)一個(gè)碼元后有一個(gè)低電平,這個(gè)碼元傳完后會(huì)變?yōu)楦唠娖剑?br> 我現(xiàn)在寫的程序是datain為下降沿時(shí)燈亮(led[0]接燈),否則燈不亮,下面這樣寫為何不可呢? MODULE decode(datain,clock,SPEAKER,led,xian,digien); //*************************************************** //端口聲明 input datain; input clock; OUTPUT SPEAKER; OUTPUT [11:0]led; OUTPUT [3:0]xian; //用于CD4511的輸入 OUTPUT [7:0]digien; //數(shù)碼顯示使能端 //******************************************************** //******************************************************** //變量數(shù)據(jù)類型說明 integer s1; //用于計(jì)算脈沖數(shù) integer diginum; reg addctrl; reg [3:0]xian; reg [7:0]divf;//分頻變量 reg [11:0]bitcheck;//位判斷,并用于暫時(shí)保存12個(gè)碼字 reg [11:0]twbit;//存放一個(gè)碼組; reg [4:0]uptodwn; //下降沿標(biāo)志 reg [7:0]digien; reg [2:0]present, nxstate ; //定義保存狀態(tài)的中間變量 parameter st0 = 0, //定義各種狀態(tài) st1 = 1, st2 = 2, st3 = 3; reg SPEAKER; reg sel; reg [11:0]led; reg [11:0]tdigi; //用于存放12碼字 //******************************************************** //變量初始化 initial begin s1 = 0; addctrl = 0; //默認(rèn)不計(jì)算脈沖數(shù) diginum = 0; twbit = 12'b000000000000; bitcheck = 12'b000000000000; led = 12'b000000000000; digien = 8'b11111111; end //************************************************************ always @(negedge datain)//有數(shù)據(jù)到來時(shí),啟動(dòng)計(jì)數(shù)器 begin led[0] = 1; end always @(posedge datain) //上升沿時(shí)就可判斷所接收到的碼元 led[0] = 0; endMODULE |
| 2樓: | >>參與討論 |
| 作者: allok 于 2006/4/1 10:24:00 發(fā)布:
多看書吧,多體會(huì),不要著急。 這樣的代碼我們稱之為garbage. |
|
|
|
| 免費(fèi)注冊為維庫電子開發(fā)網(wǎng)會(huì)員,參與電子工程師社區(qū)討論,點(diǎn)此進(jìn)入 |
Copyright © 1998-2006 m.58mhw.cn 浙ICP證030469號(hào) |