找回密码
 注册
关于网站域名变更的通知
查看: 191|回复: 4
打印 上一主题 下一主题

如何用Verilog语言使得FPGA输出一个时钟信号

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2022-9-5 11:18 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

EDA365欢迎您登录!

您需要 登录 才可以下载或查看,没有帐号?注册

x
通常用verilog编程的话都要定义一个CLK输入端口,用于外部输入时钟信号。8 i, }' C7 Z: m. Y4 C: D% J% F9 q, f
那么为了硬件的独立性,我希望自己生成一个CLK信号,然后对其输出,用示波器或者逻辑分析仪进行观察。可以吗?已知FPGA的工作频率是50MHz
+ b) n) n. ?% [  v9 ?我是这样写的
" Z) x* z; e& e; K- D3 emodule freq(out_clk)+ ?. H5 W) n! C& E* r# h
output reg out_clk=0;! R0 _" Y- s6 \' c" z2 l. s$ G
reg clk=0;* w- u2 _& I4 s$ z  l2 i
always0 [$ F4 W2 E# W
begin/ L6 ]! [3 v: I  ?; |* q
clk<=~clk# g. J3 Z8 b3 m: B5 r* z, l
end7 m$ @- n# n: N7 G5 t. H; ?

' V$ v; F& V* oalways@(posedge clk)
9 z' o; ^8 b" H2 e5 T4 ?begin" Z) E& l: D% b+ n9 H6 e
//这里可以添加计时器变量,实现降频输出  q  o: T! D6 w9 l, r8 N
out_clk <= ~out_clk: `$ e: p2 B; p: _
end# p) l5 K1 Y# s/ s+ \& ~7 ], k

, v' A- V% y  i- S' Yendmodule
6 V% z; v, B$ V, f# y; ~+ \2 w1 j! M
我用quartus进行仿真发现out_put的输出永远都是0.4 ?! f# Y, i* \; U4 I7 j9 \0 x
请问这个该如何解决?8 t4 o2 h, K0 t4 O) b! z
或者有什么好的写法吗?
0 M  D* h5 Q# e6 L
  • TA的每日心情
    慵懒
    2022-1-21 15:20
  • 签到天数: 1 天

    [LV.1]初来乍到

    2#
    发表于 2022-9-5 13:14 | 只看该作者
    你可以定义 wire out_clk;assign out_clk=clk;还有一个比较重要的问题,你这个模块没有输入时钟,你那个clk<=~clk;是运行不了的,你需要定义一个input的输入时钟,如果仿真时 需要写 :#时间 clk<=~clk;并且在initial 定义clk=0;或者clk=1;的初值。
  • TA的每日心情
    开心
    2022-1-21 15:22
  • 签到天数: 1 天

    [LV.1]初来乍到

    3#
    发表于 2022-9-5 13:32 | 只看该作者
    RAM对于FPGA来说是一段专门的资源,你用寄存器组去实现就太浪费了吧 数量小的还凑合( k' C" j/ c) u# H9 `
    可以用两个RAM, 输入存到两个RAM里, 大部分控制信号都是相同的,只不过输出地址不同而已 实现来说也不难 .
    # S( l" C; X5 C8 t8 [3 W4 ~还有也可以用FIFO做啊 , 前一个输出是后一个输入, 在结点处输出 不过这个要看取的数据有没有规律性适合FIFO去做.

    该用户从未签到

    4#
    发表于 2022-9-5 13:37 | 只看该作者
    一般都是板子上有块晶振,然后具体要多少频率的时钟你可以用dcm调

    该用户从未签到

    5#
    发表于 2022-9-6 09:02 | 只看该作者
    新手入门,学习
    您需要登录后才可以回帖 登录 | 注册

    本版积分规则

    关闭

    推荐内容上一条 /1 下一条

    EDA365公众号

    关于我们|手机版|EDA365电子论坛网 ( 粤ICP备18020198号-1 )

    GMT+8, 2025-11-1 04:37 , Processed in 0.140625 second(s), 23 queries , Gzip On.

    深圳市墨知创新科技有限公司

    地址:深圳市南山区科技生态园2栋A座805 电话:19926409050

    快速回复 返回顶部 返回列表