百科问答小站 logo
百科问答小站 font logo



能把这个代码每段意思解释一下顺便说出它的原理吗?求求你们了? 第1页

  

user avatar   liu-ji-27-94 网友的相关建议: 
      

这是一个Verilog HDL语言定义的时钟分频模块,目的是将输入信号频率降到500,000分之一。一般来说FPGA板子的原始时钟信号频率都很高,在做按键检测、LED流水灯等多种低频应用时,往往需要降频。你可以百度一下「Verilog时钟分频模块」。

我本来是不想回答这种问题的,因为我其实并不会Verilog语言,而且并不鼓励大家在知乎上问这种具体代码的问题,问题通用性差很少有人愿意回答。题主如果能问这个问题,也说明是上了相关课程的(比如数字电路),但凡有一点儿基础也是能自己解决的。

       /* 定义一个时钟分频模块 */ module clock_div(     input clk,          // 输入的原始时钟信号     input reset,        // 输入的复位控制信号     output reg clkout   // 输出的分频时钟信号 );     wire clk1s; // 这行貌似没用吧     reg [25:0] div_counter = 0; // 定义26位寄存器,初始化为0          /* clk和reset信号上升沿触发执行 */     always @(posedge clk, posedge reset)     begin         if(reset) // 如果是复位信号,就把寄存器清零,输出低电平         begin              div_counter <= 0; clkout <= 0;         end          // 如果寄存器的值达到500,000,则输出信号电平翻转,寄存器清零重新计数         else if (div_counter >= 500000)         begin             div_counter <= 0;              clkout = ~clkout;         end          // 未达到时间阈值,寄存器一直向上计数         else div_counter = div_counter + 1;     end endmodule      

编程的路还很长,不是你求别人别人就可以帮你看代码的。100行可以看,1000行呢,10000行呢?或者拿一本几十万字的论文集找老师问里面的代码问题?




  

相关话题

  程序员的产出为什么和投入时间不呈线性相关的关系? 
  程序员有很厉害,不外传的代码吗? 
  有没有一段代码,让你为人类的智慧击节叫好? 
  GitHub 上有哪些适合新手跟进的优质项目? 
  请问大佬们能2000行代码0 error 0 warn 0 bug一遍过吗?如果能过,是什么水平? 
  一百行以下有哪些给力代码? 
  为什么 JS 不能绕过后端代码直接调数据库,有哪些后端处理的逻辑,JS 不能写? 
  在真实工作中的编程是怎么样的,与学校里有什么不同? 
  在业务需求完全一致,技术指标要求不一致时,是否应该为此提供使用不同优化算法的接口? 
  如果有两颗药丸,一颗吃了让你写代码100%不出错,另一颗吃了能让你100%发现并修改bug,选哪颗? 

前一个讨论
怎样才能写出 Pythonic 的代码?
下一个讨论
如果请你评选中国最美校园,会选择哪些学校入围?





© 2024-06-25 - tinynew.org. All Rights Reserved.
© 2024-06-25 - tinynew.org. 保留所有权利