图像格式转换设计-高层次综合设计二
一、顶层
#include <iostream>
#include <fstream>
#include "frame_top.h"
using namespace std;
#include <iostream>
#include <cstdint>
#include <cassert>
// 仿真使用的视频时序参数(1920×1080 @ 60Hz 典型值)
#include <iostream>
#include <cstdlib>
#include "frame_top.h"
// 时序参数(应与 frame_top.h 中的定义一致)
// 图像有效分辨率
#ifndef H_ACTIVE
#define H_ACTIVE 192
#endif
#ifndef V_ACTIVE
#define V_ACTIVE 108
#endif
// 视频时序参数(可根据需要调整)
#define H_SYNC 8
#define H_BACK 16
#define H_FRONT 8
#define H_TOTAL (H_SYNC + H_BACK + H_ACTIVE + H_FRONT)
#define V_SYNC 2
#define V_BACK 4
#define V_FRONT 2
#define V_TOTAL (V_SYNC + V_BACK + V_ACTIVE + V_FRONT)
int main() {
// 输入信号
pixel_t in_data;
ap_uint<1> vsync, hsync, de;
hls::stream<axis_pkt_t> output_stream("output_stream");
// 用于生成测试数据的计数器
int pixel_val = 0;
// 模拟一帧视频时序
for(int v1 = 0; v1 < 2; v1++){
for (int v = 0; v < V_TOTAL; v++) {
vsync = (v < V_SYNC) ? 0 : 1;
for (int h = 0; h < H_TOTAL; h++) {
hsync = (h < H_SYNC) ? 0 : 1;
bool in_active = (v >= (V_SYNC + V_BACK)) &&
(v < (V_SYNC + V_BACK + V_ACTIVE)) &&
(h >= (H_SYNC + H_BACK)) &&
