mcuhost 发表于 2009-3-25 22:29:03

请教CPLD很菜的问题,望大家不吝赐教

本人,是做单片机开发的,前些天老板分配个CPLD项目给我,我现在想问一下,如果我想控制某一个特定的IO口输出某一电平,该怎么做?
也就是说:以前单片机可以通过直接对端口复实现对IO的操作,但是CPLD如何做呢?

比如说:
/*
多路选择器,a为1则选择b,为0则选择c,结果输出到数码管显示
a: key1
b: dial
c: dial
*/
module mux(a,b,c,d,en);

input a;
inputb;
inputc;
output d;
reg d;
outputen;

wire d_tmp;

assign en=8'b11111110;

assign d_tmp=a? b:c;

always@(d_tmp)
begin
    case(d_tmp)
      4'b0000:
            d=8'b0000_0011;
      4'b0001:
            d=8'b1001_1111;
      4'b0010:
            d=8'b0010_0101;
      4'b0011:
            d=8'b0000_1101;
      4'b0100:
            d=8'b1001_1001;
      4'b0101:
            d=8'b0100_1001;
      4'b0110:
            d=8'b0100_0001;
      4'b0111:
            d=8'b0001_1111;
      4'b1000:
            d=8'b0000_0001;
      4'b1001:
            d=8'b0001_1001;
      4'b1010:
            d=8'b0001_0001;
      4'b1011:
            d=8'b1100_0001;
      4'b1100:
            d=8'b0110_0011;
      4'b1101:
            d=8'b1000_0101;
      4'b1110:
            d=8'b0110_0001;
      4'b1111:
            d=8'b0111_0001;
   endcase
end
endmodule

我的数码管应该接到cpld哪个IO上呢?

别叫我看书去啊,我是看了书不明白才来的,望指教

zcllom 发表于 2009-3-25 22:35:17

output d;
   reg d;
望文生义可能是d口,因为它被定义为8位寄存器型输出口。

zgq800712 发表于 2009-3-28 13:25:40

接在d口上

elchb 发表于 2009-3-28 13:48:39

cpld要分配管脚才知道接到那个IO上的。

laoxizi 发表于 2009-3-28 13:52:48

要在那个管脚输出,直接锁定就好 了。

cddyy 发表于 2009-3-28 14:26:00

在quartus里选择 PIN 设置,任意指定引脚。

neu_blur 发表于 2009-4-11 12:49:38

cpld上的用户IO都是可以随便使用的,你想接到哪个脚上就接到哪个脚上,在IDE中设定一下就行了
页: [1]
查看完整版本: 请教CPLD很菜的问题,望大家不吝赐教