![](https://csdnimg.cn/release/download_crawler_static/86135302/bga.jpg)
10
(2) System Period(系统周期):分别设置 Simulink 的系统周期和实现硬件的系统时
钟周期,前者默认的时间单位是秒,后者为纳秒。
(3) Hierarchical Control (层次控制):
①Override with Doubles :
以双精度浮点的方式仿真 Xilinx 模块或 Simulink 模型, 替代 Xilinx 模块的定点方式。 设置
为 ―Override with Doubles ‖的Xilinx 模块显示为灰色。关于 Xilinx 模块的定点和浮点方式在
Gateway In 模块和 Gateway Out 模块的介绍中详细阐述。在下拉选择框中,可以指定在进行
Simulink 仿真时, FPGA 设计是根据
― According to Block Masks ‖模块的屏蔽情况,使用双精度浮点信号取代定点信号;
― Everywhere in Subsystem ‖在子系统中使用双精度浮点信号取代定点信号;
― Nowhere in Subsystem ‖在子系统中不使用双精度浮点信号取代定点信号。
② Generate Cores:选择在生成 VHDL 代码的过程中,是否生成 Xilinx LogiCOREs 。
可选项有:
― According to Block Masks ‖——根据模块的屏蔽情况生成 Xilinx LogiCOREs ;
― Everywhere Available ‖——在任何可能的地方,都生成 Xilinx LogiCOREs ,
― Nowhere ‖——不生成 Xilinx LogiCOREs 。
设置好 System Generator 的参数后,单击 Generate 按钮开始生成 VHDL 代码。如果目
标目录不存在,会提示创建该目录。在代码生成过程中,会显示一个进度条来表示生成进
度。代码生成后,会弹出一个确认信息窗,点击确认即可。
2 Black Box 模块 :
Black Box 模块是一个十分重要的基本模块, 在 Simulink 环境里, 并不是所有的硬件结
构都可以通过 Xilinx 模块集中的模块进行组合来实现; 但为了能进行设计系统的模型仿真,
设计的 Simulink 模型又应该是一个完整的模型。黑匣子( Black Box )模块就是专门设计用
来解决这种矛盾,提供 Simulink 模型与构造的 HDL 源码之间的接口。此外,在设计中,某
些组件可能已经用 VHDL 或 Verilog 设计好了可直接调用,或者某些组件直接用 VHDL 编
写比起在 Simulink 里建模要更为简单些。这些情况下,都要选用 Black Box 模块。
Black Box 模块的使用方法是:
(1)将 Black Box 模块添加到模型中;
对 Black Box 模块的要求:
与 Black Box 模块有关的 VHDL 元件必须遵从以下 System Generator 的要求和规定:
1. 实体名称必须与设计中任何其他实体的名称不同;
2. 在顶层的实体中不允许双向端口;
3. 不是时钟或时钟使能的任何端口必须具有 std_logic_vector 的数据类型;
4. 是时钟或时钟使能的任何端口必须具有 std_logic 的数据类型;
顶层的 VHDL 程序必须为每个 Simulink 中有关的采样率设置分别的时钟和时钟使能端
口。
在 black Box 的 VHDL 程序中时钟和时钟使能端口应该如下表示:
1. 时钟和时钟使能信号必须成对地出现;
2. 虽然 Black Box 可以有多个时钟端口,但利用单个时钟源驱动每个时钟端口;
3. 只有时钟使能的速率是不同的;
4. 每个时钟的名称(和每个时钟使能的名称)必须包含 clk(和 ce)的字符;