Re: [問題] 請問數位邏輯的問題

看板Electronics作者 (我愛ASM)時間9年前 (2014/11/23 12:55), 9年前編輯推噓4(405)
留言9則, 2人參與, 最新討論串2/3 (看更多)
※ 引述《di7101483 (d)》之銘言: : 大家好,前幾天熬夜debug、研究數位邏輯、quartus、verilog、fpga(都熬出病了@@) : 終於把code寫出來了,但魯蛇我問題很多 請原諒 : 我用verilog寫了一個邏輯 : truth table如下 : clk | c | F : ____|____|__ : | | : ↑ | 1 | A : | | : ↑ | 0 | B : 頻率都是用altpll產生的 : 其中我給clk的頻率是 4M Hz ~~phase位移125ns(90度) : c 是 2M Hz : A和B 都是 1M Hz : 我預期 F(output)接示波器出來的頻率應該要是2M F輸出跟AB走,你寫的東西就是多工器,c是選擇線。 所以F是1MHz : 但實際上卻是1M(但是把 F<=A 改為 F<=1'b1 之後卻變成2M) : 我想請問這個邏輯有問題嗎? 2M?我的waveform還是1M,只是dutycycle不一樣。 我覺得你要不要把多工器那節的東西要K一下? c是選擇線、選擇線、選擇線(很重要所以講三次) : 還是code有問題? code如下~~ : module block : ( : A, B, clk, c, F : ); : input clk, c, A, B; : output F; : reg F; : always @ (posedge c0 ) : begin : if (c) : F <= A; //F <=1'b1; 就是這邊 : else : F <= B; //F <=1'b0; 就是這邊 : end : endmodule 啊你的testbench哩?我的code放上來你自己實驗一下... //exam01.v module exam01(clk,C,A,B,F); input clk,C,A,B; output F; reg Q; always @(posedge clk) begin if(C) Q <= A; else Q <= B; end assign F = Q; endmodule //exam01_tb.v testbench for exam01.v `timescale 10ns/1ps `include "exam01.v" module exam01_tb(); reg clk, c, b, a; wire f; initial begin clk = 0; c = 0; b = 0; a = 0; end always #12.5 clk = ~clk; always #25 c = ~c; always #50 b = ~b; always #50 a = ~a; exam01 tsm(clk, c, b, a, f); initial begin $dumpfile("exam01.vcd"); $dumpvars; #1000 $finish; end endmodule -- 不要問我從哪來,我只是一個浪跡天涯的工程師.... -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 123.193.158.199 ※ 文章網址: http://www.ptt.cc/bbs/Electronics/M.1416718523.A.1E2.html ※ 編輯: MasterChang (123.193.158.199), 11/23/2014 12:57:25 ※ 編輯: MasterChang (123.193.158.199), 11/23/2014 12:57:49

11/23 13:31, , 1F
我知道頻率絕對不會跟著c走,但是我預期應該會跟著clk
11/23 13:31, 1F

11/23 13:33, , 2F
走,因為只有正緣處發,所以波長是clk的兩個周期
11/23 13:33, 2F

11/23 13:34, , 3F
頻率就是clk的1/2
11/23 13:34, 3F

11/23 13:53, , 4F
我是直接燒到FPGA測試耶
11/23 13:53, 4F
直接燒到FPGA測試又怎樣? clk只是同步信號而已,輸出還是看A或B(C是選擇線)。 以前學校老師講過"觀念對了,做的東西才有正確的機會。" ※ 編輯: MasterChang (123.193.158.199), 11/23/2014 17:04:54

11/23 20:17, , 5F
我的意思是 我不會用test 所以只好直接燒到fpga
11/23 20:17, 5F

11/23 20:18, , 6F
我有嘗試寫弄個tsetbench 但是光除頻電路編譯就一直沒
11/23 20:18, 6F

11/23 20:18, , 7F
過,搞了老半天只好直接燒來看
11/23 20:18, 7F

11/23 20:19, , 8F
我絕對沒有其他意思@@
11/23 20:19, 8F

11/24 02:00, , 9F
ㄜ...看了半天....是要做除頻電路嗎?
11/24 02:00, 9F
文章代碼(AID): #1KSMYx7Y (Electronics)
文章代碼(AID): #1KSMYx7Y (Electronics)