Q:本期我们在DE2-115开发板上实现二进制搜索算法电路,查找数据A在数组中的位置。
A:使用SW[9]设定开始查找信号,数据A由SW[7:0]设定,KEY[0]设定为复位信号,板载50MHz时钟作为电路的时钟输入,确保开始信号和时钟同步。查找结束后将A的存储地址以十六进制数显示在七段数码管HEX[1:0]上;内存初始化文件(MIF)的由32个8位整数组成的有序数组集合。
顶层文件及例化部分代码:
操作举例:设定SW9为0,SW[7:0]为二进制数00011110即十进制数30;再设定SW9为1开始查找A,找到A后LEDR9点亮,HEX[1:0]显示“1d”即二进制数11101和十进制数29,表示数据在地址11101的存储单元中,与内存初始化文件中的数据存储地址一致。