作者MasterChang (我爱ASM)
看板Electronics
标题Re: [问题] 请问数位逻辑的问题
时间Sun Nov 23 12:55:19 2014
※ 引述《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://webptt.com/cn.aspx?n=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
1F:推 di7101483: 我知道频率绝对不会跟着c走,但是我预期应该会跟着clk 11/23 13:31
2F:→ di7101483: 走,因为只有正缘处发,所以波长是clk的两个周期 11/23 13:33
3F:→ di7101483: 频率就是clk的1/2 11/23 13:34
4F:推 di7101483: 我是直接烧到FPGA测试耶 11/23 13:53
直接烧到FPGA测试又怎样?
clk只是同步信号而已,输出还是看A或B(C是选择线)。
以前学校老师讲过"观念对了,做的东西才有正确的机会。"
※ 编辑: MasterChang (123.193.158.199), 11/23/2014 17:04:54
5F:推 di7101483: 我的意思是 我不会用test 所以只好直接烧到fpga 11/23 20:17
6F:→ di7101483: 我有尝试写弄个tsetbench 但是光除频电路编译就一直没 11/23 20:18
7F:→ di7101483: 过,搞了老半天只好直接烧来看 11/23 20:18
8F:→ di7101483: 我绝对没有其他意思@@ 11/23 20:19
9F:推 pbzw: ㄜ...看了半天....是要做除频电路吗? 11/24 02:00