屎壳郎长什么样子| 夏天用什么护肤品比较好| 怀孕血糖高有什么症状| 今年54岁属什么生肖| 射精无力是什么原因| 喉镜能检查出什么病| 吃姜对身体有什么好处| 甲状腺结节看什么科室最好| 鸡打瞌睡吃什么药| 甲亢病有什么症状| 贫血吃什么药最快| psv是什么| 牡丹和芍药有什么区别| 12月份是什么星座| 脚为什么会脱皮| 怀孕查甲功是什么意思| 阳虚有什么症状和表现| 做放疗的人吃什么好| 结扎是什么| 尿道结石有什么症状| 梦见理发是什么意思| 震仰盂什么意思| 快闪店是什么意思| 双侧乳腺小叶增生是什么意思| 药物流产后吃什么好| 嗓子疼吃什么药好得快| 杯葛是什么意思| 蛋白尿是什么原因引起的| 三个六代表什么意思| 阿司匹林什么时间吃最好| 枝柯是什么意思| 猪心炖什么治失眠| 3价铁离子是什么颜色| 痱子用什么药膏最有效| 椰子水是什么味道| hpv什么病| psy是什么意思| 胸部里面有个圆圆的硬东西是什么| daddy什么意思| 支气管炎吃什么药好得快| 秋葵有什么营养价值| 急性腹泻拉水吃什么药| 多囊卵巢综合征吃什么药| 蔓越莓是什么| 蜈蚣长什么样| 月痨病是什么病| 菌血症是什么病| 90年什么命| 尿路感染吃什么药最快| 怀孕前三个月为什么不能告诉别人| 才高八斗什么意思| 眼睛散光是什么原因造成的| crc是什么职业| 蚊子是什么动物| 黄皮果什么味道| 泰迪吃什么| domestic是什么意思| 心脏看什么科室| bl小说是什么意思| 不下面一个一念什么| 形体是什么意思| mpv是什么意思| gaba是什么| 为什么拉不出屎| 钻石王老五是什么意思| 什么是电解质饮料| 大浪淘沙下一句是什么| 金的部首是什么| 鬃狮蜥吃什么| 援交是什么意思| 筠字五行属什么| 精分什么意思| 鲁迅原名什么| 荠菜长什么样| 前列腺b超能检查出什么| 垂爱是什么意思| 来忘掉错对来怀念过去是什么歌| 回迁房是什么意思| 人为什么会发热| 压强是什么| 眼镜发明之前眼镜蛇叫什么| 屁股有痣代表什么| 膝盖跪着疼是什么原因| 万能受血者是什么血型| 人走了说什么安慰的话| 今天什么日子| 涉三什么意思| 单独粘米粉能做什么| 电轴右偏什么意思| 蒙古族信仰什么教| 保育费是什么意思| 痰湿体质吃什么中成药| 毫无保留什么意思| 佝偻病是缺什么| 蓁是什么意思| 什么是电子烟| 排卵期在什么时候| 蔓越莓是什么水果| 颉在姓氏里念什么| qn是什么医嘱| 每天吃葡萄有什么好处和坏处| 南非叶有什么功效| 总是打嗝是什么原因| 眉毛里面长痘痘是什么原因| 分分钟都妙不可言是什么歌| 喝了蜂蜜水不能吃什么| 什么是血小板| 西红柿炒什么好吃| 吃天麻对身体有什么好处| 大姨妈很多血块是什么原因| 美国为什么打伊拉克| 腿抽筋什么原因| 哮天犬是什么狗| 手脱皮是缺什么维生素| 缓缓是什么意思| 红薯什么时候掐尖| 扁桃体化脓是什么原因引起的| 春天可以干什么| 孕晚期羊水多了对宝宝有什么影响| 什么鸟好养又与人亲近| 6月9日什么星座| 包皮是什么| 奖励是什么意思| 肌张力障碍是什么病| 海子为什么自杀| yuri是什么意思| 什么树林| 心肌炎有什么症状和表现| 犬字旁的字和什么有关| 天蝎座有什么特点| 格格是什么身份| 紫薇花什么季节开花| 外耳道发炎用什么药| 红绿色盲是什么遗传| 廿二是什么意思| 梦见被狗追是什么意思| 铁蛋白低是什么意思| 宫外孕破裂有什么症状| 头秃了一块是什么原因| 什么什么的天空| 乞丐是什么生肖| 白带多用什么药效果好| 穷奢极欲什么意思| 泵的扬程什么意思| 接下来有什么节日| 固液法白酒是什么意思| 妇科炎症吃什么食物好| 月经一个月来两次什么原因| 鲅鱼是什么鱼| 看胃挂什么科室| 金蟾是什么| 盐酸多西环素片治什么病| 心代表什么生肖| 肠鸣吃什么药| 黄精什么功效| 同床出血什么原因呢| 一什么孩子| 什么的摇篮| 阴道发痒是什么原因| 痛风喝什么茶最好| 四方八面是什么生肖| modern是什么牌子| 吃完紧急避孕药不能吃什么| 梦见死去的朋友是什么意思| 三个又是什么字| 男人尿道炎吃什么药最好| 矽肺是什么意思| 水代表什么数字| 头顶一阵一阵疼是什么原因| 说辞是什么意思| 脖子肿是什么原因| 女人卵巢保养吃什么好| 喜欢紫色的女人是什么性格| 爱困总想睡觉什么原因| 猫在风水上代表什么| 女人下面有异味是什么原因| 石敢当是什么神仙| 德国什么东西值得买| ppd是什么意思| 月与什么有关| 4月17是什么星座| 为什么会失眠| 胃胀气用什么药最好| 六个坚持是什么| 66是什么意思| 讨扰是什么意思| 槟榔肝是由什么引起的| mlf是什么意思| 胃息肉有什么症状| 暗送秋波什么意思| 什么时候立秋| 去拉萨需要准备什么| 晚上手脚发热是什么原因| 鸡和什么菜一起烧好吃| 肝炎是什么原因引起的| 心理素质是什么意思| hscrp高是什么感染| 花生什么时候成熟| 上皮内低度病变是什么意思| 左眉上方有痣代表什么| 油蜡皮是什么皮| 梦到开车是什么意思| acth是什么| 博爱是什么意思| 什么叫数字货币| 什么木做菜板最好| 胃癌是什么原因引起的| 儿童便秘吃什么最管用| 撩 是什么意思| 参拜是什么意思| 夜尿多是什么原因引起的| 脑震荡后眩晕吃什么药| 头痛反胃想吐什么原因| 固执什么意思| 老想喝水是什么原因| lsil什么意思| 觊觎什么意思| 什么东西快速补血| 登革热是什么症状| 灰水是什么| 做了胃镜多久可以吃东西吃些什么| ahc是什么牌子| 金银花入什么经| 前庭功能是什么意思| 肛门疼痛用什么药| 巨蟹座有什么特点| 怀孕了不能吃什么| 雷字五行属什么| 六味地黄丸有什么作用| bg是什么意思| 红薯什么时候传入中国| 细菌高是什么原因| iwc手表是什么档次| 一个火一个日一个立念什么| 吃毓婷有什么副作用| 补气是什么意思| 精分是什么| 小便失禁是什么原因男性| 蓝朋友什么意思| 磁共振是查什么的| 品行是什么意思| 临床表现是什么意思| 扁桃体看什么科室| 做什么生意| 艺考是什么| 沙眼衣原体是什么| 7月八号是什么星座| 耗儿鱼是什么鱼| 公务员辞职做什么| 2月27是什么星座| 小孩割包皮挂什么科室| 灵芝长在什么地方| 手表seiko是什么牌子| 4像什么| 莲子不能和什么一起吃| 外来猫进家有什么预兆| vdo是什么牌子| 142是什么意思| 皮肤过敏不能吃什么食物| 过敏输液输什么药好| 对等是什么意思| 男士脸黑用什么能美白| 得宫颈癌的前兆是什么| 圣经是什么时候写的| 百度
这些小活动你都参加了吗?快来围观一下吧!>>
电子产品世界 ? 论坛首页 ? 嵌入式开发 ? FPGA ? 简易通用型PCI接口的VHDL-CPLD设计

共2条 1/1 1 跳转至

简易通用型PCI接口的VHDL-CPLD设计

菜鸟
2025-08-04 13:09:45     打赏
百度 一、创新目的为全面贯彻落实《中共中央关于加强新形势下党外代表人士队伍建设的意见》和《中共安徽省委关于加强新形势下党外代表人士队伍建设的实施意见》精神,全面了解和掌握全(安徽)省党外代表人士队伍发展现状和人员构成情况,着力解决存在的问题和不足,建设一支政治坚定、数量充足、结构合理、素质优良、作用突出的党外代表人士队伍,安徽省委统战部自2012年4月起启动实施“党外代表人士梯次选备计划”。

摘要: 从PCI时序分析入手,重点阐述了PCI通用的状态机设计,说明了用VHDL语言来实现本PIC通信状态机的软件设计以及进行MaxPlusII验证的程序和方法。用该方法所设计的接口既可支持PCI常规传输,又可支持PCI猝发传输。

关键词: PCI时序 CPLD器件 状态图 VHDL语言 PCI猝发传输

用CPLD设计所构成的CPI接口系统具有简洁、可靠等优点,是一种行之有效的设计途径。很多技术杂志和网站上,都有不少用CPLD设计PCI常规传输系统的文章。但用这些方法在MzxPlusII、Fundition等环境下进行模拟仿真时,其产生的时序往往与PCI规范有很大出入。虽然 Altera 等公司推出PCI核可以直接使用,但这样的内核占用CPLD资源较多,且能适配的器件种类少,同时价格也高,在实际设计应用中有很大的局限性。因此,使用通用型CPLD器件设计简易型PCI接口有很大的现实意义。在Compact接口的CPLD设计中,笔者根据PCI总线传输时序来进行状态机构造,并使用VHDL语言进行功能模拟和定时分析,从而达到了预期目的。用该方法设计的CPLD-PCI接口既可支持PCI常规传输,也可支持PCI猝发传输,而且在系统编程和下载器件方面,效果也都很好。

1 典型的CPLD-PCI接口模型简介

用CPLD作PCI接口所构成的系统模型如图1所示。这里,CPLD/FPGA用于完成PCI主/从传输时序的逻辑构成与变换,并对双口RAM进行适当操作。在整个系统的设计中,CPLD常常使用PCI总线的33MHz时钟,双口RAM常常选用高速器件来简化PCI传输的逻辑设计。


2 PCI总线传输时序分析

PCI总线传输至少需要40多条信号线,包括数据/地址线、接口控制线、仲裁、总线命令及系统线等。每次数据传输均由一个地址脉冲和一个或几个数据脉冲组成。一次传输一个地址和一个数据的称为常规传输;一次传输一个地址和一批数据的称为猝发传输。常用的控制信号有:帧同步信号FRAME、主设备准备好信号IRDY、从设备准备好信号TRDY、从设备选通信号DEVSEL、命令/字节信号C/BE等。图2 和图3分别给出了PCI单数据段和猝发操作时的读写时序。

分析PCI总线的传输时序,可以看出,PCI总线传输有以下几个显著特点:

(1)每次数据传输时首先传出地址和命令字,从设备一般可从地址中确定是不是对本机的访问,并确定访问的首地址;而从设备则从命令字中识别该访问是读操作还是写操作;

(2)读写访问只有在信号IRDY、TRDY、DEVSEL都为低状态时才能进行;

(3)猝发传输通常需要通过逻辑来实现地址的自动递加;

(4)主从设备中任一方没有准备好,操作中都需要能够引起等待状态插入的活动;

(5)系统通常在帧同步信号FRAME的下降沿诱发数据传输,而在上升沿指明只有一个数据或只剩下一个数据;

(6)读操作比写操作多一个中间准备过程。

图2

3 基于CPLD的状态机设计

3.1 状态机的构造

根据对上述时序图的分析,完成一个简易PCI总线传输需要设计六个状态:S0~S5,其中状态S0标识PCI总线空闲时期;状态S1标识地址与总线命令识别阶段;状态S2标识读操作入口的准备阶段;状态S3标识读/写访问周期;状态S4标识最后一个数据传输阶段;状态S5标识操作中的等待时期。

3.2 状态功能的确定

各状态所应执行的功能如下:

状态S0~S2用于对PCI总线置高信号TRDY和DEVSEL;对双口RAM则置高片选信号CS,以使读/写信号处于读状态,此时地址呈现三态。此外,在S1态还应依据地址信号来确定是不是对本机的选择,并识别是不是读或写操作。

状态S3~S4用于对PCI总线置低信号TRDY和DEVSEL;对双口RAM则产生片选信号CS、读或写信号,同时确定适当的读写访问地址。

状态S5用于对PCI总线置低信号TRDY和DEVSEL;并且对双口RAM置高片选信号CS,以使读/写信号处于读状态,此时地址呈现三态。

3.3 状态变化的确定

根据对PCI总线传输时序的分析,影响各个状态相互转化的因素是:帧同步信号FRAME、主设备准备好信号IRDY、从设备选择信号CS-MAP、读识别信号READ以及写识别信号WRITE。这里,可用CS-MAP、READ、WRITE来标识状态S1产生的中间识别信号。

图3

需要注意,在状态S1时要寄存收到的首地址,而在状态S3变化时要适时进行地址递增。

还要注意状态机设计时产生的容错问题,以便在非设计状态下能够无条件回到空闲态S0。

由于采用的是高速双口RAM,并且规划分开了RAM两侧的写操作区域,因此可以认为:RAM是可以任意访问的。

3.4 状态图的规划

综上所述便可得出如图4所示的设计规划图。



4 VHDL语言的描述

设计时,使用三个进程和几个并行语句可实现整个CPLD的功能:一个进程用于完成从设备及其读写操作的识别;一个进程用于完成操作地址的获取与地址的递增;第三个进程完成状态机的变化。用几个并行语句完成操作信号的产生时,需要注意,各状态所完成的功能要用并行语句实现,不能再用进程,否则就会引起逻辑综合的麻烦,有时甚至根本不能综合。整 个程序如下:

LIBRARY ieee;

USE ieee.std_logic_1164.All;

USE ieee.std_logic_unsigned.ALL;

ENTTTY cpci IS

PORT(clk,rst,frame,irdy:IN STD_LOGIC;

ad_high : IN STD_LOGIC_VECTOR(31 downto 24);

ad_low : IN STD_LOGIC_VECTOR(12 downto 0);

c_be : IN STD_LOGIC_VECTOR(3 downto 0);

trdy,devsel:OUT STD_LOGIC;

cs, r_w :OUT STD-LOGIC;

addr: OUT STD_LOGIC_VECTOR(12 downto 0);

END cpci;

ARCHITECTURE behave OF cpci IS

SIGNAL addr_map : STD_LOGIC_VECTOR(12 downto 0);

SIGNAL read,write,cs-map:STD_LOGIC;

TYPE state_type IS(s0,s1,s2,s3,s4,s5);

SIGNAL state: state_type;

BEGIN

Identify: PROCESS(clk)- -读、写、从设备的识别

BEGIN

IF rising_edge(clk)THEN

IF c_be=X"6"AND ad_high=X"50"AND state=s1

HTEN read < = '0'; - -读

write < = '1';

cs_map < ='0';

ELSIF c_be=X"7"AND ad_high= X"50"

AND state=s1 THEN

read < = '1'; - -写

write < = '0';

cs_map < ='0';

ELSIF state=s0 THEN

read < = '1';

write < = '1';

cs_map < ='1';

END IF;

END IF;

END PROCESS;

Addr_count:PROCESS (clk) - -操作地址的获取与地址的递增

BEGIN

IF falling_edge(clk)THEN

IF state=s1 THEN addr_map< =ad-low;

ELSIF state=s3 THEN addr_map< =addr-map+1;

END IF;

END IF;

END PROCESS;

- - 操作信号的产生

addr < = addr-map WHEN state=s3 OR state=s4

ELSE "ZZZZZZZZZZZZZ"

trdy < = '0' WHEN state=s3 OR state=s4 OR state=s5

ELSE '1';

devsel < = '0'WHEN state=s3 OR state=s4 OR state=s5

ELSE'1';

cs < ='0'WHEN state=s3 OR state=s4 ELSE '1';

r-w < =NOT clk WHEN write='0'AND (state=s3 OR state=s4)ELSE'1';

state-change:PROCESS(clk,rst) - - 状态机的变化

BEGIN

IF rst='0'THEN state < = s0;

ELSIF falling-edge(clk)THEN

CASE state IS

WHEN s0 = >

IF frame='1'AND irdy='1'THEN state < = s0;

ELSIF frame='0' AND irdy= '1' THEN state < = s1;

END IF;

WHEN s1 = >

IF cs_map='1'OR (read='1'AND write ='1')

THEN state < = s0;

ELSIF irdy='1'AND read='0' THEN state < =s2;

ELSIF frame='0'AND irdy='0'AND write='0'

THEN state < = s3;

ELSIF frame='1'AND irdy='0'AND write='0'

THEN state < = s4;

END IF;

WHEN s2 = >

IF frame='1'AND irdy='1'THEN state < = s0;

ELSIF frame='0'AND irdy='0'AND read='0'

THEN state < = s3;

ELSIF frame='1'AND irdy='0'AND read='0'

THEN state < = s4;

END IF;

WHEN s3 = >

IF frame='1'AND irdy='1'THEN state < = s0;

ELSIF frame='0' AND irdy= '1' THEN state < = s5;

ELSIF frame='1'AND irdy='0' THEN state < =s4;

ELSIF frame='0' AND irdy= '1' THEN state < = s3;

END IF;

WHEN s4 = >

ELSIF frame='1'AND irdy='0'THEN state < = s4;

END IF;

WHEN s5 = >

IF frame='1'AND irdy='1'THEN state < = s0;

ELSIF frame='0' AND irdy= '0'THEN state < = s3;

ELSIF frame='1'AND irdy='0' THEN state < =s4;

ELSE state < = s5;

END IF;

WHEN OTHERS = > state < = s0;

END CASE;

END IF;

END PROCESS state_change;

END behave。

图5

5 MaxPlusII的验证

设计CPLD时,可使用MaxPlusII软件来进行逻辑综合、功能模拟与定时分析。本例选用 Altera 的Max7000系列在系统可编程器件EPM7064SLC84-5。图5所示是其读写访问的仿真波形图。




关键词: 简易     通用型     接口     VHDL-CPLD     设计     时序    

菜鸟
2025-08-04 13:11:19     打赏
2楼
re

共2条 1/1 1 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册 ]
王维字什么 孕妇耳鸣是什么原因引起的 阿胶是什么 炜字五行属什么 肠系膜淋巴结肿大吃什么药
看见双彩虹有什么征兆 节度使是什么意思 开诚布公什么意思 农历五月属什么生肖 元首是什么意思
五月四号什么星座 头疼头胀是什么原因 消融术是什么手术 回煞是什么意思 万圣节应该送什么礼物
怕老婆的男人说明什么 白头发有什么方法变黑 三十如狼四十如虎什么意思 多囊为什么要吃避孕药 老师的老公叫什么
早上8点到9点是什么时辰hcv9jop3ns4r.cn 女生被摸胸是什么感觉hcv9jop4ns5r.cn 三顾茅庐什么意思hcv8jop3ns9r.cn 自我感动是什么意思creativexi.com 濯清涟而不妖的濯是什么意思wuhaiwuya.com
贫血吃什么药效果好adwl56.com 北斗是什么意思cj623037.com 毫米后面的单位是什么hcv9jop6ns6r.cn 玫瑰痤疮是什么原因hcv7jop7ns1r.cn 六味地黄丸什么功效hcv9jop0ns5r.cn
iga肾病是什么意思hcv9jop1ns0r.cn 穿什么好呢hcv9jop1ns5r.cn 130是什么意思hcv9jop7ns1r.cn 投喂是什么意思hcv8jop9ns5r.cn 孔子的原名叫什么hcv9jop2ns3r.cn
儿童便秘吃什么最快排便fenrenren.com 恩惠是什么意思hcv9jop8ns0r.cn 经常射精有什么伤害hcv7jop5ns1r.cn trust什么意思hcv9jop1ns8r.cn 血糖吃什么食物好hcv8jop7ns9r.cn
百度