广告

11. Multicycle Paths Constraints实例I(Timing Constraints in Vi

2017-1-11 11:44 133 0

本节通过实例介绍一下多时钟周期路径(multicycle paths)的约束方法。


如图1中结构,主时钟fast_clk,时钟频率250MHz;时钟使能信号div_by_two,由主时钟2分频得到,作为寄存器的clock enable信号。




图1


HDL代码如下所示:


以下是代码片段:

module top(

fast_clk,

din_a,

din_b,

din_x,

din_y,

ab_out,

xy_out

);


////////////// PORT /////////////////////////////

input fast_clk;

input [7:0] din_a;

input [7:0] din_b;

input [7:0] din_x;

input [7:0] din_y;

output reg [15:0] ab_out;

output reg [15:0] xy_out;


////////////// ARCHITECTURE /////////////////////

// Clock Enable

reg div_by_two;

always@(posedge fast_clk)

div_by_two<=~div_by_two;


// Input Registers

reg [7:0] din_a_rg;

reg [7:0] din_b_rg;

reg [7:0] din_x_rg;

reg [7:0] din_y_rg;

always@(posedge fast_clk) begin

if(div_by_two) begin

din_a_rg <= din_a;

din_b_rg <= din_b;

din_x_rg <= din_x;

din_y_rg <= din_y;

end

end


// Multiplexer

wire [7:0] mult_a;

wire [7:0] mult_b;

assign mult_a = div_by_two ? din_a : din_x;

assign mult_b = div_by_two ? din_b : din_y;


// Multiplier

wire [15:0] mult_rlt;

assign mult_rlt = mult_a * mult_b;


// Ouptut Select

always@(posedge fast_clk) begin

if(div_by_two)

xy_out <= mult_rlt;

else

ab_out <= mult_rlt;

end


endmodule





广告

文章评论 0条评论)

登录后参与讨论
相关推荐阅读
Hoki 2017-01-11 17:35
LX9开发板呼吸灯实现
对LX9开发板硬件评测后,从这一节开始真正进入FPGA开发的世界。很多开发板的例程中必有跑马灯实验,老跑马也没意思,咱来把新潮的,整一个呼吸灯。 呼吸灯最初是出现在apple公司的笔记本产品中,当合上...
Hoki 2017-01-11 16:47
LX9的microblaze配置
虽然XC6SLX9芯片资源比较少,但是嵌一个microblaze还是搓搓有余的,这一节就来评测一下在XC6SLX9上microblaze的配置。 有两种方法配置microblaze,一是在ISE软件中...
Hoki 2017-01-11 16:32
zynq评测
Zynq芯片是业界第一款在FPGA中集成ARM核的芯片,由FPGA的发明者xilinx公司推出的。Zynq严格来说不能以FPGA来定义它,因为其是以处理器为中心的平台,能够在单芯片上提供软、硬件和 I...
Hoki 2017-01-11 16:19
u-boot
Zyny芯片启动加载分为3步: 1. 芯片上电启动,首先读取BootROM中的程序,初始化一些必要的外设,然后根据专用引脚电平判断该从何处启动first stage Bootloader(FSBL),...
Hoki 2017-01-11 16:09
基于zynq的交叉编译平台
Zynq芯片的最大特点是其集成了双ARM Cortex-A9处理器,因此zynq的应用基本是以这个ARM核为核心,再配合FPGA逻辑作为协处理器,几乎能实现所有较复杂的应用。并且在ARM上可以跑操作系...
Hoki 2017-01-11 15:54
u-boot image生成
这节介绍一下如何生成u-boot image文件,在SDK软件中点击Xilinx Tools→Create Boot Image工具即可生成,但是生成image文件需要首先集齐3个文件:u-boot....
我要评论
0
0
广告
关闭 热点推荐上一条 /2 下一条