跳转至

实验要求

1 存储器的性能和资源使用情况

  • 使用IP核例化分布式RAM、读优先BRAM、写优先BRAM,并例化示例的verilog代码写的读优先BRAM,
  • 上述四者均选择单端口,深度32,数据宽度16,无寄存器。使用内容相同的初始化(IP核初始化和readmemh/readmemb初始化使用的文件格式不同),在同一个仿真文件中比较其读写时序。
  • 比较实现后 (Post-Implementation) 的资源(Utilization) 和性能 (Timing)报告。
  • 以上内容在实验报告中提交

2 设计先入先出队列

  • 使用IP核例化16×16的FIFO,仿真测试理解其功能。
  • 自行实现一个16×16的FIFO队列,并能够使用SDU串口调试单元对其测试。
  • 要求在队列满的状态下,若读写信号同时有效,会将队头元素更新到dout寄存器中,并将din元素加入到队尾,完成后队列仍为满。你需要准备仿真文件,以便在检查实验时证明你实现了这一点。

3 数据排序

  • 使用IP核或verilog代码生成的1024*32的块式存储器
  • 使用冒泡排序,实现降序排列,均视为无符号数(当然你用其他排序方式也不是不行)
  • 你应当能够在检查实验时详细地描述你的状态机
  • 启动排序信号start接板上按钮,排序结束标志接板上的一个led灯
  • 能够使用sdu查看存储器数据
  • 排序耗费时钟count可以采用数码管显示、led灯显示高位或维护特定寄存器使用sdu查看特定地址时不查看bram而是读出该寄存器的值
  • coe测试样例
  • hex测试样例
  • 测试样例的降序输出
  • C语言快速排序程序