基本模块主要包括下面这些:
我们对主要的模块进行介绍: System Generator: 含有系统编译信息; Assert: 声明模块,用于定于信号; Concat: 将多个输入数据按位级联后作为一个输出数据; Convert: 数据格式转换模块,将输入信号按照要求转换成相应的格式; Delay: 延迟模块,用于调节信号的同步; Expression: 按照输入表达式的方式对输入信号按照位逻辑进行运算; Down Sample: 降低采样模块; Up Sample: 提升采样模块; Parallel to Serial: 并行转串行; Serial to Parallel: 串行转并行; Gateway In: Simulink模块数据流到 Xilinx模块的入口;
Gateway out: Xilinx模块的入口到 Simulink模块数据流。
必须模块 在基本模块Basic Elements中,找到带有红色Xilinx标志的模块为我们搭建运行仿真模块的必须模块,是我们搭建模块生成HDL或者IP核的必须模块。 我们双击该图标,可以打开其参数设置窗口,窗口主要分三类:编译设置、时钟设置和通用设置。 编译选项里,主要设置编译的类型,部件,生成的硬件描述语言类型,及最后生成文件的路径等,其中编译类型里包括描述语言网表、IP核、硬件协仿真及Check_Point。点击 Generator 按钮,就可以按照设置的参数来编译生成硬件描述语言。下面左图为编译运行,右侧为编译完成,此时已经生成了相应的HDL代码。 时钟选项里,主要设置FPGA主频时钟,时钟管脚位置及系统仿真周期。 通用设置 General里,一般我们都是设置缺省即可,也可以根据需求来进行自主设置。
控制模块 控制模块是用来控制数据流或数据位的,包括下面这些模块,下面我们将对其中重要的一些模块进行叙述。 AXI FIFO:用在AXI总线上的FIFO,用来缓存一些数据流; Constant:常数,用来做对比或者设定参数时用; Counter:计数器,用来计数对比,从而可以生成相应的控制信号; DualPort RAM:双端口RAM,可以缓存一些数据; FIFO:跟FIFOIP核一样的使用; Inverter:反转,取反运算; Logical:逻辑运算操作,可以是与、或、非、异或、同或、与非等逻辑操作,可以选择输入端口数目; Mcode:是非常重要的模块,用于将.M 文件做成模块,连接到我们的整体模型中,.M文件里面可以编写C语言函数; Mux:多路选择器,根据控制信号来选择数据流; ROM:当做ROM使用; Register:用于存储数据的寄存器; Relation:比较器,可以用来比较两个数的大小; Shift:移位寄存器,可以设置左移或右移; SinglePort RAM:单端口RAM; Slice:截取位区间,用来截取数据任意位数据;
VivadoHLS:用于HLS标志。
运算模块 运算模块中常用的有,DSP48E可以做25位和18位乘法;SquareRoot可以求平方根;其余选项在需要的时候,可以很方便的使用。
|