基于FPGA的逐点比较圆弧插补算法设计(5)

2019-07-13 18:06

┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ 装 ┊ ┊ ┊ ┊ ┊ 订 ┊ ┊ ┊ ┊ ┊ 线 ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊

参考文献2010届毕业设计6月7日修改版

参考文献

[1] 改进逐点比较法圆弧插补的研究与仿真_唐慧锋2006 年第22 卷第5-3 期

[2] 基于FPGA的数控数字积分法圆弧插补器的设计与实现_周保廷2005,27(5):16~18 [3] 基于FPGA的数控逐点比较法直线插补数字系统设计与实现( 2001) 06- 0045- 05 [4] 基于FPGA的数字积分法圆弧插补器的设计与实现_陈黎融( 2008) 02) 0058) 03 [5] 基于FPGA的硬圆弧插补器设计_秦兴( 2002) 5- 104- 2 [6] 基于FPGA技术的数控插补器算法改进研究 [7] 基于PC的逐点比较法插补控制程序设计 [8] 逐点比较法第一象限直线圆弧插补 [9] 逐点比较法顺圆弧插补 [10] 逐点比较算法圆弧插补

共 25 页 第 17 页

┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ 装 ┊ ┊ ┊ ┊ ┊ 订 ┊ ┊ ┊ ┊ ┊ 线 ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊

程序清单2010届毕业设计6月7日修改版

程序清单

LIBRARY IEEE;

USE IEEE.STD_LOGIC_1164.ALL; USE IEEE.STD_LOGIC_UNSIGNED.ALL; ENTITY PUL IS

PORT(G : IN STD_LOGIC;

XE : IN Integer RANGE -32768 TO 32767; YE : IN Integer RANGE -32768 TO 32767; CLK : IN STD_LOGIC; XDIR : OUT STD_LOGIC; YDIR : OUT STD_LOGIC; XP : OUT STD_LOGIC; YP : OUT STD_LOGIC); END PUL;

ARCHITECTURE sample OF PUL IS SIGNAL PUL:STD_LOGIC; SIGNAL XCP:STD_LOGIC; SIGNAL YCP:STD_LOGIC;

SIGNAL XXE: Integer RANGE 0 TO 65535; SIGNAL YYE: Integer RANGE 0 TO 65535; BEGIN

XP<=XCP AND CLK; YP<=YCP AND CLK; P1:PROCESS(XXE,YYE) VARIABLE XXDIR: STD_LOGIC; VARIABLE YYDIR: STD_LOGIC;

VARIABLE TXE: Integer RANGE 0 TO 65535; VARIABLE TYE: Integer RANGE 0 TO 65535; BEGIN

共 25 页 第 18 页

┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ 装 ┊ ┊ ┊ ┊ ┊ 订 ┊ ┊ ┊ ┊ ┊ 线 ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊

程序清单2010届毕业设计6月7日修改版

IF XE<0 THEN XXDIR:='1'; TXE:=-XE; ELSE

XXDIR:='0'; TXE:=XE; END IF; IF YE<0 THEN YYDIR:='1'; TYE:=-YE; ELSE

YYDIR:='0'; TYE:=YE; END IF; XDIR<=XXDIR; YDIR<=YYDIR; XXE<=TXE; YYE<=TYE; END PROCESS P1; P2:PROCESS(G,PUL)

VARIABLE xx:Integer RANGE 0 TO 65535; VARIABLE yy:Integer RANGE 0 TO 65535; VARIABLE F:Integer; VARIABLE NUM:Integer; VARIABLE YG:STD_LOGIC; VARIABLE XG:STD_LOGIC; BEGIN

IF G='1' THEN XX:=XXE; YY:=YYE; F:=0;

NUM:=abs(XE)+abs(YE);

共 25 页 第 19 页

┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ 装 ┊ ┊ ┊ ┊ ┊ 订 ┊ ┊ ┊ ┊ ┊ 线 ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊

程序清单2010届毕业设计6月7日修改版

elsIF PUL'EVENT AND PUL='1' THEN IF NUM/=0 then IF(F<0)then yy:=yy-1; YG:='1'; XG:='0'; F:=F+XXE; else xx:=xx-1; YG:='0'; XG:='1'; F:=F-YYE; END IF; NUM:=NUM-1; ELSE YG:='0'; XG:='0'; END IF; END IF;

XCP<=XG AND PUL; YCP<=YG AND PUL; END PROCESS P2; P3:PROCESS(CLK)

VARIABLE CP:STD_LOGIC; BEGIN

if CLK'EVENT AND CLK='0' THEN CP:=NOT(CP); END IF; PUL<=CP; END PROCESS P3; END sample;

共 25 页 第 20 页

┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ 装 ┊ ┊ ┊ ┊ ┊ 订 ┊ ┊ ┊ ┊ ┊ 线 ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊

程序清单2010届毕业设计6月7日修改版

LIBRARY IEEE;

USE IEEE.STD_LOGIC_1164.ALL; USE IEEE.STD_LOGIC_UNSIGNED.ALL; ENTITY APUL IS

PORT(G : IN STD_LOGIC;

XS : IN Integer RANGE -32768 TO 32767; YS : IN Integer RANGE -32768 TO 32767; XE : IN Integer RANGE -32768 TO 32767; YE : IN Integer RANGE -32768 TO 32767; CLK : IN STD_LOGIC; XDIR : OUT STD_LOGIC; YDIR : OUT STD_LOGIC; XP : OUT STD_LOGIC; YP : OUT STD_LOGIC); END APUL;

ARCHITECTURE sample OF APUL IS SIGNAL XCP:STD_LOGIC; SIGNAL YCP:STD_LOGIC; SIGNAL CLCK:STD_LOGIC;

SIGNAL XXS: Integer RANGE 0 TO 65535; SIGNAL YYS: Integer RANGE 0 TO 65535; SIGNAL XXE: Integer RANGE 0 TO 65535; SIGNAL YYE: Integer RANGE 0 TO 65535; BEGIN

XP<=XCP AND CLK; YP<=YCP AND CLK;

P1:PROCESS(XXE,YYE,XXS,YYS) VARIABLE XXDIR: STD_LOGIC; VARIABLE YYDIR: STD_LOGIC;

VARIABLE TXS: Integer RANGE 0 TO 65535; VARIABLE TYS: Integer RANGE 0 TO 65535;

共 25 页 第 21 页


基于FPGA的逐点比较圆弧插补算法设计(5).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:重庆市书法家协会会员名录

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: