使用 Vivado HLS 工具 通过 3 线-8 线译码器用模块化建模的方式实现 4 线-16 线译码器的功能,只要写出源文件和激励文件
时间: 2024-02-15 08:05:07 浏览: 95
好的,我会尽力回答您的问题。以下是使用 Vivado HLS 工具通过 3 线-8 线译码器用模块化建模的方式实现 4 线-16 线译码器的功能的源文件和激励文件。
源文件:
```c++
#include "ap_int.h"
void decode3to8(ap_uint<3> in, ap_uint<8> &out) {
#pragma HLS INTERFACE ap_ctrl_none port=return
#pragma HLS INTERFACE ap_none port=in
#pragma HLS INTERFACE ap_none port=out
switch(in) {
case 0:
out = 0x01;
break;
case 1:
out = 0x02;
break;
case 2:
out = 0x04;
break;
case 3:
out = 0x08;
break;
case 4:
out = 0x10;
break;
case 5:
out = 0x20;
break;
case 6:
out = 0x40;
break;
case 7:
out = 0x80;
break;
}
}
void decoder4to16(ap_uint<4> in, ap_uint<16> &out) {
#pragma HLS INTERFACE ap_ctrl_none port=return
#pragma HLS INTERFACE ap_none port=in
#pragma HLS INTERFACE ap_none port=out
ap_uint<8> dec1;
ap_uint<8> dec2;
ap_uint<8> dec3;
ap_uint<8> dec4;
decode3to8(in.range(2, 0), dec1);
decode3to8(in.range(3, 1), dec2);
decode3to8(in.range(2, 0), dec3);
decode3to8(in.range(3, 1), dec4);
out.range(7, 0) = dec1;
out.range(15, 8) = dec2;
out.range(23, 16) = dec3;
out.range(31, 24) = dec4;
}
```
激励文件:
```c++
#include <stdio.h>
#include "ap_int.h"
void decoder4to16(ap_uint<4> in, ap_uint<16> &out);
int main() {
ap_uint<4> in;
ap_uint<16> out;
in = 0;
decoder4to16(in, out);
printf("in = %d, out = 0x%x\n", (unsigned int)in, (unsigned int)out);
in = 1;
decoder4to16(in, out);
printf("in = %d, out = 0x%x\n", (unsigned int)in, (unsigned int)out);
in = 2;
decoder4to16(in, out);
printf("in = %d, out = 0x%x\n", (unsigned int)in, (unsigned int)out);
in = 3;
decoder4to16(in, out);
printf("in = %d, out = 0x%x\n", (unsigned int)in, (unsigned int)out);
in = 4;
decoder4to16(in, out);
printf("in = %d, out = 0x%x\n", (unsigned int)in, (unsigned int)out);
in = 5;
decoder4to16(in, out);
printf("in = %d, out = 0x%x\n", (unsigned int)in, (unsigned int)out);
in = 6;
decoder4to16(in, out);
printf("in = %d, out = 0x%x\n", (unsigned int)in, (unsigned int)out);
in = 7;
decoder4to16(in, out);
printf("in = %d, out = 0x%x\n", (unsigned int)in, (unsigned int)out);
in = 8;
decoder4to16(in, out);
printf("in = %d, out = 0x%x\n", (unsigned int)in, (unsigned int)out);
in = 9;
decoder4to16(in, out);
printf("in = %d, out = 0x%x\n", (unsigned int)in, (unsigned int)out);
in = 10;
decoder4to16(in, out);
printf("in = %d, out = 0x%x\n", (unsigned int)in, (unsigned int)out);
in = 11;
decoder4to16(in, out);
printf("in = %d, out = 0x%x\n", (unsigned int)in, (unsigned int)out);
in = 12;
decoder4to16(in, out);
printf("in = %d, out = 0x%x\n", (unsigned int)in, (unsigned int)out);
in = 13;
decoder4to16(in, out);
printf("in = %d, out = 0x%x\n", (unsigned int)in, (unsigned int)out);
in = 14;
decoder4to16(in, out);
printf("in = %d, out = 0x%x\n", (unsigned int)in, (unsigned int)out);
in = 15;
decoder4to16(in, out);
printf("in = %d, out = 0x%x\n", (unsigned int)in, (unsigned int)out);
return 0;
}
```
以上就是使用 Vivado HLS 工具通过 3 线-8 线译码器用模块化建模的方式实现 4 线-16 线译码器的功能的源文件和激励文件,希望对您有所帮助。
阅读全文
相关推荐
![zip](https://img-home.csdnimg.cn/images/20241231045053.png)
![zip](https://img-home.csdnimg.cn/images/20241231045053.png)
![zip](https://img-home.csdnimg.cn/images/20241231045053.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![-](https://img-home.csdnimg.cn/images/20241231045053.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![pdf](https://img-home.csdnimg.cn/images/20241231044930.png)
![-](https://img-home.csdnimg.cn/images/20241231045053.png)
![-](https://img-home.csdnimg.cn/images/20241231044955.png)
![-](https://img-home.csdnimg.cn/images/20241226111658.png)
![-](https://img-home.csdnimg.cn/images/20241226111658.png)
![-](https://img-home.csdnimg.cn/images/20241226111658.png)
![-](https://img-home.csdnimg.cn/images/20241226111658.png)
![-](https://img-home.csdnimg.cn/images/20241226111658.png)
![-](https://img-home.csdnimg.cn/images/20241226111658.png)
![-](https://img-home.csdnimg.cn/images/20241226111658.png)
![-](https://img-home.csdnimg.cn/images/20241226111658.png)
![rar](https://img-home.csdnimg.cn/images/20241231044955.png)
![zip](https://img-home.csdnimg.cn/images/20241231045053.png)