提示:小白撰写,如有错误希望指出
前言
记录一下学习fpga里Verilog语言的小知识点,持续更新。
提示:以下是本篇文章正文内容
1、A = B ? C : D 是一个条件运算符,含义是如果 B 为 TRUE 则把 C 连线 A,否则把 D 连线 A。B 通常是个条件判断,用小括弧括起: assign C1_Clk = (C1==25’d24999999) ? 1 : 0 ;
2.“{}”在 Verilog 中表示拼接符,{a,b}这个的含义是将括号内的数按位并在一 起,比如:{1001,1110}表示的是 10011110。
3. 如果我们要表示一个十进制是 180 的数值,在 Verilog 中的表示方法如下:
二进制:8’b1010_1010; //其中“_”是为了容易观察位数,可有可无。
八进制:8‘o(xxxx)
十进制:8’d180(表示数180); 16 进制:8’hAA;
4. 计算1s需要计数器计数多少个数?
此处计数的时钟就用系统时钟50MHz,换算成时间是0.000_000_02s,计数1s的时间需要50_000_000个。所以计数器要在50MHz的时钟下计50_000_000个数才可以。因为是从0开始计数,所以在50MHz频率下计数1s的最终计数值是49_999_999。
总结
too much,希望可以一个月速成www