微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 嵌入式设计讨论 > FPGA,CPLD和ASIC > 谁能帮我解释一下这段代码的意思啊?万分感谢!

谁能帮我解释一下这段代码的意思啊?万分感谢!

时间:10-02 整理:3721RD 点击:
process(tclkin)
begin
if tclkin'event and tclkin = '0' then
if counter = "1111111111111111111111111" then
counter <= (others => '1');
elsif counter < "1111111111111111111111111" then
counter <= counter + '1';
elsecounter <= (others => '0');
end if;
end if;
end process;

在时钟下降沿计数的计数器,计数到全1后维持不变

你这段代码是不能综合
你这段代码是不能综合,想想,电路上电后计数器就自加,到全1后就永远保持,只能运行一次,综合工具是不认的,会被cut way,实现上电只工作一次,应该采用其他的方法,例如模拟电路实现,典型的就是MCU中的上电复位,那个就不是用代码写的,而是使用晶体管电路搭出来的。

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top