打印
[Actel FPGA]

fpga里面操作I/O口问题

[复制链接]
1456|4
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
ljc01123|  楼主 | 2009-7-29 09:00 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
沙发
luoyuncong| | 2009-7-29 13:07 | 只看该作者

楼主是51学得太熟了吧,居然想到有CY位

使用特权

评论回复
板凳
ljc01123|  楼主 | 2009-7-29 16:11 | 只看该作者

到底有没有

可不可以这样操作呢,到底有没有这个寄存器呢

使用特权

评论回复
地板
虚拟电路| | 2009-8-14 12:01 | 只看该作者
下面是基于4位并行BCD加法器算法的一种快速BCD的加法器VERILOG硬件描述语言程序及其仿真结果。

module bcd_check (data_i,data_o,cy_i,cy_o,en,z_i,z_o);

input data_i;

input cy_i;

input z_i;

input en; //insructure

output cy_o;

output data_o;

output z_o;

wire [3:0] data_i;

wire cy_i;

wire en;

reg z_o;

reg cy_o;

reg [3:0] data_o;


 


//}} End of automatically maintained section

reg [4:0] TEMP_RESULT;


 


always @(data_i or cy_i or en )

if(en == 0)

begin

cy_o=cy_i;

data_o=data_i;

z_o=z_i;

end

else

begin

if(data_i[3]&&data_i[1] ||(data_i[3]&&data_i[2]) || cy_i==1)

TEMP_RESULT = {1'b0,data_i } + {1'b0,4'b0110 } + cy_i;

else

begin

TEMP_RESULT[3:0]=data_i;

TEMP_RESULT[4]=cy_i;

end

data_o = TEMP_RESULT[3:0];

z_o = | TEMP_RESULT[3:0];

cy_o = TEMP_RESULT[4];

end

例如:两个十进制数2189+8075的正确结果应为11064,可是,相加运算后的结果为FEH,为此应进行BCD调整。将为经校验的相加结果0010,1001,1000,1001(十进制2989)+1000,0000,0111,0101(十进制8075)=1010,1001,1111,1110代人上述BCD校验模块,可得仿真结果如图四。

使用特权

评论回复
5
虚拟电路| | 2009-8-14 12:01 | 只看该作者
好好看看上面的一段程序,可能有你的答案。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

12

主题

37

帖子

0

粉丝