完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
你好,我有PS2键盘接口控制器的问题我试图在Verilog中实现。
我怀疑我的两个双向端口,PS2时钟和PS2数据。 我的顶级模块是zad5,它包含一个合适的主机PS2模块。 从键盘传入的数据在hostPS2中处理。 HostPS2还处理从主机到键盘的传输(例如设置键盘的LED) - 通过拉线ps2_clk_o和ps2_data_o为低(因为它们在三态缓冲器ps2clk和ps2data中启用信号并来自hostPS2模块)。 说实话,我不知道,如果我的接线没问题。 我读了很多关于PS2接口的信息,发现数据和时钟线都是'开放收集器'类型,所以从主机到键盘的传输应该用三态缓冲器驱动。 我还想为我的顶级模块创建一个测试平台。 我在生成时钟和数据信号方面存在问题(如键盘那样),因为编译器会出现如下错误: 错误:HDLCompiler:731 - “zad5_test.v”第39行。不允许对非寄存器ps2_clk_io进行程序分配错误:HDLCompiler:731 - “zad5_test.v”第40行。不允许对非寄存器ps2_data_io进行过程分配 我猜我的双向端口有问题。 如果有人能提供帮助,我会很高兴,我正在开始使用HDL语言进行冒险。 这是我的代码: 模块zad5(clk_i,rst_i,ps2_clk_io,ps2_data_io); 输入clk_i,rst_i; inout ps2_clk_io,ps2_data_io; wire ps2_data_o; wire ps2_clk_o; hostPS2 h(.clk_i(clk_i),。KBDclk_i(ps2_clk_io),. KBDdata_i(ps2_data_io),. reset_i(rst_i),。KBDclk_en_o(ps2_clk_o),. KBDdata_en_o(ps2_data_o)); bufif0 ps2clk(ps2_clk_io,1'b0,ps2_clk_o); bufif0 ps2data(ps2_data_io,1'b0,ps2_data_o); endmodule 模块hostPS2(clk_i,KBDclk_i,KBDdata_i,reset_i,KBDclk_en_o,KBDdata_en_o); 输入clk_i,reset_i; 输入KBDclk_i,KBDdata_i; //应该是inout,还是只是输入? 输出reg KBDclk_en_o = 1'b1; 输出reg KBDdata_en_o = 1'b1; 总是@(posedge clk5MHz_i或posedge reset_i) 开始 //这里有一些代码 结束 endmodule |
|
相关推荐
3个回答
|
|
你好,我有PS2键盘接口控制器的问题我试图在Verilog中实现。
我怀疑我的两个双向端口,PS2时钟和PS2数据。 在ISE Navigator shell中,单击灯泡图标。 这将打开“语言模板”窗口。 在这些模板中,您将找到许多构造的编码示例,包括双向IO。 以下是您将找到的示例: inout; wire ,,,; assign =? :1'bz; assign =; 从你的帖子: 错误:HDLCompiler:731 - “zad5_test.v”第39行。不允许对非寄存器ps2_clk_io进行程序分配错误:HDLCompiler:731 - “zad5_test.v”第40行。不允许对非寄存器ps2_data_io进行过程分配 我猜我的双向端口有问题。 如果有人能提供帮助,我会很高兴,我正在开始使用HDL语言进行冒险。 这是我的代码: 两个问题: 你没有标记第39行和第40行.Duh! 您不包含模块bufif0的代码 也许你的双向信号编码语法是唯一的问题。 查看应用模板表单是否有效。 - 鲍勃埃尔金德 签名:新手的自述文件在这里:http://forums.xilinx.com/t5/New-Users-Forum/README-first-Help-for-new-users/td-p/219369总结:1。 阅读手册或用户指南。 你读过手册了吗? 你能找到手册吗?2。 搜索论坛(并搜索网页)以寻找类似的主题。 不要在多个论坛上发布相同的问题。 不要在别人的主题上发布新主题或问题,开始新的主题!5。 学生:复制代码与学习设计不同.6“它不起作用”不是一个可以回答的问题。 提供有用的详细信息(请与网页,数据表链接).7。 您的代码中的评论不需要支付额外费用。 我没有支付论坛帖子的费用。 如果我写一篇好文章,那么我一无所获。 |
|
|
|
好的,谢谢你的回复。
我将尝试使用模板。我的测试平台看起来像这样(有7seg显示的端口,但我在之前的代码中跳过它们):`timescale 1ns / 1psmodule zad5_test; //输入reg clk_i; reg rst_i; //输出wire [3:0] led7_seg_an; wire [7:0] led7_seg_o; //比尔斯线ps2_clk_io; wire ps2_data_io; //实例化被测单位(UUT)zad5 uut(.clk_i(clk_i),. first_i(rst_i),. led7_seg_an(led7_seg_an),. led7_seg_o(led7_seg_o),. ps2_clk_io(ps2_clk_io),. ps2_data_io(ps2_data_io)); 总是开始#10 clk_i = ~clk_i; 结束初始开始clk_i = 1'b0; ps2_clk_io = 1; ps2_data_io = 1; rst_i = 1; #1000; rst_i = 0; #70000 ps2_data_io = 0; //起始位#16500 ps2_clk_io = 0; #33000 ps2_clk_io = 1; #16500 ps2_data_io = 0; // bit 0#16500 ps2_clk_io = 0; #33000 ps2_clk_io = 1; #16500 ps2_data_io = 0; // bit 1#16500 ps2_clk_io = 0; #33000 ps2_clk_io = 1; #16500 ps2_data_io = 0; // bit 2#16500 ps2_clk_io = 0; #33000 ps2_clk_io = 1; #16500 ps2_data_io = 1; // bit 3#16500 ps2_clk_io = 0; #33000 ps2_clk_io = 1; #16500 ps2_data_io = 1; // bit 4#16500 ps2_clk_io = 0; #33000 ps2_clk_io = 1; #16500 ps2_data_io = 1; // bit 5#16500 ps2_clk_io = 0; #33000 ps2_clk_io = 1; #16500 ps2_data_io = 0; // bit 6#16500 ps2_clk_io = 0; #33000 ps2_clk_io = 1; #16500 ps2_data_io = 0; // bit 7#16500 ps2_clk_io = 0; #33000 ps2_clk_io = 1; #16500 ps2_data_io = 0; //奇偶校验位#16500 ps2_clk_io = 0; #33000 ps2_clk_io = 1; #16500 ps2_data_io = 1; //停止位#16500 ps2_clk_io = 0; #33000 ps2_clk_io = 1; 结束endmodule据我记得当然,在Verilog中,bufif0是一个原语,如NAND或NOR门,代表三态缓冲器,低电平有效使能。 我错了吗? 我没有这个模块的任何代码。 |
|
|
|
据我记得,当然,在Verilog中,bufif0是一个原语,如NAND或NOR门,代表三态缓冲器,低电平有效使能。
我错了吗? 你是对的。 这是我第一次注意到这一点,我感谢你! - 鲍勃埃尔金德 签名:新手的自述文件在这里:http://forums.xilinx.com/t5/New-Users-Forum/README-first-Help-for-new-users/td-p/219369总结:1。 阅读手册或用户指南。 你读过手册了吗? 你能找到手册吗?2。 搜索论坛(并搜索网页)以寻找类似的主题。 不要在多个论坛上发布相同的问题。 不要在别人的主题上发布新主题或问题,开始新的主题!5。 学生:复制代码与学习设计不同.6“它不起作用”不是一个可以回答的问题。 提供有用的详细信息(请与网页,数据表链接).7。 您的代码中的评论不需要支付额外费用。 我没有支付论坛帖子的费用。 如果我写一篇好文章,那么我一无所获。 |
|
|
|
只有小组成员才能发言,加入小组>>
2473 浏览 7 评论
2860 浏览 4 评论
Spartan 3-AN时钟和VHDL让ISE合成时出现错误该怎么办?
2321 浏览 9 评论
3406 浏览 0 评论
如何在RTL或xilinx spartan fpga的约束文件中插入1.56ns延迟缓冲区?
2502 浏览 15 评论
有输入,但是LVDS_25的FPGA内部接收不到数据,为什么?
2152浏览 1评论
请问vc707的电源线是如何连接的,我这边可能出现了缺失元件的情况导致无法供电
644浏览 1评论
求一块XILINX开发板KC705,VC707,KC105和KCU1500
503浏览 1评论
2053浏览 0评论
783浏览 0评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2025-2-2 20:11 , Processed in 1.414810 second(s), Total 79, Slave 63 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号