看板 Electronics 關於我們 聯絡資訊
※ 引述《newword (距離畢業的日子)》之銘言: : 各位大大好 : 我想請問一下有關verilog語法的問題 : 就是在clock25連續送值為 1 2 3 4 5 6.... (如下圖) : ── ── ── ── : │ │ │ │ │ │ │ .....(clock25) : ── ── ── ── : 〔 1 〕〔 2 〕〔 3 〕〔 4 〕..... : 然後要如何再每個data中間補個"0" : 會變成 : ── ── ── ── ── ── ── : │ │ │ │ │ │ │ │ │ │ │ │ │ .....(clock25) : ── ── ── ── ── ── ── : 〔 1 〕〔 0 〕〔 2 〕〔 0 〕〔 3 〕〔 0 〕〔 4 〕〔 0 〕..... : 也就是做upsample : 小弟再怎麼做都會把2,4,6,8...等的偶數的值給蓋掉用零取代 : 不曉得各位大大能不能幫幫我 : 謝謝大家 : -- : 我的語法 : always@(posedge clock25) : begin : if(clock12) //clock25除頻為clock12 : DATA_OUT=DATA_IN; : else : DATA_OUT=0; : end 一般來說這應該是一個parallel input series output的component吧 input 16 lines , series output module Upsampler( Buf_o, Feedback_o , Data_i, Up_i, clk); //output port output Buf_o; //output for next stage output Feedback_o; //feed back to inform previous stage for next data //input ports input [15:0]Data_i; input [2:0]Up_i;//8 level upsample rate input clk;//clock //registers reg [2:0] counter; reg [3:0] sample; //work function always @ (negedge clk) if(sample == 15) begin feedback=1; sample=0; end always @ (posedge clk) begin if (counter == Up_i) begin sample = sample + 1; counter = 0; Buf_o = Data_i[counter]; end else counter = counter + 1; end endmodule -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 220.135.83.97 ※ 編輯: deathcustom 來自: 220.135.83.97 (11/27 00:40) ※ 編輯: deathcustom 來自: 220.135.83.97 (11/27 00:44) ※ 編輯: deathcustom 來自: 220.135.83.97 (11/27 21:58)
packet110:sample 為何正負clock都可改變呢? 11/28 23:16