通过Simulink生成的约束文件的一些尝试和拉引脚映射,我能够控制电路板上的LED,但是在DAC上获得任何输出仍然没有运气。
我发布了我使用的VHDL代码和约束文件,如果您知道为什么这可能不起作用,请告诉我。
谢谢,
Arpit。
--------------------------------------------------
-------------------------------- library IEEE;使用IEEE.STD_LOGIC_1164.ALL;使用IEEE.STD_LOGIC_ARITH.ALL;使用
IEEE.STD_LOGIC_UNSIGNED.ALL;库UNISIM;使用UNISIM.vcomponents.all;实体main是端口(sys_clk_p:在STD_Logic中; sys_clk_n:在STD_Logic中; dac0_data_p:out STD_LOGIC_VECTOR(15 downto 0); dac0_data_n:out STD_LOGIC_VECTOR(15 downto 0)
; dac0_clk_in_p:out STD_Logic; dac0_clk_in_n:out STD_Logic; LED:out STD_LOGIC_VECTOR(2 downto 0)); end main;架构主要信号的行为计数:STD_Logic_Vector(15 downto 0):=(其他=>'0');信号
DAC0:STD_Logic_Vector(15 downto 0):=(其他=>'0'); - 信号outzr:STD_Logic_Vector(15 downto 0):=(其他=>'0');信号sys_clk:STD_Logic:='0'
;信号LED:STD_Logic_Vector(2 downto 0):=(其他=>'0');信号mil125:STD_Logic_Vector(27 downto 0):=(其他=>'0'); - 信号mil125:STD_Logic_Vector(26 downto)
0):=(其他=>'0');开始IBUFGDS_inst:IBUFGDS通用映射
(DIFF_TERM => FALSE, - 差分端接IBUF_LOW_PWR => TRUE, - 参考I / O标准的低功耗(TRUE)与性能(FALSE)设置IOSTANDARD =>“DIFF_SSTL18_I”)端口映射(O => sys_clk,
- 时钟缓冲输出I => sys_clk_p, - Diff_p时钟缓冲输入(直接连接到顶级端口)IB => sys_clk_n - Diff_n时钟缓冲输入(直接连接到顶级端口));
OBUFDS_inst:OBUFDS通用映射(IOSTANDARD =>“LVDS_25”)端口映射(O => dac0_clk_in_p, - Diff_p输出(直接连接到顶级端口)OB => dac0_clk_in_n, - Diff_n输出(直接连接到顶层
port)I => sys_clk - 缓冲输入);
OBUFDS_loop:for 0 in 0生成OBUFDS_inst:OBUFDS通用映射(IOSTANDARD =>“LVDS_25”)端口映射(O => dac0_data_p(i), - Diff_p输出(直接连接到顶级端口)OB => dac0_data_n
(i), - Diff_n输出(直接连接到顶级端口)I => DAC0(i) - 缓冲输入);
结束生成;
LEDPing:进程(sys_clk)开始如果rising_edge(sys_clk)然后计数如果mil125否则mil125'0');
LED结束如果;
万一;
结束过程;
DAC0 LED end Behavioral; ---------------------------------------------
--------------------------------------
约束文件:
##################################################
########################## NET sys_clk_p LOC = K24 |
IOSTANDARD = DIFF_SSTL18_I;
#Bank 24NET sys_clk_n LOC = K23 |
IOSTANDARD = DIFF_SSTL18_I;
#Bank 24 ###########################################################################################
############################## DAC接口(数据)constraintsNET dac?_clk_in_?
IOSTANDARD = LVDS_25; NET dac?_data _?
IOSTANDARD = LVDS_25;#DAC0 interfaceNET dac0_clk_in_p LOC = N33;
#Bank 15NET dac0_clk_in_n LOC = M33;
#Bank 15NET dac0_data_p [0] LOC = N34;
#Bank 15NET dac0_data_n [0] LOC = P34;
#Bank 15NET dac0_data_p [1] LOC = N32;
#Bank 15NET dac0_data_n [1] LOC = P32;
#Bank 15NET dac0_data_p [2] LOC = R31;
#Bank 15NET dac0_data_n [2] LOC = R32;
#Bank 15NET dac0_data_p [3] LOC = P31;
#Bank 15NET dac0_data_n [3] LOC = P30;
#Bank 15NET dac0_data_p [4] LOC = L33;
#Bank 15NET dac0_data_n [4] LOC = M32;
#Bank 15NET dac0_data_p [5] LOC = P25;
#Bank 15NET dac0_data_n [5] LOC = P26;
#Bank 15NET dac0_data_p [6] LOC = N27;
#Bank 15NET dac0_data_n [6] LOC = P27;
#Bank 15NET dac0_data_p [7] LOC = M30;
#Bank 15NET dac0_data_n [7] LOC = N30;
#Bank 15NET dac0_data_p [8] LOC = L28;
#Bank 15NET dac0_data_n [8] LOC = M28;
#Bank 15NET dac0_data_p [9] LOC = L29;
#Bank 15NET dac0_data_n [9] LOC = L30;
#Bank 15NET dac0_data_p [10] LOC = M31;
#Bank 15NET dac0_data_n [10] LOC = L31;
#Bank 15NET dac0_data_p [11] LOC = F31;
#Bank 16NET dac0_data_n [11] LOC = E31;
#Bank 16NET dac0_data_p [12] LOC = E34;
#Bank 16NET dac0_data_n [12] LOC = F34;
#Bank 16NET dac0_data_p [13] LOC = D31;
#Bank 16NET dac0_data_n [13] LOC = D32;
#Bank 16NET dac0_data_p [14] LOC = G32;
#Bank 16NET dac0_data_n [14] LOC = H32;
#Bank 16NET dac0_data_p [15] LOC = J30;
#Bank 16NET dac0_data_n [15] LOC = K29;
#Bank 16#LEDNET led
IOSTANDARD = LVCMOS25; NET led [0] LOC = D34;
#Bank 16NET led [1] LOC = J26;
#Bank 16NET led [2] LOC = J27;
#Bank 16
##################################################
##########################
通过Simulink生成的约束文件的一些尝试和拉引脚映射,我能够控制电路板上的LED,但是在DAC上获得任何输出仍然没有运气。
我发布了我使用的VHDL代码和约束文件,如果您知道为什么这可能不起作用,请告诉我。
谢谢,
Arpit。
--------------------------------------------------
-------------------------------- library IEEE;使用IEEE.STD_LOGIC_1164.ALL;使用IEEE.STD_LOGIC_ARITH.ALL;使用
IEEE.STD_LOGIC_UNSIGNED.ALL;库UNISIM;使用UNISIM.vcomponents.all;实体main是端口(sys_clk_p:在STD_Logic中; sys_clk_n:在STD_Logic中; dac0_data_p:out STD_LOGIC_VECTOR(15 downto 0); dac0_data_n:out STD_LOGIC_VECTOR(15 downto 0)
; dac0_clk_in_p:out STD_Logic; dac0_clk_in_n:out STD_Logic; LED:out STD_LOGIC_VECTOR(2 downto 0)); end main;架构主要信号的行为计数:STD_Logic_Vector(15 downto 0):=(其他=>'0');信号
DAC0:STD_Logic_Vector(15 downto 0):=(其他=>'0'); - 信号outzr:STD_Logic_Vector(15 downto 0):=(其他=>'0');信号sys_clk:STD_Logic:='0'
;信号LED:STD_Logic_Vector(2 downto 0):=(其他=>'0');信号mil125:STD_Logic_Vector(27 downto 0):=(其他=>'0'); - 信号mil125:STD_Logic_Vector(26 downto)
0):=(其他=>'0');开始IBUFGDS_inst:IBUFGDS通用映射
(DIFF_TERM => FALSE, - 差分端接IBUF_LOW_PWR => TRUE, - 参考I / O标准的低功耗(TRUE)与性能(FALSE)设置IOSTANDARD =>“DIFF_SSTL18_I”)端口映射(O => sys_clk,
- 时钟缓冲输出I => sys_clk_p, - Diff_p时钟缓冲输入(直接连接到顶级端口)IB => sys_clk_n - Diff_n时钟缓冲输入(直接连接到顶级端口));
OBUFDS_inst:OBUFDS通用映射(IOSTANDARD =>“LVDS_25”)端口映射(O => dac0_clk_in_p, - Diff_p输出(直接连接到顶级端口)OB => dac0_clk_in_n, - Diff_n输出(直接连接到顶层
port)I => sys_clk - 缓冲输入);
OBUFDS_loop:for 0 in 0生成OBUFDS_inst:OBUFDS通用映射(IOSTANDARD =>“LVDS_25”)端口映射(O => dac0_data_p(i), - Diff_p输出(直接连接到顶级端口)OB => dac0_data_n
(i), - Diff_n输出(直接连接到顶级端口)I => DAC0(i) - 缓冲输入);
结束生成;
LEDPing:进程(sys_clk)开始如果rising_edge(sys_clk)然后计数如果mil125否则mil125'0');
LED结束如果;
万一;
结束过程;
DAC0 LED end Behavioral; ---------------------------------------------
--------------------------------------
约束文件:
##################################################
########################## NET sys_clk_p LOC = K24 |
IOSTANDARD = DIFF_SSTL18_I;
#Bank 24NET sys_clk_n LOC = K23 |
IOSTANDARD = DIFF_SSTL18_I;
#Bank 24 ###########################################################################################
############################## DAC接口(数据)constraintsNET dac?_clk_in_?
IOSTANDARD = LVDS_25; NET dac?_data _?
IOSTANDARD = LVDS_25;#DAC0 interfaceNET dac0_clk_in_p LOC = N33;
#Bank 15NET dac0_clk_in_n LOC = M33;
#Bank 15NET dac0_data_p [0] LOC = N34;
#Bank 15NET dac0_data_n [0] LOC = P34;
#Bank 15NET dac0_data_p [1] LOC = N32;
#Bank 15NET dac0_data_n [1] LOC = P32;
#Bank 15NET dac0_data_p [2] LOC = R31;
#Bank 15NET dac0_data_n [2] LOC = R32;
#Bank 15NET dac0_data_p [3] LOC = P31;
#Bank 15NET dac0_data_n [3] LOC = P30;
#Bank 15NET dac0_data_p [4] LOC = L33;
#Bank 15NET dac0_data_n [4] LOC = M32;
#Bank 15NET dac0_data_p [5] LOC = P25;
#Bank 15NET dac0_data_n [5] LOC = P26;
#Bank 15NET dac0_data_p [6] LOC = N27;
#Bank 15NET dac0_data_n [6] LOC = P27;
#Bank 15NET dac0_data_p [7] LOC = M30;
#Bank 15NET dac0_data_n [7] LOC = N30;
#Bank 15NET dac0_data_p [8] LOC = L28;
#Bank 15NET dac0_data_n [8] LOC = M28;
#Bank 15NET dac0_data_p [9] LOC = L29;
#Bank 15NET dac0_data_n [9] LOC = L30;
#Bank 15NET dac0_data_p [10] LOC = M31;
#Bank 15NET dac0_data_n [10] LOC = L31;
#Bank 15NET dac0_data_p [11] LOC = F31;
#Bank 16NET dac0_data_n [11] LOC = E31;
#Bank 16NET dac0_data_p [12] LOC = E34;
#Bank 16NET dac0_data_n [12] LOC = F34;
#Bank 16NET dac0_data_p [13] LOC = D31;
#Bank 16NET dac0_data_n [13] LOC = D32;
#Bank 16NET dac0_data_p [14] LOC = G32;
#Bank 16NET dac0_data_n [14] LOC = H32;
#Bank 16NET dac0_data_p [15] LOC = J30;
#Bank 16NET dac0_data_n [15] LOC = K29;
#Bank 16#LEDNET led
IOSTANDARD = LVCMOS25; NET led [0] LOC = D34;
#Bank 16NET led [1] LOC = J26;
#Bank 16NET led [2] LOC = J27;
#Bank 16
##################################################
##########################
举报