关于M4K的问题还没有完毕。首要问题在于想使用M4K来存储要显现到VGA屏幕上的字模数据,而昨日为了便利开了一个很大位宽的M4K,成果就照成了M4K的使用率大大下降,本来不到8K的数据竟然占用了7个M4K块,感觉不爽。所以今日费尽心机是想出了处理办法,一起也为其他字符的显现办法开了绿灯。
具体办法不在此评论,不过现在本来占用7个M4K的字模改成了32位宽*224,规规矩矩的占用了2个M4K块。此外把常用的8*16的ASCII字符字模数据都存到了M4K初始化ROM里了,这全都是体力活,耗费了不少精力。首要问题是字模软件和altera供给的规范ROM初始化文件的格局无法搞成共同。400多个字数据都是手艺编号,小指头现在还隐隐作痛。不过显现的技能难点处理了,感觉仍是蛮高兴的。
其次,关于采样频率(采样周期)做了细化,不再是本来单一的只能为100MHz的采样率,现在能够有10档可调的采样频率。由于采样率设置后的显现还没有持续搞定,所以暂时不做进一步的测验。
由于这个工程里的两个时钟都是用的PLL发生的,所以有必要讨论一下使用了PLL输出时钟作为体系作业时钟时的复位逻辑规划。特权同学的一点鄙意,愿抛砖引玉,等待高手点拨。
曾经的许多博文里都谈过异步复位、同步开释等等的问题,那么在体系复位后PLL时钟输出前,即体系作业时钟不确定的情况下,怎样考虑这个复位的问题呢?
上图是特权同学的这个工程里的复位规划,先用FPGA的外部输入时钟clk将FPGA的输入复位信号rst_n异步复位、同步开释处理一下,然后这个复位信号输入PLL,一起clk也输入PLL。我的规划初衷是在PLL输出时钟有用前,体系的其它部分都坚持复位状况。PLL的输出locked信号在PLL有用输出之前一直是低电平,PLL输出安稳有用之后才会拉高该信号。所以这儿就把前面说到的FPGA外部输入复位信号rst_n和这个locked信号相与作为整个体系的复位信号,当然了,这个复位信号也是需要让适宜的PLL输出时钟异步复位、同步开释处理一下。