stepan

    1. 用FPGA实现CIMT编码 8/3718 FPGA/CPLD 2011-12-09
      看不明白
    2. EE_FPGA基础教程系列 -- NO.4--按键消抖 29/13668 FPGA/CPLD 2011-06-14
      好像是存在这个问题 而且这个 reg reg_low; reg reg1_low; always @(posedge clk  or negedge rst_n) begin if (!rst_n) begin   reg_low
    3. 整理的步进电机小知识问答 491/72612 工业自动化与控制 2011-06-10
      kankan
    4. VHDL高手指点,谢谢 58/15260 FPGA/CPLD 2011-06-10
      在设计上你可能存在缺陷,需要一个上电复位和一个手动置位.上电复位是用来置默认控制方式,而手动置位用来设置你需要进行的控制方式
    5. VHDL高手指点,谢谢 58/15260 FPGA/CPLD 2011-06-10
      50楼说我给弄复杂了:loveliness:
    6. 连警察都哭笑不得的违规情况!!! 7/4298 聊聊、笑笑、闹闹 2011-06-10
      咋便宜,咋方便,咋赚钱,咋弄
    7. VHDL高手指点,谢谢 58/15260 FPGA/CPLD 2011-06-10
      静等解决方法:)
    8. FPGA学习的几个问题 6/2975 FPGA/CPLD 2011-06-09
      硬件设计思想和软件设计思想有什么差别?
    9. 双向端口的仿真总结 5/4417 FPGA/CPLD 2011-06-09
      另外个双向端口的控制信号是不是就是实际读写中的读写信号呢?如果不是又是什么关系?
    10. 双向端口的仿真总结 5/4417 FPGA/CPLD 2011-06-09
      这个要顶,我是看过再看的。只是没回复:loveliness:
    11. VHDL高手指点,谢谢 58/15260 FPGA/CPLD 2011-06-09
      你写的状态机分成了时序部分和组合部分(第二个进程),但是在状态转换的条件需要通过计数器来计数实现。计数器计数是时序逻辑,你直接写进到组合逻辑中,导致计数器不能正确计数。
    12. 不是,是我看不懂,不知道那些端口信号是时钟呢还是普通信号
    13. VHDL高手指点,谢谢 58/15260 FPGA/CPLD 2011-06-09
      没错
    14. VHDL高手指点,谢谢 58/15260 FPGA/CPLD 2011-06-09
      里面错了点
    15. VHDL高手指点,谢谢 58/15260 FPGA/CPLD 2011-06-09
      LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; USE IEEE.STD_LOGIC_ARITH.ALL; USE IEEE.STD_LOGIC_UNSIGNED.ALL; ENTITY Controller IS PORT( --控制器输入信号 Clk:IN STD_LOGIC; --时钟输入信号,由分频模块分频后接入1Hz信号 Reset:IN STD_LOGIC; --复位信号,低电平有效,复位后交通灯全部熄灭 En:IN STD_LOGIC_VECTOR(1 DOWNTO 0); --四种工作模式选择信号 --控制器输出信号 Counter_a:BUFFER STD_LOGIC_VECTOR(5 DOWNTO 0); Counter_b:BUFFER STD_LOGIC_VECTOR(5 DOWNTO 0); --两个不同方向通行时间 Wr:OUT STD_LOGIC_VECTOR(1 DOWNTO 0); Ws:OUT STD_LOGIC_VECTOR(1 DOWNTO 0); Wl:OUT STD_LOGIC_VECTOR(1 DOWNTO 0); Wc:OUT STD_LOGIC_VECTOR(1 DOWNTO 0); --西面交通信号灯输出 Nr:OUT STD_LOGIC_VECTOR(1 DOWNTO 0); Ns:OUT STD_LOGIC_VECTOR(1 DOWNTO 0); Nl:OUT STD_LOGIC_VECTOR(1 DOWNTO 0); Nc:OUT STD_LOGIC_VECTOR(1 DOWNTO 0); --北面交通灯信号输出 Er:OUT STD_LOGIC_VECTOR(1 DOWNTO 0); Es:OUT STD_LOGIC_VECTOR(1 DOWNTO 0); El:OUT STD_LOGIC_VECTOR(1 DOWNTO 0); Ec:OUT STD_LOGIC_VECTOR(1 DOWNTO 0); --东面交通信号灯输出 Sr:OUT STD_LOGIC_VECTOR(1 DOWNTO 0); Ss:OUT STD_LOGIC_VECTOR(1 DOWNTO 0); Sl:OUT STD_LOGIC_VECTOR(1 DOWNTO 0); Sc:OUT STD_LOGIC_VECTOR(1 DOWNTO 0) --南面交通信号灯输出 ); END Controller; ARCHITECTURE Behav OF Controller IS TYPE STATES IS (LOAD,N_S,ES_WN,EW,WS_EN); --定义模式一与模式二的五个状态 SIGNAL count_a:STD_LOGIC_VECTOR(5 DOWNTO 0); SIGNAL count_b:STD_LOGIC_VECTOR(5 DOWNTO 0); --用于寄存计数器的具体值 SIGNAL state1,state2: STATES; --分别用于模式一与模式二的状态寄存器 BEGIN --各个模式及其状态转移 REG:PROCESS(Reset,Clk,state1,state2,count_b,count_a,en) BEGIN IF(Reset='0') THEN count_a
    16. 端口信号是什么意思??
    17. VHDL高手指点,谢谢 58/15260 FPGA/CPLD 2011-06-09
      需要,你记住你后面的一个进程是组合逻辑,不是时序逻辑。进行计数器则是时序逻辑,后面的count_a,count_b计数的时候都要分开写
    18. VHDL高手指点,谢谢 58/15260 FPGA/CPLD 2011-06-09
      你把状态机的组合逻辑和状态转移分开写了,所以你在组合逻辑部分进行自加或者自减,其结果是混乱的。你可以把需要进行自加或者自减的部分分离出来,如 process(reset,clk,current_state1,current_state2) begin if reset='0' then count
    19. VHDL高手指点,谢谢 58/15260 FPGA/CPLD 2011-06-09
      WHEN LOAD =>                              --模式一状态0 IF(count="000000") THEN Wr
    20. VHDL高手指点,谢谢 58/15260 FPGA/CPLD 2011-06-09
      可以在第二个进程中加入RESET信号 if rest='0' then elsif en="" then elsif en="" then

最近访客

< 1/1 >

统计信息

已有102人来访过

  • 芯积分:--
  • 好友:--
  • 主题:5
  • 回复:75

留言

你需要登录后才可以留言 登录 | 注册


现在还没有留言