如何用Verilog语言使得FPGA输出一个时钟信号
通常用verilog编程的话都要定义一个CLK输入端口,用于外部输入时钟信号。那么为了硬件的独立性,我希望自己生成一个CLK信号,然后对其输出,用示波器或者逻辑分析仪进行...
通常用verilog编程的话都要定义一个CLK输入端口,用于外部输入时钟信号。
那么为了硬件的独立性,我希望自己生成一个CLK信号,然后对其输出,用示波器或者逻辑分析仪进行观察。可以吗?已知FPGA的工作频率是50MHz
我是这样写的
module freq(out_clk)
output reg out_clk=0;
reg clk=0;
always
begin
clk<=~clk
end
always@(posedge clk)
begin
//这里可以添加计时器变量,实现降频输出
out_clk <= ~out_clk
end
endmodule
我用quartus进行仿真发现out_put的输出永远都是0.
请问这个该如何解决?
或者有什么好的写法吗? 展开
那么为了硬件的独立性,我希望自己生成一个CLK信号,然后对其输出,用示波器或者逻辑分析仪进行观察。可以吗?已知FPGA的工作频率是50MHz
我是这样写的
module freq(out_clk)
output reg out_clk=0;
reg clk=0;
always
begin
clk<=~clk
end
always@(posedge clk)
begin
//这里可以添加计时器变量,实现降频输出
out_clk <= ~out_clk
end
endmodule
我用quartus进行仿真发现out_put的输出永远都是0.
请问这个该如何解决?
或者有什么好的写法吗? 展开
4个回答
展开全部
RAM对于FPGA来说是一段专门的资源,你用寄存器组去实现就太浪费了吧 数量小的还凑合
可以用两个RAM, 输入存到两个RAM里, 大部分控制信号都是相同的,只不过输出地址不同而已 实现来说也不难 .
还有也可以用FIFO做啊 , 前一个输出是后一个输入, 在结点处输出 不过这个要看取的数据有没有规律性适合FIFO去做.
可以用两个RAM, 输入存到两个RAM里, 大部分控制信号都是相同的,只不过输出地址不同而已 实现来说也不难 .
还有也可以用FIFO做啊 , 前一个输出是后一个输入, 在结点处输出 不过这个要看取的数据有没有规律性适合FIFO去做.
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2014-03-16
展开全部
如果你实际上板卡!那就input命令就行了!如果你只是前仿!那需要写testbench!用这个来给你的程序送虚拟激励源
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
一般都是板子上有块晶振,然后具体要多少频率的时钟你可以用dcm调
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询