verilog FPGA代码求助 20

管脚定义的时候我定义了[38:1]ioUSER为三态模式,现在想在时序逻辑里把[16:1]ioUSER作为input赋值给[15:0]Value,ioUSER[17]作为... 管脚定义的时候我定义了[38:1]ioUSER为三态模式,现在想在时序逻辑里把[16:1]ioUSER作为input赋值给[15:0]Value,ioUSER[17]作为output输出out_buffer怎么做呢。。。
inout [38:1]ioUSER;
reg [15:0]Value;
reg out_buffer;
展开
 我来答
林莫语
2013-07-01 · TA获得超过341个赞
知道小有建树答主
回答量:268
采纳率:0%
帮助的人:243万
展开全部
moudle tri_test(
    input    wire    clk,
    
    inout    [38:1]  USER

);

//首先明确一点io的使用位置,推荐只允许在顶层使用io,不要在子模块中使用

reg    [15:0] value;

reg    input_enable;
//----1.时序逻辑获取[16:1]----//
always @(posedge clk) begin
    //....
    //....此处省略
    if(input_enable)  begin  //想要将USER作为输入的标记
        value[15:0] <= user[16:1];    //作为输入的话可以直接用
        end
end

//----2.将out_buffer输出到第17bit----//


endmodule
追问
23,24两行?
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
厦门君韦信息技术
2024-11-18 广告
厦门君韦信息技术有限公司成立于2015年,是一家致力于提供专业服务的电子元件分销商,具有业界先进的质量和可靠性、强大的搜索供应实力、专业的服务能力。厦门君韦主要深耕于图像识别技术研究与开发,同时助推于通信、工控、电力、汽车等行业客户的供应链... 点击进入详情页
本回答由厦门君韦信息技术提供
allstars52
2013-07-01 · TA获得超过1596个赞
知道小有建树答主
回答量:593
采纳率:75%
帮助的人:587万
展开全部
对于双向端口,你需要把它变成一个输入信号 in,一个输出信号out, 和一个输出使能信号output_enable.

所以代码其实很简单:

Assign birsignal = output_enable ? out: 1’bz; //输出

Assign in = birsigna; //输入
追问
能接着答一下么?范例上确实是这么说的,也就是说不输出的时候赋值为高阻态,那么对于我只做输入口的ioUSER1到16可以直接定为高阻态么?顺便我是初学,想求教一下这里的几个语法
assign ioUSER[17]=enable?out_buffer:1'bz;

always @(negedge iMMCLK)
begin
[15:0]Value=[16:1]ioUSER;
end
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式